public JsonResult GetWorkingDay(string CalendarID, DateTime WorkingDate)
        {
            WorkingDayViewModel workingDayViewModel = null;

            return(ExecuteFunctionRun(() =>
            {
                WorkingDay workingDay = this.Engine.WorkingCalendarManager.GetWorkingDay(CalendarID, WorkingDate);
                workingDayViewModel = new WorkingDayViewModel()
                {
                    CalendarId = workingDay.CalendarId,
                    CurrentDate = workingDay.CurrentDate.ToString("yyyy-MM-dd"),
                    Description = workingDay.Description,
                    IsExceptional = workingDay.IsExceptional,
                    IsWorkingDay = workingDay.IsWorkingDay,
                    ObjectID = workingDay.ObjectID
                };
                if (workingDay.WorkingTimeSpans != null && workingDay.WorkingTimeSpans.Length > 0)
                {
                    workingDayViewModel.AMStartHour = workingDay.WorkingTimeSpans[0].StartTimeHour;
                    workingDayViewModel.AMStartMinute = workingDay.WorkingTimeSpans[0].StartTimeMinute;
                    workingDayViewModel.AMEndHour = workingDay.WorkingTimeSpans[0].EndTimeHour;
                    workingDayViewModel.AMEndMinute = workingDay.WorkingTimeSpans[0].EndTimeMinute;
                }
                if (workingDay.WorkingTimeSpans != null && workingDay.WorkingTimeSpans.Length > 1)
                {
                    workingDayViewModel.PMStartHour = workingDay.WorkingTimeSpans[1].StartTimeHour;
                    workingDayViewModel.PMStartMinute = workingDay.WorkingTimeSpans[1].StartTimeMinute;
                    workingDayViewModel.PMEndHour = workingDay.WorkingTimeSpans[1].EndTimeHour;
                    workingDayViewModel.PMEndMinute = workingDay.WorkingTimeSpans[1].EndTimeMinute;
                }
                return Json(workingDayViewModel, JsonRequestBehavior.DenyGet);
            }));
        }
        public JsonResult UpdateWorkingDay(WorkingDayViewModel workingDayViewModel)
        {
            ActionResult result = null;

            WorkingDay workingDay = this.Engine.WorkingCalendarManager.GetWorkingDay(workingDayViewModel.CalendarId,
                                                                                     Convert.ToDateTime(workingDayViewModel.CurrentDate));

            if (workingDay == null)
            {
                result = new ActionResult(false, "WorkingCalendar.WorkingDayNotExists");
                return(Json(result, JsonRequestBehavior.AllowGet));
            }

            workingDay.Description   = workingDayViewModel.Description;
            workingDay.IsWorkingDay  = workingDayViewModel.IsWorkingDay;
            workingDay.IsExceptional = workingDayViewModel.IsExceptional;
            List <WorkingTimeSpan> times = new List <WorkingTimeSpan>();

            if (workingDayViewModel.AMStartHour > -1 && workingDayViewModel.AMEndHour >= workingDayViewModel.AMStartHour &&
                workingDayViewModel.AMStartMinute > -1)
            {
                times.Add(new WorkingTimeSpan()
                {
                    StartTimeHour   = workingDayViewModel.AMStartHour,
                    StartTimeMinute = workingDayViewModel.AMStartMinute,
                    EndTimeHour     = workingDayViewModel.AMEndHour,
                    EndTimeMinute   = workingDayViewModel.AMEndMinute
                });
            }

            if (workingDayViewModel.PMStartHour > -1 && workingDayViewModel.PMEndHour >= workingDayViewModel.PMStartHour &&
                workingDayViewModel.PMStartMinute > -1)
            {
                times.Add(new WorkingTimeSpan()
                {
                    StartTimeHour   = workingDayViewModel.PMStartHour,
                    StartTimeMinute = workingDayViewModel.PMStartMinute,
                    EndTimeHour     = workingDayViewModel.PMEndHour,
                    EndTimeMinute   = workingDayViewModel.PMEndMinute
                });
            }
            workingDay.WorkingTimeSpans = times.ToArray();

            if (workingDay.IsWorkingDay &&
                (workingDay.WorkingTimeSpans == null || workingDay.WorkingTimeSpans.Length == 0))
            {// 没有设置工作时间
                result = new ActionResult(false, "WorkingCalendar.NoWorkingTimeSpans");
                return(Json(result, JsonRequestBehavior.AllowGet));
            }

            return(ExecuteFunctionRun(() =>
            {
                this.Engine.WorkingCalendarManager.UpdateWorkingDay(workingDay);
                result = new ActionResult(true, "msgGlobalString.SaveSucced");

                return Json(result, JsonRequestBehavior.DenyGet);
            }));
        }
