/*Update con EF*/
        public static void VentaProductoUpdate()
        {
            ML.VentaProducto ventaProducto = new ML.VentaProducto();
            Console.WriteLine("Ingresa IdVentaProducto");
            ventaProducto.IdVentaProducto = int.Parse(Console.ReadLine());
            Console.WriteLine("IdVenta");
            ventaProducto.Venta         = new ML.Venta();
            ventaProducto.Venta.IdVenta = int.Parse(Console.ReadLine());

            Console.WriteLine("IdProductoSucursal");
            ventaProducto.ProductoSucursal = new ML.ProductoSucursal();
            ventaProducto.ProductoSucursal.IdProductoSucursal = int.Parse(Console.ReadLine());

            Console.WriteLine("Cantidad");
            ventaProducto.Cantidad = int.Parse(Console.ReadLine());

            Console.WriteLine("IdProducto");
            ventaProducto.Producto            = new ML.Producto();
            ventaProducto.Producto.IdProducto = int.Parse(Console.ReadLine());

            ML.Result result = new ML.Result();

            result = BL.VentaProducto.VentaProductoUpdate(ventaProducto);
            if (result.Correct)
            {
                Console.WriteLine("Modificacion de ventaProducto con EF");
            }
            else
            {
                Console.WriteLine(result.ErrorMessage);
            }
        }
        /*Con Ado y SP*/

        public static ML.Result VentaProductoAddADOSP(ML.VentaProducto VentaProducto)
        {
            ML.Result result = new ML.Result();
            try
            {
                SqlConnection context = new SqlConnection(DL.Conexion.GetConnectionString());
                SqlCommand    cmd     = new SqlCommand();

                cmd.Connection  = context;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "AddVentaProducto";

                cmd.Parameters.Add("@IdVenta", SqlDbType.Int).Value            = VentaProducto.Venta.IdVenta;
                cmd.Parameters.Add("@IdProductoSucursal", SqlDbType.Int).Value = VentaProducto.ProductoSucursal.IdProductoSucursal;
                cmd.Parameters.Add("@Cantidad", SqlDbType.Int).Value           = VentaProducto.Cantidad;
                cmd.Parameters.Add("@IdProducto", SqlDbType.Int).Value         = VentaProducto.Producto.IdProducto;

                cmd.Connection.Open();
                cmd.ExecuteNonQuery();
                cmd.Connection.Close();
            }
            catch (Exception e)
            {
                result.Correct      = false;
                result.ErrorMessage = "Error en " + e.Message;
            }
            return(result);
        }
        /*Update VentaProducto con EF*/
        public static ML.Result VentaProductoUpdate(ML.VentaProducto ventaProducto)
        {
            ML.Result result = new ML.Result();
            try
            {
                using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
                {
                    var ventaproductolist = context.UpdateVentaProducto(ventaProducto.IdVentaProducto, ventaProducto.Venta.IdVenta, ventaProducto.ProductoSucursal.IdProductoSucursal, ventaProducto.Cantidad, ventaProducto.Producto.IdProducto);

                    if (ventaproductolist >= 1)
                    {
                        result.Correct = true;
                    }
                    else
                    {
                        result.Correct = false;
                    }
                }
            }
            catch (Exception e)
            {
                result.Correct      = false;
                result.ErrorMessage = "Error en " + e.Message;
            }
            return(result);
        }
        /*PROBLEMA COLLECTION Venta y VentaDetalle con ADO NET COLLECTION*/
        public static ML.Result VentaProductoAddADONET(ML.VentaProducto VentaProducto)
        {
            ML.Result result = new ML.Result();
            try
            {
                using (SqlConnection context = new SqlConnection(DL.Conexion.GetConnectionString()))
                {
                    string query = "INSERT INTO [VentaProducto] ([IdVenta], [IdProductoSucursal], [Cantidad], [IdProducto]) values (@IdVenta, @IdProductoSucursal, @Cantidad, @IdProducto)";

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection  = context;
                        cmd.CommandText = query;

                        SqlParameter[] collection = new SqlParameter[4];

                        collection[0]       = new SqlParameter("IdVenta", SqlDbType.Int);
                        collection[0].Value = VentaProducto.Venta.IdVenta;

                        collection[1]       = new SqlParameter("IdProductoSucursal", SqlDbType.Int);
                        collection[1].Value = VentaProducto.ProductoSucursal.IdProductoSucursal;

                        collection[2]       = new SqlParameter("Cantidad", SqlDbType.Int);
                        collection[2].Value = VentaProducto.Cantidad;

                        collection[3]       = new SqlParameter("IdProducto", SqlDbType.Int);
                        collection[3].Value = VentaProducto.Producto.IdProducto;

                        cmd.Parameters.AddRange(collection);

                        cmd.Connection.Open();
                        cmd.ExecuteNonQuery();
                        cmd.Connection.Close();

                        result.Correct = true;
                    }
                }
            }
            catch (Exception e)
            {
                result.Correct      = false;
                result.ErrorMessage = "Error en " + e.Message;
            }
            return(result);
        }
