Example #1
0
 protected void CorrectDropdowns(TimesheetCorrectionEditModel model)
 {
     if (!model.IsTypeEditable)
          model.TypeId = model.TypeIdHidden;
      if (!model.IsStatusEditable)
          model.StatusId = model.StatusIdHidden;
 }
Example #2
0
 protected bool ValidateTimesheetCorrectionEditModel(TimesheetCorrectionEditModel model)
 {
     if (!string.IsNullOrEmpty(model.Hours))
      {
          int hours;
          if (!Int32.TryParse(model.Hours, out hours) ||
              hours <= 0 || hours > 24)
              ModelState.AddModelError("Hours", "Поле 'Часы' должно быть положительным целым числом не больше 24.");
      }
      if(model.EventDate.HasValue && AuthenticationService.CurrentUser.UserRole == UserRole.Employee)
      {
          DateTime eventDate = DateTime.Today;
          DateTime lastSunday = eventDate.AddDays((int)eventDate.DayOfWeek == 0 ? -7 : - (int)eventDate.DayOfWeek);
          if(lastSunday >= model.EventDate.Value)
              ModelState.AddModelError("EventDate", "Дата не может быть ранее понедельника текущей недели.");
      }
      return ModelState.IsValid;
 }
Example #3
0
 public ActionResult TimesheetCorrectionEdit(TimesheetCorrectionEditModel model)
 {
     CorrectCheckboxes(model);
      CorrectDropdowns(model);
      if (!ValidateTimesheetCorrectionEditModel(model))
      {
          model.IsApproved = false;
          RequestBl.ReloadDictionariesToModel(model);
          return View(model);
      }
      string error;
      if (!RequestBl.SaveTimesheetCorrectionEditModel(model, out error))
      {
          if (model.ReloadPage)
          {
              ModelState.Clear();
              if (!string.IsNullOrEmpty(error))
                  ModelState.AddModelError("", error);
              return View(RequestBl.GetTimesheetCorrectionEditModel(model.Id, model.UserId));
          }
          if (!string.IsNullOrEmpty(error))
              ModelState.AddModelError("", error);
      }
      return View(model);
 }