public async Task <EventHead> UpdateEventHead(DataForUpdatingEventHeadDto newEventHead) { var eventHeadsFromDb = await _context.EventHeads.Where(e => e.Email == newEventHead.Email || e.Id == newEventHead.Id).ToListAsync(); if (eventHeadsFromDb.Count > 1) { throw new DataInvalidException("This email is already associated with an EventHead"); } if (eventHeadsFromDb.Count == 0 || eventHeadsFromDb[0].Id != newEventHead.Id) { throw new DataInvalidException("Invalid id. Please re-check the ID"); } eventHeadsFromDb[0].Name = newEventHead.Name ?? eventHeadsFromDb[0].Name; eventHeadsFromDb[0].Email = newEventHead.Email ?? eventHeadsFromDb[0].Email; eventHeadsFromDb[0].PhoneNumber = newEventHead.PhoneNumber ?? eventHeadsFromDb[0].PhoneNumber; await _context.SaveChangesAsync(); return(newEventHead); }
public async Task <ActionResult <EventHead> > UpdateEventHead(DataForUpdatingEventHeadDto dataFromClient) { return(Ok(await _repo.UpdateEventHead(dataFromClient))); }