コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: WorkGroup.cs プロジェクト: WorldSushi/Sushi
        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;
            }
        }