protected bool ValidateModel(MissionUserDeptsListModel model)
 {
     if (model.BeginDate.HasValue && model.EndDate.HasValue &&
         model.BeginDate.Value > model.EndDate.Value)
         ModelState.AddModelError("BeginDate", "Дата в поле <Период с> не может быть больше даты в поле <по>.");
     return ModelState.IsValid;
 }
 protected void MissionUserDeptsFilterToSession(MissionUserDeptsListModel model, bool isCred)
 {
     MissionOrderFilterModel filterModel = new MissionOrderFilterModel
     {
         BeginDate = model.BeginDate,
         DepartmentId = model.DepartmentId,
         EndDate = model.EndDate,
         StatusId = model.StatusId,
         UserName = model.UserName
     };
     System.Web.HttpContext.Current.Session[isCred ?
         SessionMissionUserCredsListFilterName :
         SessionMissionUserDeptsListFilterName] = filterModel;
 }
 protected void MissionUserDeptsListModelFromSession(MissionUserDeptsListModel model,bool isCred)
 {
     MissionOrderFilterModel filterModel = (MissionOrderFilterModel)System.Web.HttpContext.Current.Session[isCred ?
         SessionMissionUserCredsListFilterName :
         SessionMissionUserDeptsListFilterName];
     if (filterModel != null)
     {
         model.StatusId = filterModel.StatusId;
         model.BeginDate = filterModel.BeginDate;
         model.EndDate = filterModel.EndDate;
         model.UserName = filterModel.UserName;
         if (AuthenticationService.CurrentUser.UserRole != UserRole.Employee && filterModel.DepartmentId != 0)
         {
             Department dep = DepartmentDao.Load(filterModel.DepartmentId);
             if (dep != null)
             {
                 model.DepartmentId = filterModel.DepartmentId;
                 model.DepartmentName = dep.Name;
             }
         }
     }
 }
 public ActionResult MissionUserDeptsList(MissionUserDeptsListModel model)
 {
     bool hasError = !ValidateModel(model);
     if (!hasError)
         MissionUserDeptsFilterToSession(model,false);
     RequestBl.SetMissionUserDeptsListModel(model, true, hasError);
     return View(model);
 }