// POST: api/Comapny public IHttpActionResult Post([FromBody] ClientDTO value) { try { if (value == null) { return(BadRequest()); } string userName = ""; if (HttpContext.Current != null && HttpContext.Current.User != null && HttpContext.Current.User.Identity.Name != null) { userName = HttpContext.Current.User.Identity.Name; } var client = value.ToDomain(); _ClientRepo.Add(client); client.CreateUser = userName; client.ChangeUser = userName; client.Concurrency = Guid.NewGuid(); _uow.SaveChanges(); if (client.ID > 0) { return(Created <ClientDTO>(Request.RequestUri + "/" + client.ID, client.ToDTO())); } return(BadRequest()); } catch (DbEntityValidationException ex) { //StringBuilder sb = new StringBuilder(); //foreach (var failure in ex.EntityValidationErrors) //{ // sb.AppendFormat("{0} failed validation\n", failure.Entry.Entity.GetType()); // foreach (var error in failure.ValidationErrors) // { // sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage); // sb.AppendLine(); // } //} // throw new DbEntityValidationException( // "Entity Validation Failed - errors follow:\n" + // sb.ToString(), ex //); // Add the original exception as the innerException return(InternalServerError()); } catch (Exception ex) { return(InternalServerError()); } }