/// <summary> /// Валидация преди запис на сесии към заседание /// </summary> /// <param name="model"></param> /// <returns></returns> private string IsValid(CaseSessionMeetingEditVM model) { var caseSession = service.GetById <CaseSession>(model.CaseSessionId); if (model.DateFrom == null) { return("Няма въведена начална дата"); } if (model.DateTo != null) { if (model.DateFrom > model.DateTo) { return("Началната дата е по-голяма от крайната"); } } if (service.IsExistMeetengInSession(model.DateFrom, model.DateTo, model.CaseSessionId, model.Id)) { return("Има сесия в това заседание съвпадаща като време"); } if (model.IsAutoCreate ?? false) { if (model.SessionStateId < 1) { return("Изберете статус на заседание."); } if (model.SessionStateId == NomenclatureConstants.SessionState.Provedeno) { if (caseSession.DateFrom > DateTime.Now) { return("Не може да отразите проведено заседание с бъдеща дата/час."); } var dateNow = DateTime.Now; if (service.IsExistMeetengInSessionAfterDate(dateNow, caseSession.Id, model.Id) || (model.DateTo >= dateNow)) { return("Има сесии в това заседание, които не са проведени."); } } if (model.SessionStateId == NomenclatureConstants.SessionState.Nasrocheno) { if (caseSession.DateFrom <= DateTime.Now) { return("Не може да насрочвате/коригирате заседание с минала дата/час."); } } } return(string.Empty); }
/// <summary> /// Валидация преди запис на сесии към заседание /// </summary> /// <param name="model"></param> /// <returns></returns> private string IsValid(CaseSessionMeetingEditVM model) { var caseSession = service.GetById <CaseSession>(model.CaseSessionId); if (model.DateFrom == null) { return("Няма въведена начална дата"); } //else //{ // if (model.DateFrom < caseSession.DateFrom) // return "Началната дата е преди началната дата на заседанието"; //} //if (model.DateFrom >= DateTime.Now) // return "Сесията трябва да е с минала начална дата"; if (model.DateTo != null) { //if (model.DateTo >= DateTime.Now) // return "Сесията трябва да е с минала крайна дата"; if (model.DateFrom > model.DateTo) { return("Началната дата е по-голяма от крайната"); } //if (model.DateTo > caseSession.DateTo) // return "Крайната дата е след датата на заседанието"; } if (service.IsExistMeetengInSession(model.DateFrom, model.DateTo, model.CaseSessionId, model.Id)) { return("Има сесия в това заседание съвпадаща като време"); } return(string.Empty); }
/// <summary> /// Валидация преди запис на заседание /// </summary> /// <param name="model"></param> /// <returns></returns> private string IsValid(CaseSessionVM model) { if (model.Id < 1) { //if (!lawUnitService.IsExistLawUnitByCase(model.CaseId, model.DateFrom)) //{ // return "Няма активен състав"; //} if (!lawUnitService.IsExistJudgeReporterByCase(model.CaseId, model.DateFrom)) { return("Няма активен съдия докладчик"); } } if (model.SessionTypeId < 0) { return("Няма избран вид"); } if (model.DateFrom == null) { return("Няма въведена начална дата"); } var caseCase = service.GetById <Case>(model.CaseId); if (model.DateFrom < caseCase.RegDate) { return("Не можете да насрочвате заседание с дата/час по-малка от дата/час на регистрация на делото"); } if (model.CourtHallId > 0) { if (model.DateTo_Minutes < 1) { return("Изберете прогнозна продължителност"); } } if (model.DateTo != null) { if (model.DateFrom > model.DateTo) { return("Началната дата/час е по-голяма от крайната дата/час"); } } if (model.SessionStateId == NomenclatureConstants.SessionState.Provedeno) { if (model.DateFrom > DateTime.Now) { return("Не може да отразите проведено заседание с бъдеща дата/час."); } if (caseSessionMeetingService.IsExistMeetengInSessionAfterDate(DateTime.Now, model.Id, null)) { return("Има сесии в това заседание, които не са проведени."); } if (!lawUnitService.IsExistJudgeReporterByCase(model.CaseId, model.DateFrom)) { return("Няма активен съдия докладчик"); } } if (model.SessionStateId == NomenclatureConstants.SessionState.Nasrocheno) { if (model.DateFrom <= DateTime.Now) { return("Не може да насрочвате/коригирате заседание с минала дата/час."); } } var caseSessions = service.CaseSession_OldSelect(model.CaseId, null, null).ToList(); if (caseSessions.Count > 0) { if (caseSessions.Any(x => (x.DateFrom == model.DateFrom) && ((model.Id > 0) ? x.Id != model.Id : true))) { return("Вече има заседание в това дело с тази начална дата/час"); } } if (model.Id > 0) { var caseSessionMeeting = caseSessionMeetingService.CaseSessionMeetingAutoCreateGetBySessionId(model.Id); if (caseSessionMeeting != null) { if (caseSessionMeetingService.IsExistMeetengInSession(model.DateFrom, (model.DateTo ?? model.DateFrom), model.Id, caseSessionMeeting.Id)) { return("Има сесия в това заседание съвпадаща като време с автоматичната сесия"); } } var caseSessionOld = service.GetById <CaseSession>(model.Id); if (model.DateFrom != caseSessionOld.DateFrom) { if (caseNotificationService.IsExistNotificationForSession(model.Id)) { return("Има издадени призовки за това заседание и не може да смените началната дата или залата."); } } if (model.SessionStateId != NomenclatureConstants.SessionState.Nasrocheno) { if (model.SessionTypeId != caseSessionOld.SessionTypeId) { return("Не може да промените вида на заседанието при статус различен от насрочено."); } } } return(string.Empty); }