Beispiel #5
0
        /*ADO con SP*/
        //public static ML.Result VentaAdd(ML.Venta Venta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        SqlConnection context = new SqlConnection(DL.Conexion.GetConnectionString());
        //        SqlCommand cmd = new SqlCommand();

        //        cmd.Connection = context;
        //        cmd.CommandType = CommandType.StoredProcedure;
        //        cmd.CommandText = "AddVenta";

        //        cmd.Parameters.Add("@IdCliente", SqlDbType.Int).Value = Venta.IdCliente;
        //        cmd.Parameters.Add("@Total", SqlDbType.Decimal).Value = Venta.Total;
        //        cmd.Parameters.Add("@IdMetodoPago", SqlDbType.Int).Value = Venta.IdMetodoPago;
        //        cmd.Parameters.Add("@Fecha", SqlDbType.Date).Value = Venta.Fecha;

        //        cmd.Connection.Open();
        //        int rowsAffected = cmd.ExecuteNonQuery();
        //        cmd.Connection.Close();

        //        if (rowsAffected >= 1)
        //        {
        //            result.Correct = true;
        //        }
        //        else
        //        {
        //            result.Correct = false;
        //            result.ErrorMessage = "Error no se pudo realizar la venta";
        //        }

        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaDelete(int IdVenta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        SqlConnection context = new SqlConnection(DL.Conexion.GetConnectionString());
        //        SqlCommand cmd = new SqlCommand();

        //        cmd.Connection = context;
        //        cmd.CommandType = CommandType.StoredProcedure;
        //        cmd.CommandText = "DeleteVenta";

        //        cmd.Parameters.Add("@IdVenta", SqlDbType.Int).Value = IdVenta;

        //        cmd.Connection.Open();
        //        int rowsAffected = cmd.ExecuteNonQuery();
        //        cmd.Connection.Close();

        //        if(rowsAffected >= 1)
        //        {
        //            result.Correct = true;
        //        }
        //        else
        //        {
        //            result.Correct = false;
        //            result.ErrorMessage = "Error no se pudo eliminar la venta";
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaUpdate(ML.Venta Venta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        SqlConnection context = new SqlConnection(DL.Conexion.GetConnectionString());
        //        SqlCommand cmd = new SqlCommand();

        //        cmd.Connection = context;
        //        cmd.CommandType = CommandType.StoredProcedure;
        //        cmd.CommandText = "UpdateVenta";

        //        cmd.Parameters.Add("@IdCliente", SqlDbType.Int).Value = Venta.IdCliente;
        //        cmd.Parameters.Add("@Total", SqlDbType.Decimal).Value = Venta.Total;
        //        cmd.Parameters.Add("@IdMetodoPago", SqlDbType.Int).Value = Venta.IdMetodoPago;
        //        cmd.Parameters.Add("@Fecha", SqlDbType.Date).Value = Venta.Fecha;
        //        cmd.Parameters.Add("IdVenta", SqlDbType.Int).Value = Venta.IdVenta;

        //        cmd.Connection.Open();
        //        int rowsAffected = cmd.ExecuteNonQuery();
        //        cmd.Connection.Close();

        //        if(rowsAffected >= 1)
        //        {
        //            result.Correct = true;
        //        }
        //        else
        //        {
        //            result.Correct = false;
        //            result.ErrorMessage = "Error no se pudo modificar la venta ";
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e.Message;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaGetAll()
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        SqlConnection context = new SqlConnection(DL.Conexion.GetConnectionString());
        //        SqlCommand cmd = new SqlCommand();

        //        cmd.Connection = context;
        //        cmd.CommandType = CommandType.StoredProcedure;
        //        cmd.CommandText = "GetAllVenta";

        //        cmd.Connection.Open();

        //        DataSet ds = new DataSet();
        //        SqlDataAdapter da = new SqlDataAdapter(cmd);
        //        da.Fill(ds);

        //        if (ds.Tables[0].Rows.Count >= 0)
        //        {
        //            result.Objects = new List<object>();

        //            foreach (DataRow row in ds.Tables[0].Rows)
        //            {
        //                ML.Venta Venta = new ML.Venta();
        //                Venta.IdVenta = int.Parse(row[0].ToString());
        //                Venta.IdCliente = int.Parse(row[1].ToString());
        //                Venta.Total = float.Parse(row[2].ToString());
        //                Venta.IdMetodoPago = int.Parse(row[3].ToString());
        //                Venta.Fecha = DateTime.Parse(row[4].ToString());

        //                result.Objects.Add(Venta);
        //            }

        //            result.Correct = true;
        //        }
        //        else
        //        {
        //            result.Correct = false;
        //            result.ErrorMessage = "No hay ventas ";
        //        }
        //    }
        //    catch(Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e.Message;
        //    }
        //    return result;
        //}


        /*ENTITY*/
        //public static ML.Result VentaAddET(ML.Venta Venta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        using(DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities()){
        //            var query = context.AddVenta(Venta.IdCliente, Venta.Total, Venta.IdMetodoPago, Venta.Fecha);

        //            if (query >= 1)
        //            {
        //                result.Correct = true;
        //            }
        //            else
        //            {
        //                result.Correct = false;
        //            }
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e.Message;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaDeleteEF(int IdVenta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
        //        {
        //            var query = context.DeleteVenta(IdVenta);
        //            if (query >= 1)
        //            {
        //                result.Correct = true;
        //            }
        //            else
        //            {
        //                result.Correct = false;
        //                result.ErrorMessage = "Error no se pudo eliminar";
        //            }
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en "+e.Message;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaUpdateEF(ML.Venta Venta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
        //        {
        //            var query = context.UpdateVenta(Venta.IdVenta, Venta.IdCliente, (float)Venta.Total, Venta.IdMetodoPago, Venta.Fecha);

        //            if (query >= 1)
        //            {
        //                result.Correct = true;
        //            }
        //            else
        //            {
        //                result.Correct = false;
        //                result.ErrorMessage = "Error no se pudo modificar la venta";
        //            }
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e.Message;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaGetAllEF()
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
        //        {
        //            var query = context.GetAllVenta().ToList();

        //            if (query != null)
        //            {
        //                result.Objects = new List<object>();

        //                foreach (var item in query)
        //                {
        //                    ML.Venta venta = new ML.Venta();
        //                    venta.IdVenta = item.IdVenta;
        //                    venta.IdCliente = (int) item.IdCliente;
        //                    venta.Total = (float) item.Total;
        //                    venta.IdMetodoPago = (int)item.IdMetodoPago;
        //                    venta.Fecha = (DateTime)item.Fecha;

        //                    result.Objects.Add(venta);
        //                }

        //                result.Correct = true;
        //            }
        //            else
        //            {
        //                result.Correct = false;
        //                result.ErrorMessage = "No se encontraron registros";
        //            }
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en "+e.Message;
        //    }
        //    return result;
        //}


        /*LINQ*/
        //public static ML.Result VentaAddLinq(ML.Venta Venta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
        //        {
        //            DL_EF.Venta ventaDL = new DL_EF.Venta();
        //            ventaDL.IdCliente = Venta.IdCliente;
        //            ventaDL.Total = Venta.Total;
        //            ventaDL.IdMetodoPago = Venta.IdMetodoPago;
        //            ventaDL.Fecha = Venta.Fecha;

        //            context.Ventas.Add(ventaDL);
        //            context.SaveChanges();
        //            result.Correct = true;
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e.Message;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaDeleteLinq(int IdVenta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
        //        {
        //            var query = (from v in context.Ventas
        //                         where v.IdVenta == IdVenta
        //                         select v).First();

        //            context.Ventas.Remove(query);

        //            int rowsAffected = context.SaveChanges();

        //            if (rowsAffected >= 1)
        //            {
        //                result.Correct = true;
        //            }
        //            else
        //            {
        //                result.Correct = false;
        //                result.ErrorMessage = "Error no se pudo eliminar la venta";
        //            }
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e.Message;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaUpdateLinq(ML.Venta Venta)
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
        //        {
        //            var query = (from v in context.Ventas
        //                             where v.IdVenta == Venta.IdVenta
        //                             select v).SingleOrDefault();

        //            if (query != null)
        //            {

        //                query.IdCliente = Venta.IdCliente;
        //                query.Total = Venta.Total;
        //                query.IdMetodoPago = Venta.IdMetodoPago;
        //                query.Fecha = Venta.Fecha;
        //                query.IdVenta = Venta.IdVenta;

        //                //context.Ventas.Add(query);
        //                context.SaveChanges();

        //                result.Correct = true;
        //            }
        //            else
        //            {
        //                result.Correct = false;
        //                result.ErrorMessage = "No se pudo editar la venta";
        //            }
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e.Message;
        //    }
        //    return result;
        //}

        //public static ML.Result VentaGetAllLinq()
        //{
        //    ML.Result result = new ML.Result();
        //    try
        //    {
        //        using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
        //        {
        //            var query = (from v in context.Ventas
        //                         select new
        //                         {
        //                             IdVenta = v.IdVenta,
        //                             IdCliente = v.IdCliente,
        //                             Total = v.Total,
        //                             IdMetodoPago = v.IdMetodoPago,
        //                             Fecha = v.Fecha
        //                         }).ToList();

        //            if (query != null)
        //            {
        //                result.Objects = new List<object>();

        //                foreach (var item in query)
        //                {
        //                    ML.Venta venta = new ML.Venta();
        //                    venta.IdVenta = item.IdVenta;
        //                    venta.IdCliente = item.IdVenta;
        //                    venta.Total = (float) item.Total;
        //                    venta.IdMetodoPago = (int) item.IdMetodoPago;
        //                    venta.Fecha = (DateTime) item.Fecha;

        //                    result.Objects.Add(venta);
        //                }
        //                result.Correct = true;
        //            }
        //            else
        //            {
        //                result.Correct = false;
        //            }
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        result.Correct = false;
        //        result.ErrorMessage = "Error en " + e.Message;
        //    }
        //    return result;
        //}


        /*Venta y VentaDetalle con entity*/

        public static ML.Result VentaAdd(ML.Venta venta, List <object> Result)
        {
            ML.Result result = new ML.Result();
            try
            {
                using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
                {
                    //@@identity
                    var IdVenta = new ObjectParameter("IdVenta", typeof(int));
                    var query   = context.AddVenta(IdVenta, venta.IdCliente, venta.Total, venta.IdMetodoPago, venta.Fecha);

                    if (query == 1)
                    {
                        foreach (ML.Producto producto in Result.ToList())
                        {
                            ML.VentaProducto ventaProducto = new ML.VentaProducto();
                            //recorre e inserta
                            ventaProducto.Venta               = new ML.Venta();
                            ventaProducto.Venta.IdVenta       = (int)IdVenta.Value;
                            ventaProducto.Venta.IdCliente     = venta.IdCliente;
                            ventaProducto.Cantidad            = 1;
                            ventaProducto.Producto            = new ML.Producto();
                            ventaProducto.Producto.IdProducto = producto.IdProducto;
                            ventaProducto.ProductoSucursal    = new ML.ProductoSucursal();
                            ventaProducto.ProductoSucursal.IdProductoSucursal = 2;

                            BL.VentaProducto.VentaProductoAdd(ventaProducto);
                        }
                        result.Correct = true;
                    }
                    else
                    {
                        result.Correct = false;
                    }
                }
            }
            catch (Exception e)
            {
                result.Correct      = false;
                result.ErrorMessage = "Error en " + e.Message;
            }
            return(result);
        }
        /*GetAllVentaProducto con EF*/
        public static ML.Result VentaProductoGetAllEF()
        {
            ML.Result result = new ML.Result();
            try
            {
                using (DL_EF.JFernandezEcommerce2Entities context = new DL_EF.JFernandezEcommerce2Entities())
                {
                    var listaVentaProducto = context.GetAllVentaProducto().ToList();

                    if (listaVentaProducto != null)
                    {
                        result.Objects = new List <object>();
                        foreach (var item in listaVentaProducto)
                        {
                            ML.VentaProducto ventaproducto = new ML.VentaProducto();
                            ventaproducto.IdVentaProducto  = item.IdVentaProducto;
                            ventaproducto.Venta            = new ML.Venta();
                            ventaproducto.Venta.IdVenta    = (int)item.IdVenta;
                            ventaproducto.ProductoSucursal = new ML.ProductoSucursal();
                            ventaproducto.ProductoSucursal.IdProductoSucursal = (int)item.IdProductoSucursal;
                            ventaproducto.Cantidad            = (int)item.Cantidad;
                            ventaproducto.Producto            = new ML.Producto();
                            ventaproducto.Producto.IdProducto = (int)item.IdProducto;

                            result.Objects.Add(ventaproducto);
                        }
                        result.Correct = true;
                    }
                    else
                    {
                        result.Correct      = false;
                        result.ErrorMessage = "No hay registros";
                    }
                }
            }
            catch (Exception e)
            {
                result.Correct      = false;
                result.ErrorMessage = "Error en " + e.Message;
            }
            return(result);
        }
Beispiel #7
0
        /*COLLECTION Venta y VentaDetalle con ADO NET COLLECTION*/
        public static ML.Result VentaAddADONET(ML.Venta Venta, List <object> Result)
        {
            ML.Result result = new ML.Result();
            try
            {
                using (SqlConnection context = new SqlConnection(DL.Conexion.GetConnectionString()))
                {
                    string query = "INSERT INTO [Venta] ([IdCliente], [Total], [IdMetodoPago], [Fecha]) VALUES (@IdCliente, @Total, @IdMetodoPago, @Fecha) SELECT CAST(scope_identity() AS int)";

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection  = context;
                        cmd.CommandText = query;

                        //Entrada de datos
                        SqlParameter[] collection = new SqlParameter[4];

                        collection[0]       = new SqlParameter("IdCliente", SqlDbType.Int);
                        collection[0].Value = Venta.IdCliente;

                        collection[1]       = new SqlParameter("Total", SqlDbType.Float);
                        collection[1].Value = Venta.Total;

                        collection[2]       = new SqlParameter("IdMetodoPago", SqlDbType.Int);
                        collection[2].Value = Venta.IdMetodoPago;

                        collection[3]       = new SqlParameter("Fecha", SqlDbType.Date);
                        collection[3].Value = DateTime.Now;



                        //cmd.Connection.Open();
                        //var resultQuery = cmd.ExecuteScalar();

                        cmd.Parameters.AddRange(collection);

                        cmd.Connection.Open();
                        var resultQuery = cmd.ExecuteScalar();

                        cmd.Connection.Close();


                        if (resultQuery != null)
                        {
                            result.Correct = true;

                            foreach (ML.Producto producto in Result.ToList())
                            {
                                ML.VentaProducto ventaProducto = new ML.VentaProducto();
                                ventaProducto.Venta               = new ML.Venta();
                                ventaProducto.Venta.IdVenta       = (int)resultQuery;
                                ventaProducto.Venta.IdCliente     = Venta.IdCliente;
                                ventaProducto.Cantidad            = 2;                   //uno por producto
                                ventaProducto.Producto            = new ML.Producto();
                                ventaProducto.Producto.IdProducto = producto.IdProducto; // idproducto
                                ventaProducto.ProductoSucursal    = new ML.ProductoSucursal();
                                ventaProducto.ProductoSucursal.IdProductoSucursal = 2;

                                //envio al BL de VentaProducto
                                BL.VentaProducto.VentaProductoAddADONET(ventaProducto);
                            }
                        }
                        else
                        {
                            result.Correct = false;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                result.Correct      = false;
                result.ErrorMessage = "Error en " + e.Message;
            }
            return(result);
        }
Beispiel #8
0
        /*Venta y VentaDetalle con ADO SP*/
        public static ML.Result VentaAddADOSP(ML.Venta venta, List <object> Result)
        {
            ML.Result result = new ML.Result();
            try
            {
                SqlConnection context = new SqlConnection(DL.Conexion.GetConnectionString());
                SqlCommand    cmd     = new SqlCommand();

                cmd.Connection  = context;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "AddVenta";


                cmd.Connection.Open();
                //@@identity
                SqlParameter outparam = cmd.Parameters.Add("@IdVenta", SqlDbType.Int);
                outparam.Direction = ParameterDirection.Output;



                //cmd.Parameters.Add("@IdVenta", SqlDbType.Int).Value = Convert.ToInt16(cmd.Parameters["@IdVenta"].Value); ;
                cmd.Parameters.Add("@IdCliente", SqlDbType.Int).Value    = venta.IdCliente;
                cmd.Parameters.Add("@Total", SqlDbType.Decimal).Value    = venta.Total;
                cmd.Parameters.Add("@IdMetodoPago", SqlDbType.Int).Value = venta.IdMetodoPago;
                cmd.Parameters.Add("@Fecha", SqlDbType.Date).Value       = venta.Fecha;

                int rowsAffected = cmd.ExecuteNonQuery();

                int idped = Convert.ToInt16(cmd.Parameters["@IdVenta"].Value);

                cmd.Connection.Close();

                if (rowsAffected >= 1)
                {
                    foreach (ML.Producto producto in Result.ToList())
                    {
                        ML.VentaProducto ventaProducto = new ML.VentaProducto();
                        ventaProducto.Venta               = new ML.Venta();
                        ventaProducto.Venta.IdVenta       = (int)idped;
                        ventaProducto.Venta.IdCliente     = venta.IdCliente;
                        ventaProducto.Cantidad            = 1;                   //uno por producto
                        ventaProducto.Producto            = new ML.Producto();
                        ventaProducto.Producto.IdProducto = producto.IdProducto; // idproducto
                        ventaProducto.ProductoSucursal    = new ML.ProductoSucursal();
                        ventaProducto.ProductoSucursal.IdProductoSucursal = 1;

                        //envio al BL de VentaProducto
                        BL.VentaProducto.VentaProductoAddADOSP(ventaProducto);
                    }

                    result.Correct = true;
                }
                else
                {
                    result.Correct = false;
                }
            }
            catch (Exception e)
            {
                result.Correct      = false;
                result.ErrorMessage = "Error en " + e.Message;
            }

            return(result);
        }