/// <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);
        }