private void detach_DetallePedido(DetallePedido entity)
 {
     this.SendPropertyChanging();
     entity.Producto = null;
 }
 partial void DeleteDetallePedido(DetallePedido instance);
 partial void UpdateDetallePedido(DetallePedido instance);
 partial void InsertDetallePedido(DetallePedido instance);
 private void attach_DetallePedido(DetallePedido entity)
 {
     this.SendPropertyChanging();
     entity.Pedido = this;
 }
Ejemplo n.º 6
0
        public wsSQLResult CrearPedido(Stream JSONdataStream)
        {
            wsSQLResult result = new wsSQLResult();

            try
            {
                StreamReader reader = new StreamReader(JSONdataStream);

                string JSONdata           = reader.ReadToEnd();
                JavaScriptSerializer jss  = new JavaScriptSerializer();
                Pedido_        objPedido  = jss.Deserialize <Pedido_>(JSONdata);
                DetallePedido_ objDetalle = jss.Deserialize <DetallePedido_>(JSONdata);

                if (objPedido == null)
                {
                    result.WasSucceful = 0;
                    result.Exception   = "No se pudo deserializar el JSON a Pedido_";
                    return(result);
                }

                if (objDetalle == null)
                {
                    result.WasSucceful = 0;
                    result.Exception   = "No se pudo deserializar el JSON a Detalle_";
                    return(result);
                }
                var list = BuscaPedido(objPedido.ClienteId);

                if (list.Count == 0)
                {
                    Pedido newOrder = new Pedido()
                    {
                        ClienteId   = objPedido.ClienteId,
                        FechaPedido = DateTime.Now,
                        EstadoId    = 1,
                        TotalPago   = 0
                    };

                    BDUsuario.Pedido.InsertOnSubmit(newOrder);
                    BDUsuario.SubmitChanges();
                    var pedidoId = newOrder.Id;

                    DetallePedido newDetailOrder = new DetallePedido()
                    {
                        PedidoId   = pedidoId,
                        ProductoId = objDetalle.ProductoId,
                        Cantidad   = objDetalle.Cantidad
                    };

                    BDUsuario.DetallePedido.InsertOnSubmit(newDetailOrder);
                    BDUsuario.SubmitChanges();

                    result.WasSucceful = 1;
                    result.Exception   = "";
                    return(result);
                }
                else
                {
                    int pedidoId = 0;
                    foreach (var i in list)
                    {
                        pedidoId = i.Id;
                    }

                    if (objDetalle.Cantidad != 0)
                    {
                        DetallePedido newDetailOrder = new DetallePedido()
                        {
                            PedidoId   = pedidoId,
                            ProductoId = objDetalle.ProductoId,
                            Cantidad   = objDetalle.Cantidad
                        };

                        BDUsuario.DetallePedido.InsertOnSubmit(newDetailOrder);
                        BDUsuario.SubmitChanges();

                        result.WasSucceful = 1;
                        result.Exception   = "";
                        return(result);
                    }

                    DetallePedido newDetailOrderDel = new DetallePedido()
                    {
                        PedidoId   = pedidoId,
                        ProductoId = objDetalle.ProductoId
                    };

                    var deleteOrderDetails = from d in BDUsuario.DetallePedido
                                             where d.PedidoId == pedidoId &&
                                             d.ProductoId == objDetalle.ProductoId
                                             select d;
                    foreach (var d in deleteOrderDetails)
                    {
                        BDUsuario.DetallePedido.DeleteOnSubmit(d);
                    }

                    try
                    {
                        BDUsuario.SubmitChanges();

                        result.WasSucceful = 1;
                        result.Exception   = "";
                        return(result);
                    }
                    catch (Exception e)
                    {
                        result.WasSucceful = 0;
                        result.Exception   = e.Message;
                        return(result);
                    }
                }
            }
            catch (Exception e)
            {
                result.WasSucceful = 0;
                result.Exception   = e.Message;
                return(result);
            }
        }