コード例 #1
0
        public virtual async Task <IHttpActionResult> Post(TCreateProfile entity)
        {
            if (!ModelState.IsValid)
            {
                var modelErrors = ModelState.Values.SelectMany(x => x.Errors);
                return(new ModelErrorResult(Request, modelErrors));
            }
            var isValid = await _service.ValidateAsync(entity);

            if (!isValid)
            {
                return(new ContentErrorResult(Request, HttpStatusCode.Forbidden, "User email already exists"));
            }
            var result = await _service.AddAsync(entity);

            if (!result.Item2)
            {
                return(new ContentErrorResult(Request, HttpStatusCode.BadRequest, result.Item3));
            }
            entity.Id = result.Item1.Id;
            NotifyUser(entity);

            return(Ok(result));
        }