public static void Main( )
System.Console.WriteLine("Write your code at here");
DateTime dateTime = DateTime.Now;
string date = dateTime.ToString("dd/MM/yyyy");
int dateNumber = Int32.Parse(date.Replace("/", ""));
string pin = GenerateKeyValue(dateTime, dateNumber, 1);
pin = pin.Replace('-', '0');
pin = pin.PadLeft(9, '0');
string newPin = pin[pin.Length - 1].ToString() +
pin[pin.Length - 3].ToString() +
pin[pin.Length - 5].ToString() +
pin[pin.Length - 7].ToString() +
pin[pin.Length - 9].ToString();
System.Console.WriteLine("Generated Final Pin: "+ newPin);
public static string GenerateKeyValue(DateTime dateTime, int dateNumber, int version)
int year = dateTime.Year;
int month = dateTime.Month;
System.Console.WriteLine("Day: "+day +" Month: "+month + " Year :" +year + " DayOfYear :" + dateTime.DayOfYear + " dateNumber :" + dateNumber);
System.Console.WriteLine("FirstPart :" + (dateNumber * ((day * month) + (day * year)))
+" ThirdPart :" + ((day * month) * day)
+" FourthPart :" + (dateTime.DayOfYear - (month * day))
int cal = (dateNumber * ((day * month) + (day * year))) - day - ((day * month) * day) - (dateTime.DayOfYear - (month * day));
System.Console.WriteLine(Convert.ToString(cal));
return Convert.ToString(cal);
return Convert.ToString((dateNumber * ((month * month) + (day * year))) - day - ((day * month) * day) - (dateTime.DayOfYear - (month * day)));
return Convert.ToString((dateNumber * ((year * month) + (day * year))) - day - ((day * month) * day) - (dateTime.DayOfYear - (month * day)));
return GenerateKeyValue(dateTime, dateNumber, 1);