public ActionResult Check(Int64 fileId) { var file_srv = CompositionRoot.Resolve <IFileService>(); bool has_error = false; FileModel model = null; try { var file = file_srv.GetFileById(fileId); if (file == null) { ModelState.AddModelError("", "Дело не найдено"); has_error = true; } else { model = FileModelConverter.ToModel(file); } } catch (DomainException e) { ModelState.AddModelError("", e); has_error = true; } if (has_error) { return(RedirectToAction("Edit", new { id = fileId })); } PrepareForCreate(); return(View(model)); }
private FileListViewModel CreateModel(DateTime beginDate, DateTime endDate, Int64 controllerId = -1, Int64 expertId = -1, Int64 statusId = -1, Int64 orgId = -1, Int64 serviceId = -1, Int32 page = 1) { Logger.Debug($"FileController.CreateModel start "); var user_srv = CompositionRoot.Resolve <IUserService>(); var status_srv = CompositionRoot.Resolve <IFileStatusService>(); var org_srv = CompositionRoot.Resolve <IOrganizationService>(); var file_srv = CompositionRoot.Resolve <IFileService>(); FileListViewModel model = new FileListViewModel(); model.SelectedOgvId = orgId == -1 ? Organization.All.Id : orgId; model.SelectedControllerId = controllerId == -1 ? mfc.domain.entities.User.All.Id : controllerId; model.SelectedExpertId = expertId == -1 ? mfc.domain.entities.User.All.Id : expertId; model.SelectedStatusId = statusId == -1 ? FileStatus.All.Id : statusId; model.SelectedServiceId = serviceId == -1 ? Service.All.Id : serviceId; model.BeginDate = beginDate; model.EndDate = endDate; model.Page = page; if (page == 0) { model.Page = 1; } if (serviceId != Service.All.Id) { var service = ServiceService.GetServiceById(serviceId); if (service != null) { model.SelectedService = service.Caption; } } if (User.IsInRole(Roles.Admin) || User.IsInRole(Roles.Controller)) { //Для администратора и контролера заполняем список всеми экспертами и контролерами foreach (var user in user_srv.GetControllers()) { model.Controllers.Add(user); } model.Controllers.Insert(0, mfc.domain.entities.User.All); foreach (var user in user_srv.GetExperts()) { model.Experts.Add(user); } model.Experts.Insert(0, mfc.domain.entities.User.All); } else if (User.IsInRole(Roles.Expert)) { //если только эксперт, то полный список контроллеров и один эксперт var user = user_srv.GetCurrentUser(); model.Experts.Add(user_srv.GetCurrentUser()); model.Controllers.Add(mfc.domain.entities.User.All); foreach (var controller in user_srv.GetControllers()) { model.Controllers.Add(controller); } model.SelectedExpertId = user.Id; } model.Statuses.Add(FileStatus.All); foreach (var item in status_srv.GetAllStatuses()) { model.Statuses.Add(item); } model.Organizations.Add(Organization.All); foreach (var item in org_srv.GetAllOrganizations()) { model.Organizations.Add(item); } foreach (var file in file_srv.GetFiles(model.BeginDate, model.EndDate, model.SelectedControllerId, model.SelectedExpertId, model.SelectedStatusId, model.SelectedOgvId, model.SelectedServiceId)) { model.Files.Add(FileModelConverter.RecordToModelItem(file)); } Logger.Debug($"FileController.CreateModel end "); return(model); }