示例#1
0
        public async Task <ActionResult> Edit(BuildingObjectModel model)
        {
            BuildingObject objectByName = await _mediator.Send(new GetBuildingObjectByNameQuery(model.Name));

            if (objectByName != null && objectByName.Id != model.Id)
            {
                ModelState.AddModelError("", "Объект с таким именем уже существует");
            }

            if (ModelState.IsValid)
            {
                await _mediator.Send(new SaveBuildingObjectCommand()
                {
                    Id                    = model.Id,
                    Name                  = model.Name,
                    Status                = model.Status,
                    Price                 = model.Price.Value,
                    ContractDateStart     = model.ContractDateStart.Value,
                    ContractDateEnd       = model.ContractDateEnd.Value,
                    ResponsibleEmployeeId = model.ResponsibleEmployeeId,
                    IsInactive            = model.IsInactive
                });

                return(RedirectToAction(nameof(Index)));
            }

            await FillRelatedObjects(model);

            return(View(model));
        }
示例#2
0
        public async Task <ActionResult> Create(BuildingObjectModel model)
        {
            if (await _mediator.Send(new GetBuildingObjectByNameQuery(model.Name)) != null)
            {
                ModelState.AddModelError("", "Объект с таким именем уже существует");
            }

            if (ModelState.IsValid)
            {
                await _mediator.Send(new SaveBuildingObjectCommand()
                {
                    Name                  = model.Name,
                    Status                = model.Status,
                    Price                 = model.Price.Value,
                    ContractDateStart     = model.ContractDateStart.Value,
                    ContractDateEnd       = model.ContractDateEnd.Value,
                    ResponsibleEmployeeId = model.ResponsibleEmployeeId,
                    IsInactive            = model.IsInactive
                });

                return(RedirectToAction(nameof(Index)));
            }

            model.Employees = (await _mediator.Send(new ListEmployeesQuery())).Select(item => new SelectListItem
            {
                Text  = item.FullName,
                Value = item.Id.ToString()
            });

            return(View(model));
        }
示例#3
0
        // GET: BuildingObject/Create
        public async Task <ActionResult> Create()
        {
            var model = new BuildingObjectModel()
            {
                ContractDateStart = _dateTimeService.LocalDate,
                IsCreateMode      = true,
                Employees         = (await _mediator.Send(new ListEmployeesQuery())).Select(item =>
                                                                                            new SelectListItem
                {
                    Text  = item.FullName,
                    Value = item.Id.ToString()
                })
            };

            return(View(model));
        }
示例#4
0
        // GET: BuildingObject/Edit/5
        public async Task <ActionResult> Edit(int id)
        {
            BuildingObject el = await _mediator.Send(new GetBuildingObjectByIdQuery(id));

            var model = new BuildingObjectModel
            {
                Name              = el.Name,
                ContractDateEnd   = el.ContractDateEnd,
                ContractDateStart = el.ContractDateStart,
                Price             = el.Price,
                Status            = el.Status,
                Id = el.Id,
                ResponsibleEmployeeId = el.ResponsibleEmployeeId,
                IsInactive            = el.IsInactive
            };

            await FillRelatedObjects(model);

            return(View(model));
        }
示例#5
0
        private async Task FillRelatedObjects(BuildingObjectModel model)
        {
            model.PdSections = (await _mediator.Send(new ListPdSectionsQuery()
            {
                BuildingObjectId = model.Id,
                IncludeEmployee = true
            })).Select(item => new PdSectionModel
            {
                Name         = item.Name,
                Id           = item.Id,
                Price        = item.Price,
                EmployeeId   = item.EmployeeId,
                EmployeeName = item.OneTimeEmployeeName ?? item.Employee?.FullName
            });

            model.Employees = (await _mediator.Send(new ListEmployeesQuery())).Select(item => new SelectListItem
            {
                Text  = item.FullName,
                Value = item.Id.ToString()
            });
        }