public static List <CotizacionesDetalle> AgregarArticulo(List <CotizacionesDetalle> detalle, int articuloID, int cantidad, int importe, decimal precio, string descripcion)
        {
            CotizacionesDetalle cotisacion = new CotizacionesDetalle();


            foreach (var cotisar in detalle)
            {
                if (cotisar.ArticuloID == articuloID)
                {
                    cotisar.Cantidad += cantidad;
                    cotisar.Importe  += importe;
                    break;
                }

                if (detalle.Exists(x => x.ArticuloID == articuloID) == false)
                {
                    detalle.Add(new CotizacionesDetalle(cotisar.CotizacionesID, articuloID, cantidad, precio, descripcion, importe));
                    foreach (var detalles in detalle)
                    {
                        if (detalles.ArticuloID == articuloID)
                        {
                            cotisacion = detalles;
                            break;
                        }
                    }

                    Guardar(cotisacion);
                    break;
                }
            }
            return(detalle);
        }
        public static bool Modificar(CotizacionesDetalle Cotisaciones)
        {
            bool paso = false;

            try
            {
                Contexto contex     = new Contexto();
                var      articulo   = BLL.ArticulosBLL.Buscar(Cotisaciones.ArticuloID);
                var      cotizacion = Buscar(Cotisaciones.ID);
                articulo.ArticulosCotizados -= cotizacion.Cantidad;
                BLL.ArticulosBLL.Modificar(articulo);

                contex.Entry(Cotisaciones).State = System.Data.Entity.EntityState.Modified;

                articulo.ArticulosCotizados += Cotisaciones.Cantidad;
                BLL.ArticulosBLL.Modificar(articulo);
                if (contex.SaveChanges() > 0)
                {
                    paso = true;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }
        public static CotizacionesDetalle ModificarArticulos(List <CotizacionesDetalle> Cotisaciones, int id)
        {
            CotizacionesDetalle cotisar = new CotizacionesDetalle();

            foreach (var Detalle in Cotisaciones)
            {
                if (Detalle.ID == id)
                {
                    cotisar = Detalle;
                    break;
                }
            }
            return(cotisar);
        }
        public static CotizacionesDetalle Buscar(int ID)
        {
            CotizacionesDetalle cotizaciones = new CotizacionesDetalle();

            try
            {
                Contexto contex = new Contexto();
                cotizaciones = contex.detalle.Find(ID);
            }
            catch (Exception)
            {
                throw;
            }
            return(cotizaciones);
        }
        public static CotizacionesDetalle BuscarDetalle(int id, int ID)
        {
            List <CotizacionesDetalle> detalle = new List <CotizacionesDetalle>();
            CotizacionesDetalle        cotisar = new CotizacionesDetalle();

            detalle = GetList(tt => tt.CotizacionesID == id);

            foreach (var lista in detalle)
            {
                if (lista.ID == ID)
                {
                    var articulo = BLL.ArticulosBLL.Buscar(lista.ArticuloID);
                    lista.Descripcion = articulo.Descripcion;
                    cotisar           = lista;
                    break;
                }
            }
            return(cotisar);
        }
        public static bool Guardar(CotizacionesDetalle cotizacion)
        {
            bool paso = false;

            try
            {
                Contexto contex = new Contexto();
                if (contex.detalle.Add(cotizacion) != null)
                {
                    contex.SaveChanges();
                    paso = true;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(paso);
        }