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