public IHttpActionResult PutEmployee(int id, EmployeeDto employeeDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != employeeDto.UserId) { return(BadRequest()); } var emp = db.Employees.Find(employeeDto.UserId); var elm = db.Users.FirstOrDefault(x => x.Email == employeeDto.Email); if (elm != null && elm.UserId != id) { return(BadRequest("Email is allready exists")); } employeeDto.UpateEmployee(emp); db.Entry(emp).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(InternalServerError()); } catch (Exception) { return(InternalServerError()); } return(Ok()); }