private static Course GenerateCourse(FormCollection collection) { Course toReturn = new Course(); toReturn.StartDate = Convert.ToDateTime(collection["service_start_date"]); toReturn.EndDate = Convert.ToDateTime(collection["service_end_date"]); toReturn.PaymentMeasures = new List <PaymentMeasure>(); int a = 1; while (collection["currency_" + a.ToString()] != null) { PaymentMeasure measure = new PaymentMeasure(); measure.Currency = collection["currency_" + a.ToString()]; measure.ValueMeasure = collection["measure_" + a.ToString()]; measure.PricePerUnit = Convert.ToDouble(collection["price_" + a.ToString()]); measure.Description = collection["price_description_" + a.ToString()]; toReturn.PaymentMeasures.Add(measure); ++a; } if (collection["is_time_defined"] == "on") { toReturn.StartDate = toReturn.StartDate.AddHours(Convert.ToDouble(collection["service_start_time"].Split(':')[0])); toReturn.StartDate = toReturn.StartDate.AddMinutes(Convert.ToDouble(collection["service_start_time"].Split(':')[1])); toReturn.EndDate = toReturn.EndDate.AddHours(Convert.ToDouble(collection["service_end_time"].Split(':')[0])); toReturn.EndDate = toReturn.EndDate.AddMinutes(Convert.ToDouble(collection["service_end_time"].Split(':')[1])); } if (collection["week_gradation_type"] == "day_hour") { toReturn.IsDefined = true; string[] days = new string[] { "mon", "tue", "wed", "thu", "fri", "sat", "sun" }; DefinedCourseParams parameters = new DefinedCourseParams(); parameters.Days = new List <Day>(); for (int i = 0; i < days.Count(); ++i) { if (collection[days[i]] == "on") { parameters.Days.Add(new Day { DayOfWeek = (DayOfWeek)(i + 1), StartTime = new TimeSpan( Convert.ToInt32(collection[days[i] + "StartTime"].Split(':')[0]), Convert.ToInt32(collection[days[i] + "StartTime"].Split(':')[1]), 0), EndTime = new TimeSpan( Convert.ToInt32(collection[days[i] + "EndTime"].Split(':')[0]), Convert.ToInt32(collection[days[i] + "EndTime"].Split(':')[1]), 0), }); } } toReturn.Parameters = parameters; } else if (collection["week_gradation_type"] == "day_duration") { int b = 1; UndefinedCourseParams parameters = new UndefinedCourseParams(); parameters.Days = new Dictionary <int, int>(); while (collection["day" + b.ToString() + "Duration"] != null) { parameters.Days.Add(b, int.Parse(collection["day" + b.ToString() + "Duration"])); ++b; } toReturn.Parameters = parameters; } return(toReturn); }
private static Session GenerateSession(FormCollection collection) { Session toReturn = new Session(); string[] days = new string[] { "mon", "tue", "wed", "thu", "fri", "sat", "sun" }; toReturn.Days = new List <Day>(); for (int i = 0; i < days.Count(); ++i) { if (collection[days[i]] == "on") { toReturn.Days.Add(new Day { DayOfWeek = (DayOfWeek)(i + 1), StartTime = new TimeSpan( Convert.ToInt32(collection[days[i] + "StartTime"].Split(':')[0]), Convert.ToInt32(collection[days[i] + "StartTime"].Split(':')[1]), 0), EndTime = new TimeSpan( Convert.ToInt32(collection[days[i] + "EndTime"].Split(':')[0]), Convert.ToInt32(collection[days[i] + "EndTime"].Split(':')[1]), 0), }); } } toReturn.TimeMeasure = new List <TimeMeasure>(); int a = 1; while (collection["range_type_" + a.ToString()] != null) { TimeMeasure measure = new TimeMeasure(); int maxDays = 0, maxHours = 0, maxMinutes = 0; if (collection["service_max_measure_" + a.ToString()] != null) { switch (collection["service_max_measure_" + a.ToString()]) { case "minutes": maxMinutes = Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; case "hours": maxHours = Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; case "days": maxDays = Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; case "weeks": maxDays = 7 * Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; case "months": maxDays = 30 * Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; } } measure.MaxDuration = new TimeSpan(maxDays, maxHours, maxMinutes, 0); int minDays = 0, minHours = 0, minMinutes = 0; if (collection["service_min_measure_" + a.ToString()] != null) { switch (collection["service_min_measure_" + a.ToString()]) { case "minutes": minMinutes = Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; case "hours": minHours = Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; case "days": minDays = Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; case "weeks": minDays = 7 * Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; case "months": minDays = 30 * Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; } } measure.MinDuration = new TimeSpan(minDays, minHours, minMinutes, 0); measure.Description = collection["duration_description_" + a.ToString()]; toReturn.TimeMeasure.Add(measure); ++a; } a = 1; toReturn.PaymentMeasure = new List <PaymentMeasure>(); while (collection["currency_" + a.ToString()] != null) { PaymentMeasure measure = new PaymentMeasure(); measure.Currency = collection["currency_" + a.ToString()]; measure.ValueMeasure = collection["measure_" + a.ToString()]; measure.PricePerUnit = Convert.ToDouble(collection["price_" + a.ToString()]); measure.Description = collection["price_description_" + a.ToString()]; toReturn.PaymentMeasure.Add(measure); ++a; } return(toReturn); }
private static Deadline GenerateDeadline(FormCollection collection) { Deadline toReturn = new Deadline(); toReturn.TimeMeasures = new List <TimeMeasure>(); int a = 1; while (collection["range_type_" + a.ToString()] != null) { TimeMeasure measure = new TimeMeasure(); int maxDays = 0, maxHours = 0, maxMinutes = 0; if (collection["service_max_measure_" + a.ToString()] != null) { switch (collection["service_max_measure_" + a.ToString()]) { case "minutes": maxMinutes = Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; case "hours": maxHours = Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; case "days": maxDays = Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; case "weeks": maxDays = 7 * Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; case "months": maxDays = 30 * Convert.ToInt32(collection["service_max_duration_" + a.ToString()]); break; } } measure.MaxDuration = new TimeSpan(maxDays, maxHours, maxMinutes, 0); int minDays = 0, minHours = 0, minMinutes = 0; if (collection["service_min_measure_" + a.ToString()] != null) { switch (collection["service_min_measure_" + a.ToString()]) { case "minutes": minMinutes = Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; case "hours": minHours = Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; case "days": minDays = Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; case "weeks": minDays = 7 * Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; case "months": minDays = 30 * Convert.ToInt32(collection["service_min_duration_" + a.ToString()]); break; } } measure.MinDuration = new TimeSpan(minDays, minHours, minMinutes, 0); toReturn.TimeMeasures.Add(measure); measure.Description = collection["duration_description_" + a.ToString()]; ++a; } a = 1; toReturn.PaymentMeasures = new List <PaymentMeasure>(); while (collection["currency_" + a.ToString()] != null) { PaymentMeasure measure = new PaymentMeasure(); measure.Currency = collection["currency_" + a.ToString()]; measure.ValueMeasure = collection["measure_" + a.ToString()]; measure.PricePerUnit = Convert.ToDouble(collection["price_" + a.ToString()]); measure.Description = collection["price_description_" + a.ToString()]; toReturn.PaymentMeasures.Add(measure); ++a; } return(toReturn); }