public IHttpActionResult Crear(CrearOrdenRequest request) { try { int clienteId = Convert.ToInt32(Request.Headers.GetValues("Cliente").FirstOrDefault()); var result = ordenRepository.Crear(request, clienteId); if (result.Resultado) { Util.Util.SendEmail("Pedido Creado", request.correo, "", "El pedido ha sido ingresado al sistema."); } return(Ok(result)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public BaseResponse Crear(CrearOrdenRequest request, int clienteId) { try { var db = new pedidoclick(); db.Database.Connection.Open(); var orden = new t_Orden(); orden.IdOrdenEstado = 1; // Pendiente orden.Nombre = request.nombre; orden.Telefono = request.telefono; orden.CorreoElectronico = request.correo; orden.Identidad = request.identidad; orden.Calle = request.calle; orden.Avenida = request.avenida; orden.Colonia = request.colonia; orden.Ciudad = request.ciudad; orden.Comentario = request.comentario; orden.FechaCreo = DateTime.Now; orden.IdCliente = clienteId; db.t_Orden.Add(orden); db.SaveChanges(); if (orden.Id <= 0) { db.Database.Connection.Close(); return(new BaseResponse { Mensaje = "Sucedio un error al generar la orden", Resultado = false }); } var ordenDetalle = new List <t_OrdenDetalle>(); foreach (var d in request.productos) { var detalle = new t_OrdenDetalle(); detalle.IdProducto = d.productoId; detalle.Precio = d.precio; detalle.Cantidad = d.cantidad; detalle.IdOrden = orden.Id; detalle.FechaCreo = DateTime.Now; ordenDetalle.Add(detalle); } db.t_OrdenDetalle.AddRange(ordenDetalle); db.SaveChanges(); db.Database.Connection.Close(); return(new BaseResponse { Mensaje = "Orden Generada", Resultado = true }); } catch (Exception ex) { return(new BaseResponse { Mensaje = "Sucedio un error al generar la orden", Resultado = false }); } }