Exemplo n.º 1
0
        public async Task <IActionResult> EditAsync([FromRoute] Guid id, [FromBody] CityEditDto dto)
        {
            var request = new AddOrUpdateRequest
            {
                Id   = id,
                Data = dto
            };
            var result = await _mediator.Send(request);

            return(Ok(result));
        }
        public virtual JsonResult Update()
        {
            var entity = Request.GetPostData();

            try
            {
                if (!ModelState.IsValid)
                {
                    var sb     = new StringBuilder(@"<p>Please correct the following errors:</p><ul>");
                    var errors = ModelState.Values.SelectMany(v => v.Errors);
                    foreach (var err in errors)
                    {
                        sb.AppendFormat("<li>{0}</li>", err.ErrorMessage);
                    }
                    sb.Append("</ul>");
                    return(Json(new { Result = "ERROR", Message = sb.ToString() }));
                }

                var request = new AddOrUpdateRequest {
                    Entities = new dynamic[] { entity }
                };

                var response = _repository.Update
                               <AddOrUpdateRequest, AddOrUpdateResponse>(request);

                return(Json(new { Result = "OK", Record = response.Result }));
            }
            catch (InvalidOperationException ex)
            {
                return(Json(new
                {
                    Result = "ERROR",
                    Message = String.Format("{0}<br/>Details:{1}", ex.Message, ex.Data["DetailHtml"])
                }));
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    Result = "ERROR",
                    Message = ex.Message
                }));
            }
        }