示例#1
0
 public ActionResult AbsenceEdit(AbsenceEditModel model)
 {
     CorrectCheckboxes(model);
      CorrectDropdowns(model);
      if (!ValidateAbsenceEditModel(model))
      {
          model.IsApproved = false;
          model.IsApprovedForAll = false;
          RequestBl.ReloadDictionariesToModel(model);
          return View(model);
      }
      string error;
      if (!RequestBl.SaveAbsenceEditModel(model, out error))
      {
          //HttpContext.AddError(new Exception(error));
          if (model.ReloadPage)
          {
              ModelState.Clear();
              if (!string.IsNullOrEmpty(error))
                  ModelState.AddModelError("", error);
              return View(RequestBl.GetAbsenceEditModel(model.Id, model.UserId));
          }
          if (!string.IsNullOrEmpty(error))
              ModelState.AddModelError("", error);
      }
      return View(model);
 }
示例#2
0
 protected bool ValidateAbsenceEditModel(AbsenceEditModel model)
 {
     if (model.BeginDate.HasValue && model.EndDate.HasValue &&
          model.BeginDate > model.EndDate)
          ModelState.AddModelError("BeginDate", "Дата начала отпуска не может превышать дату окончания отпуска.");
      //int dayCounts;
      //if(!Int32.TryParse(model.DaysCount, out dayCounts))
      //   ModelState.AddModelError("DaysCount", "Количество дней (часов) должно быть числом.");
      //else
      //{
      //    if (dayCounts <= 0)
      //        ModelState.AddModelError("DaysCount", "Количество дней (часов) должно быть положительным числом.");
      //}
      CheckBeginDate(model);
      return ModelState.IsValid;
 }
示例#3
0
 protected void CorrectDropdowns(AbsenceEditModel model)
 {
     if (!model.IsAbsenceTypeEditable)
         model.AbsenceTypeId = model.AbsenceTypeIdHidden;
      if (!model.IsTimesheetStatusEditable)
          model.TimesheetStatusId = model.TimesheetStatusIdHidden;
      model.DaysCount = model.DaysCountHidden;
 }