Ejemplo n.º 3
0
        public ActionResult GetWorkingDay()
        {
            List <WorkingDayViewModel> workingdays = new List <WorkingDayViewModel>();
            WorkingDayViewModel        modelAdd1   = GetDay(DateTime.Now.Date);

            //Truyền thông tin qua View
            ViewBag.Today = modelAdd1.Title;
            ViewBag.DayWithFormatToday = modelAdd1.DayWithFormat;
            ViewBag.DayOfWeekToday     = modelAdd1.DayOfWeek;
            workingdays.Add(modelAdd1);

            WorkingDayViewModel modelAdd2 = GetDay(DateTime.Now.Date.AddDays(1));

            //Truyền thông tin qua View
            ViewBag.Tomorrow = modelAdd2.Title;
            ViewBag.DayWithFormatTomorrow = modelAdd2.DayWithFormat;
            ViewBag.DayOfWeekTomorrow     = modelAdd2.DayOfWeek;
            workingdays.Add(modelAdd2);

            WorkingDayViewModel modelAdd3 = GetDay(DateTime.Now.Date.AddDays(2));

            //Truyền thông tin qua View
            ViewBag.AfterTomorrow = modelAdd3.Title;
            ViewBag.DayWithFormatAfterTomorrow = modelAdd3.DayWithFormat;
            ViewBag.DayOfWeekAfterTomorrow     = modelAdd3.DayOfWeek;
            workingdays.Add(modelAdd3);

            return(Json(new
            {
                workingdays = workingdays,
                //Today
                Today = ViewBag.Today,
                DayWithFormatToday = ViewBag.DayWithFormatToday,
                DayOfWeekToday = ViewBag.DayOfWeekToday,
                //Tomorrow
                Tomorrow = ViewBag.Tomorrow,
                DayWithFormatTomorrow = ViewBag.DayWithFormatTomorrow,
                DayOfWeekTomorrow = ViewBag.DayOfWeekTomorrow,
                //AfterTomorrow
                AfterTomorrow = ViewBag.AfterTomorrow,
                DayWithFormatAfterTomorrow = ViewBag.DayWithFormatAfterTomorrow,
                DayOfWeekAfterTomorrow = ViewBag.DayOfWeekAfterTomorrow
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
        private WorkingDayViewModel GetDay(DateTime dateTime)
        {
            //Khởi tạo thông tin từ ngày truyền vào
            WorkingDayViewModel retModel = new WorkingDayViewModel();

            //Tiêu đề
            if (dateTime == DateTime.Now.Date)
            {
                retModel.Title = "Hôm nay";
            }
            else if (dateTime == DateTime.Now.Date.AddDays(1))
            {
                retModel.Title = "Ngày mai";
            }
            else if (dateTime == DateTime.Now.Date.AddDays(2))
            {
                retModel.Title = "Ngày kia";
            }

            //Ngày with Format 06/01/2018 => "06/01"
            retModel.DayWithFormat = string.Format("{0:dd/MM}", dateTime);
            //Ngày Data 06/01/2018 => "2018-01-06"
            retModel.Day = string.Format("{0:yyyy-MM-dd}", dateTime);
            //Ngày trong tuần
            string dayOfWeek = "";

            switch ((int)dateTime.DayOfWeek)
            {
            case 0:
                dayOfWeek = "Chủ nhật";
                break;

            case 1:
                dayOfWeek = "Thứ 2";
                break;

            case 2:
                dayOfWeek = "Thứ 3";
                break;

            case 3:
                dayOfWeek = "Thứ 4";
                break;

            case 4:
                dayOfWeek = "Thứ 5";
                break;

            case 5:
                dayOfWeek = "Thứ 6";
                break;

            case 6:
                dayOfWeek = "Thứ 7";
                break;

            default:
                break;
            }
            retModel.DayOfWeek = dayOfWeek;
            return(retModel);
        }