public async Task <IActionResult> Post([FromBody] Pizza pizza) { if (string.IsNullOrWhiteSpace(pizza.Name)) { return(BadRequest()); } await _pizzaService.Add(pizza); return(Ok(pizza)); }
public CreatePizzaResponse Create(CreatePizzaRequest request) { var pizza = request.ProjectedAs <Pizza>(); var response = _service.Add(pizza); if (response.IsSuccess) { _uow.Commit(); } return(response.ProjectedAs <CreatePizzaResponse>()); }
public IHttpActionResult Add([FromBody, CustomizeValidator(RuleSet = "PreValidator")] PizzaDto pizza) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = _pizzaService.Add(pizza); return(result.IsSuccess ? Created($"api/pizzas/{result.Value.Id}", result.Value) : (IHttpActionResult)BadRequest(result.Error)); }
public IHttpActionResult Add([CustomizeValidator(RuleSet = "PreValidation")] PizzaDto model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = _pizzaService.Add(model); var url = Url.Link("GetPizzaById", new { id = result.Value.Id }); var ctx = GlobalHost.ConnectionManager.GetHubContext <PizzaShop.Web.Hubs.PizzaHub>(); ctx.Clients.All.PizzaAdded(model); return(result.IsSuccess ? Created(url, result.Value) : (IHttpActionResult)BadRequest(result.Error)); }
public IActionResult Post([FromBody] Pizza pizza) { if (string.IsNullOrEmpty(pizza.Name)) { return(new ObjectResult(new { Status = 400, Value = "Pizza name can't be empty" })); } try { pizzaService.Add(pizza); return(new ObjectResult(new { Status = 200, Value = string.Format("Pizza {0} created", pizza.Name) })); } catch (Exception exception) { return(new ObjectResult(new { Status = 500, Value = exception.Message })); } }
public async Task <HttpResponseMessage> PostAdd() { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); //TODO: Redirigir a la vista principal. } var provider = new MultipartMemoryStreamProvider(); try { // Read the form data. await Request.Content.ReadAsMultipartAsync(provider); var formItems = new List <FormItem>(); // Scan the Multiple Parts foreach (HttpContent contentPart in provider.Contents) { var formItem = new FormItem(); var contentDisposition = contentPart.Headers.ContentDisposition; formItem.name = contentDisposition.Name.Trim('"'); formItem.data = await contentPart.ReadAsByteArrayAsync(); formItem.fileName = String.IsNullOrEmpty(contentDisposition.FileName) ? "" : contentDisposition.FileName.Trim('"'); formItem.mediaType = contentPart.Headers.ContentType == null ? "" : String.IsNullOrEmpty(contentPart.Headers.ContentType.MediaType) ? "" : contentPart.Headers.ContentType.MediaType; formItems.Add(formItem); } var dto = new DtoPizza(); foreach (var formItem in formItems) { switch (formItem.name) { case "Name": dto.Name = Encoding.UTF8.GetString(formItem.data); break; case "Picture": if (!formItem.IsValid()) { throw new CustomException(formItem.Errors); } dto.Picture = formItem.data; dto.FormItems = formItem; break; case "Ingredients": var format = Encoding.UTF8.GetString(formItem.data); dto.Ingredients = format.Split(',').Select(Int32.Parse).ToList(); break; } } var pizza = _pizzaService.Add(dto); var obj = new { Id = pizza.Id, Name = pizza.Name, Image = String.Format("/api/pizza/{0}/image", pizza.Id) }; var response = Request.CreateResponse(HttpStatusCode.Created, obj); return(response); } catch (System.Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } }