public ActionResult New(WorkingCalendar workingCalendar)
        {
            ModelState.Remove("Shift");
            if (ModelState.IsValid)
            {
                if (string.IsNullOrWhiteSpace(workingCalendar.Region))
                {
                    SaveErrorMessage(Resources.ErrorMessage.Errors_Common_FieldRequired, Resources.PRD.WorkingCalendar.WorkingCalendar_Region);
                }
                else if (((TimeSpan)(workingCalendar.EndDate.Value.Date - workingCalendar.StartWorkingDate)).TotalDays < 0)
                {
                    SaveErrorMessage(Resources.PRD.WorkingCalendar.WorkingCalendar_EndDateCanNotLessThanNow);
                }
                else
                {
                    try
                    {
                        workingCalendar.Category = WorkingCalendarCategory.Region;
                        WorkingCalendarMgr.CreateWorkingCalendar(workingCalendar);

                        SaveSuccessMessage(Resources.PRD.WorkingCalendar.WorkingCalendar_Added);
                        return RedirectToAction("List/");
                    }
                    catch (BusinessException ex)
                    {
                        SaveBusinessExceptionMessage(ex);
                    }
                    catch (Exception ex)
                    {
                        SaveErrorMessage(ex);
                    }
                }
            }

            return View(workingCalendar);
        }
        public ActionResult _Update(int id, WorkingCalendar workingCalendar, WorkingCalendarSearchModel searchModel, GridCommand command)
        {
            try
            {
                ModelState.Remove("EndDate");

                var newWorkingCalendar = base.genericMgr.FindById<WorkingCalendar>(id);

                newWorkingCalendar.Shift = workingCalendar.Shift;
                newWorkingCalendar.Type = workingCalendar.Type;
                newWorkingCalendar.Category = WorkingCalendarCategory.Region;

                this.WorkingCalendarMgr.UpdateWorkingCalendar(newWorkingCalendar);
                //SaveSuccessMessage(Resources.PRD.WorkingCalendar.WorkingCalendar_Updated);
            }
            catch (BusinessException ex)
            {
                SaveBusinessExceptionMessage(ex);
            }
            catch (Exception ex)
            {
                SaveErrorMessage(ex);
            }
            SearchStatementModel searchStatementModel = this.PrepareSearchStatement(command, searchModel);
            return PartialView(GetAjaxPageData<WorkingCalendar>(searchStatementModel, command));
        }