コード例 #1
0
        // 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());
            }
        }