Пример #1
0
        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));
        }
Пример #2
0
        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);
        }