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));
        }
Пример #2
0
        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());
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }