public class SerialGenerator{
public string req(string strPrefix){
Console.WriteLine("req:"+strPrefix);
string curSer = this.lastSerial(strPrefix);
Console.WriteLine("current Serial:"+curSer);
int seqCurrent = this.getSeq(curSer);
string reFmtSerial = this.reformatSerial(strPrefix, string.Format("{0}",seqCurrent + 1));
Console.WriteLine("reFmtSerial:"+reFmtSerial);
private int getSeq(string currentSerial){
string[] cSerial = currentSerial.Split('-');
return Convert.ToInt32(cSerial[0]);
private string lastSerial(string segment){
strSerial = myApiCall(segment);
private string reformatSerial(string strPrefix,string strInput){
string strFmtSerial=string.Format(strPrefix,strInput);
private string myApiCall(string param){
Random rnd = new Random();
int iRandom = rnd.Next(1, 13);
return string.Format("{0}-SN",iRandom);
public static void Main()
Console.WriteLine("Hello World");
SerialGenerator serialGen = new SerialGenerator();
string fmtPattern = "{0}-SN";
string ret = serialGen.req(fmtPattern);
Console.WriteLine(string.Format("Serial: {0}",ret));