using System.Collections.Generic;
public static void Main()
bool b = ValidateReturnPeriod("2019-12");
private static bool ValidateReturnPeriod(string sReturnPeriod)
string sDateFrom, sDateTo;
if (sReturnPeriod.Length != 7 || string.IsNullOrEmpty(sReturnPeriod.Trim()))
throw new ArgumentException();
if ((sReturnPeriod.Split('-')[0].Length != 4) || (sReturnPeriod.Split('-')[1].Length != 2))
throw new ArgumentException();
IEnumerable<DateTime> fdate = DateRange(sReturnPeriod);
sDateFrom = string.Format("{0:yyyy-MM-dd}", fdate.ElementAt(0));
sDateTo = string.Format("{0:yyyy-MM-dd}", fdate.ElementAt(1));
catch (Exception __unusedException1__)
private static IEnumerable<DateTime> DateRange(string returnPeriod)
const short MIDYEAR = 20;
const short DECEMBER = 12;
short year = Convert.ToInt16(returnPeriod.Substring(0, 4));
short period = Convert.ToInt16(returnPeriod.Substring(5, 2));
DateTime dateFrom = new DateTime();
DateTime dateTo = new DateTime();
dateFrom = new DateTime(year, period.Equals(MIDYEAR) ? JANUARY : period, JANUARY);
if (Enumerable.Range(JANUARY, DECEMBER).Contains(period))
dateTo = (isQtr ? dateFrom.AddMonths(QUARTER) : dateFrom.AddMonths(JANUARY)).AddDays(-JANUARY);
dateTo = dateFrom.AddMonths(DECEMBER).AddDays(-JANUARY);