public ActionResult UpdateHoliday(FormCollection frmcollection) { HolidayTable holiinfo = null; int ParsedIntID = int.Parse(frmcollection["ID"]); holiinfo = db.HolidayTable.Find(ParsedIntID); if (holiinfo != null) { //compinfo.CompanyCode = frmcollection["CompanyCode"].ToString(); holiinfo.HolidayTableDate = Convert.ToDateTime(frmcollection["Date"].ToString()).Date; holiinfo.HolidayTableDescription = frmcollection["Description"].ToString(); db.Entry(holiinfo).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } else { throw new Exception("Invalid transaction."); } int parsedID = int.Parse(frmcollection["ID"]); SearchHolidayTableViewModel searchholiday = new SearchHolidayTableViewModel(); searchholiday.HolidayList = db.HolidayTable.SqlQuery("Select * from HolidayTables").ToList(); return(View("ViewHolidayTable", searchholiday)); }
public static bool IsWorkDay(DateTime date) { var row = HolidayTable.AsEnumerable().SingleOrDefault(c => c["Date"].ToString() == date.Date.ToString()); if (row != null) { return(row["IsHoliday"].ToString() == "0"); } else { return(date.DayOfWeek != DayOfWeek.Saturday && date.DayOfWeek != DayOfWeek.Sunday); } }
public ActionResult AddHoliday(string Month, string Day, string Year, string Description) { SearchHolidayTableViewModel SearchHolidayViewModels = new SearchHolidayTableViewModel(); HolidayTable HolidayAssignment = new HolidayTable(); //CONDITION string Date = Month + "/" + Day + "/" + Year; HolidayAssignment.HolidayTableDate = Convert.ToDateTime(Date).Date; HolidayAssignment.HolidayTableDescription = Description; db.HolidayTable.Add(HolidayAssignment); db.SaveChanges(); SearchHolidayViewModels.HolidayList = db.HolidayTable.SqlQuery("Select * from HolidayTables").ToList(); return(View("ViewHolidayTable", SearchHolidayViewModels)); }
// GET: MaintenanceHolidayTable public ActionResult ViewHolidayTable(FormCollection frm) { if (frm.Count == 0) { SearchHolidayTableViewModel SearchHolidayViewModels = new SearchHolidayTableViewModel(); SearchHolidayViewModels.HolidayList = db.HolidayTable.SqlQuery("Select * from HolidayTables").ToList(); return(View(SearchHolidayViewModels)); } else if (frm.Count >= 1) { int parsedID = int.Parse(frm["HolidayTableId"]); HolidayTable holiday = db.HolidayTable.Find(parsedID); db.HolidayTable.Remove(holiday); db.SaveChanges(); return(RedirectToAction("ViewHolidayTable")); } return(View()); }
public static DateTime GetTimeoutDate(DateTime start, int workDays) { DateTime time = start; while (workDays > 0) { var holiday = HolidayTable.AsEnumerable().SingleOrDefault(c => c["Year"].ToString() == time.Year.ToString() && c["Month"].ToString() == time.Month.ToString() && c["Day"].ToString() == time.Day.ToString()); time = time.AddDays(1); if (holiday != null) { if (holiday["IsHoliday"].ToString() == "0") { workDays--; } } else if (time.DayOfWeek >= DayOfWeek.Monday && time.DayOfWeek <= DayOfWeek.Friday) //周一~周五 { workDays--; } } return(time); }
public static DateTime GetTimeoutTime(DateTime start, int workHours) { int start1 = 9; //9点上班 int end1 = 12; //午休 int start2 = 13; //午休 int end2 = 18; //6点下班 if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["WorkTime_Start1"])) { start1 = int.Parse(System.Configuration.ConfigurationManager.AppSettings["WorkTime_Start1"]); } if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["WorkTime_End1"])) { end1 = int.Parse(System.Configuration.ConfigurationManager.AppSettings["WorkTime_End1"]); } if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["WorkTime_Start2"])) { start2 = int.Parse(System.Configuration.ConfigurationManager.AppSettings["WorkTime_Start2"]); } if (!string.IsNullOrEmpty(System.Configuration.ConfigurationManager.AppSettings["WorkTime_End2"])) { end2 = int.Parse(System.Configuration.ConfigurationManager.AppSettings["WorkTime_End2"]); } DateTime time = start; while (workHours > 0) { var date = time.Date; var holiday = HolidayTable.AsEnumerable().SingleOrDefault(c => c["Year"].ToString() == date.Year.ToString() && c["Month"].ToString() == date.Month.ToString() && c["Day"].ToString() == date.Day.ToString()); if (holiday != null) { if (holiday["IsHoliday"].ToString() == "1") { time = date.AddDays(1).AddHours(start1); } continue; } else if (date.DayOfWeek == DayOfWeek.Saturday) //周六 { time = date.AddDays(1).AddHours(start1); continue; } else if (date.DayOfWeek == DayOfWeek.Sunday) //周日 { time = date.AddDays(1).AddHours(start1); continue; } else if (time > date.AddHours(end1) && time < date.AddHours(start2)) //中午 { time = date.AddHours(start2); continue; } else if (time > date.AddHours(end2)) //夜晚及上班前 { time = date.AddDays(1).AddHours(start1); continue; } else if (time < date.AddHours(start1)) //0点到上班前 { time = date.AddHours(start1); continue; } time = time.AddHours(1); workHours--; } return(time); }