public async Task <ActionResult> Put([FromQuery] Guid id, [FromBody] EmployeeUpdateDto value) { if (id == Guid.Empty) { return(BadRequest($"Invalid {nameof(Employee)} Id")); } var obj = await _ctx.Employees .Include(t => t.EmployeeCertifications) .Include(t => t.EmployeeCompetencies) .Include(t => t.EmployeeHealthItems) .FirstOrDefaultAsync(t => t.Id == id); if (null == obj) { return(NotFound($"{nameof(Employee)} Not Found")); } obj.UpdateFromDto(value); ContextCollectionSyncer.SyncCollections(_ctx, value.EmployeeCompetencies, obj.EmployeeCompetencies); ContextCollectionSyncer.SyncCollections(_ctx, value.EmployeeCertifications, obj.EmployeeCertifications); ContextCollectionSyncer.SyncCollections(_ctx, value.EmployeeHealthItems, obj.EmployeeHealthItems); if (0 < await _ctx.SaveChangesAsync()) { await _updatedPublisher.PublishAsync(obj); } return(Ok(obj)); }
public async Task <ActionResult> Post([FromBody] EmployeeInsertDto value) { var obj = Employee.FromInsertDto(value); ContextCollectionSyncer.SyncCollections(_ctx, value.EmployeeCompetencies, obj.EmployeeCompetencies); ContextCollectionSyncer.SyncCollections(_ctx, value.EmployeeCertifications, obj.EmployeeCertifications); ContextCollectionSyncer.SyncCollections(_ctx, value.EmployeeHealthItems, obj.EmployeeHealthItems); _ = _ctx.Employees.Add(obj); if (0 < await _ctx.SaveChangesAsync()) { await _createdPublisher.PublishAsync(obj); } return(Ok(obj)); }