public async Task <IActionResult> Delete([FromRoute] long id) { await _context.Employers .Where(x => x.Id == id) .DeleteFromQueryAsync() .ConfigureAwait(false); await _context.SaveChangesAsync() .ConfigureAwait(false); var @event = new EmployersChanged { Deleted = new List <long> { id } }; _eventBus.Publish(@event); return(Ok()); }
private async Task <long> AddEmployer() { var employer = new Employer { Acronym = "КМПН", Description = "Описание", Name = "Компания", SiteUrl = "http://company.com/" }; _context.Employers.Add(employer); await _context.SaveChangesAsync(); var @event = new EmployersChanged { Created = new[] { Mapper.Map <DtoEmployer>(employer) } }; _eventBus.Publish(@event); return(employer.Id); }
public async Task <IActionResult> Post([FromBody] DtoEmployer dto) { var entity = Mapper.Map <Employer>(dto); _context.Employers.Add(entity); await _context .SaveChangesAsync() .ConfigureAwait(false); dto.Id = entity.Id; var @event = new EmployersChanged { Created = new List <DtoEmployer> { dto } }; _eventBus.Publish(@event); return(Ok(entity.Id)); }
public async Task <IActionResult> Update([FromBody] DtoEmployer dto, [FromRoute] long id) { var template = Mapper.Map <Employer>(dto); template.Id = id; await _context.Employers .Where(x => x.Id == id) .UpdateFromQueryAsync(_ => template) .ConfigureAwait(false); dto.Id = id; var @event = new EmployersChanged { Updated = new List <DtoEmployer> { dto } }; _eventBus.Publish(@event); return(Ok(id)); }