private async Task AddDepartments(long employerId) { var department = new Department { OrganizationId = employerId, Name = "Отдел", Description = "Отдел компании" }; _context.Departments.Add(department); await _context.SaveChangesAsync(); var @event = new DepartmentsChanged { Created = new[] { Mapper.Map <DtoDepartment>(department) } }; _eventBus.Publish(@event); }
public async Task <IActionResult> Delete([FromRoute] long id) { await _context.Departments .Where(x => x.Id == id) .DeleteFromQueryAsync() .ConfigureAwait(false); await _context.SaveChangesAsync() .ConfigureAwait(false); var @event = new DepartmentsChanged { Deleted = new List <long> { id } }; _eventBus.Publish(@event); return(Ok()); }
public async Task <IActionResult> Post([FromBody] DtoDepartment dto) { var entity = Mapper.Map <Department>(dto); _context.Departments.Add(entity); await _context .SaveChangesAsync() .ConfigureAwait(false); dto.Id = entity.Id; var @event = new DepartmentsChanged { Created = new List <DtoDepartment> { dto } }; _eventBus.Publish(@event); return(Ok(entity.Id)); }
public async Task <IActionResult> Update([FromBody] DtoDepartment dto, [FromRoute] long id) { var template = Mapper.Map <Department>(dto); template.Id = id; await _context.Departments .Where(x => x.Id == id) .UpdateFromQueryAsync(_ => template) .ConfigureAwait(false); dto.Id = id; var @event = new DepartmentsChanged { Updated = new List <DtoDepartment> { dto } }; _eventBus.Publish(@event); return(Ok(id)); }