public HttpResponseMessage ConfirmarPedido([FromBody] ConfirmarPedido confirmarPedido) { var pedidoService = new PedidoService(); Boolean result; try { result = pedidoService.ConfirmarPedido(confirmarPedido); } catch (InvalidOperationException e) { return(Request.CreateResponse(HttpStatusCode.NotFound, new RespuestaGenerica("No encontrado", e.Message))); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new RespuestaGenerica("ERROR", String.Format("No se pudo efectuar la operación porque[{0}]", e.Message)))); } if (result == true) { return(Request.CreateResponse(HttpStatusCode.Created, new RespuestaGenerica("OK", "Gustos elegidos satisfactoriamente"))); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, new RespuestaGenerica("No encontrado", "Pedido no encontrado"))); } }
public Boolean ConfirmarPedido(ConfirmarPedido confirmarPedido) { var gustoEmpanadaContext = Contexto.GustoEmpanada; var invitacionPedido = Contexto.InvitacionPedido.Single(ip => ip.Token == confirmarPedido.TokenInvitacion); var pedido = Contexto.Pedido.Single(ped => ped.IdPedido == invitacionPedido.IdPedido); if (!PedidoAbierto(pedido)) { return(false); } LimpiarGustosPedido(pedido.IdPedido, confirmarPedido.IdUsuario); foreach (var invPedido in confirmarPedido.GustosEmpanadaCantidades) { AgregarGustoAInvitacion(new InvitacionPedidoGustoEmpanadaUsuario { Cantidad = invPedido.Cantidad, IdUsuario = confirmarPedido.IdUsuario, IdGustoEmpanada = invPedido.IdGustoEmpanada, IdPedido = pedido.IdPedido }); } invitacionPedido.Completado = true; Contexto.SaveChanges(); return(true); }