public async Task <IActionResult> Post([FromBody] WorkGroupCreate command) { if (await _context.Set <WorkGroup>().AnyAsync(x => x.RegionalManagerId == command.RegionalManagerId || x.EscortManagerId == command.EscortManagerId)) { return(BadRequest("Менеджер уже задействован в другой группе")); } var workGroup = await _context.Set <WorkGroup>() .AddAsync(new WorkGroup(command)); await _context.SaveChangesAsync(); var result = new WorkGroupDto() { Id = workGroup.Entity.Id, Title = workGroup.Entity.Title, EscortManagerId = workGroup.Entity.EscortManagerId ?? 0, RegionalManagerId = workGroup.Entity.RegionalManagerId ?? 0, ClientIds = _context.Set <ClientWorkGroup>() .Where(z => z.WorkGroupId == workGroup.Entity.Id) .Select(z => z.ClientId) .ToList() }; return(Ok(result)); }
public WorkGroup(WorkGroupCreate command) { Title = command.Title; if (command.RegionalManagerId != null || command.RegionalManagerId != 0) { RegionalManagerId = command.RegionalManagerId; } if (command.EscortManagerId != null || command.RegionalManagerId != 0) { EscortManagerId = command.EscortManagerId; } }