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)));
 }