/// <summary>
 /// Crear un nuevo objeto SolicitudDet.
 /// </summary>
 /// <param name="numero">Valor inicial de la propiedad Numero.</param>
 /// <param name="idEmpresa">Valor inicial de la propiedad idEmpresa.</param>
 /// <param name="linea">Valor inicial de la propiedad Linea.</param>
 /// <param name="idArticulo">Valor inicial de la propiedad idArticulo.</param>
 /// <param name="cantidad">Valor inicial de la propiedad Cantidad.</param>
 public static SolicitudDet CreateSolicitudDet(global::System.Int32 numero, global::System.Int32 idEmpresa, global::System.Int32 linea, global::System.Int32 idArticulo, global::System.Int32 cantidad)
 {
     SolicitudDet solicitudDet = new SolicitudDet();
     solicitudDet.Numero = numero;
     solicitudDet.idEmpresa = idEmpresa;
     solicitudDet.Linea = linea;
     solicitudDet.idArticulo = idArticulo;
     solicitudDet.Cantidad = cantidad;
     return solicitudDet;
 }
        public bool ModificarDetalle(List<clsSolicitud_DetT> lista_detalle, int lista_anterior)
        {
            try
            {
                int cantidad_anterior = lista_anterior;
                int cantidad_nueva = lista_detalle.Count();
                clsSolicitud_DetT e = new clsSolicitud_DetT();

                //esto es para verificar si se aumento un nuevo artículo a la lista, en este caso seaumento artículos
                if (cantidad_nueva > cantidad_anterior)
                {
                    using (CompraEntities ent = new CompraEntities())
                    {
                        //se realiza el ingreso del nuevo detalle
                        int cantidad = lista_detalle.Count();
                        int i = cantidad_nueva - 1;
                        while (cantidad_nueva > cantidad_anterior)
                        {
                            e = lista_detalle[i];
                            SolicitudDet solicitud_detalle = new SolicitudDet()
                            {
                                Numero = e.Numero,
                                idEmpresa = e.Id_Empresa,
                                Linea = e.linea,
                                idArticulo = e.Id_articulo,
                                Cantidad = e.cantidad
                            };

                            ent.AddToSolicitudDet(solicitud_detalle);
                            ent.SaveChanges();
                            i--;
                            cantidad_nueva--;
                        }
                    }

                    //se modifica si los anteriores registros
                    using (CompraEntities ent = new CompraEntities())
                    {
                        int i = 0;
                        while (i < cantidad_anterior)
                        {
                            e = lista_detalle[i];
                            //busca por PK el primero que encuentre lo coge
                            var x = (from a in ent.SolicitudDet where a.Numero == e.Numero && a.Linea == e.linea select a).First();
                            x.Numero = e.Numero;
                            x.idEmpresa = e.Id_Empresa;
                            x.Linea = e.linea;
                            x.idArticulo = e.Id_articulo;
                            x.Cantidad = e.cantidad;
                            ent.SaveChanges();
                            i++;
                        }
                    }
                    return true;
                }
                else
                {

                    using (CompraEntities ent = new CompraEntities())
                    {
                        int cantidad = lista_detalle.Count();
                        int i = 0;
                        while (i < cantidad)
                        {
                            e = lista_detalle[i];
                            //busca por PK el primero que encuentre lo coge
                            var x = (from a in ent.SolicitudDet where a.Numero == e.Numero && a.Linea == e.linea select a).First();
                            x.Numero = e.Numero;
                            x.idEmpresa = e.Id_Empresa;
                            x.Linea = e.linea;
                            x.idArticulo = e.Id_articulo;
                            x.Cantidad = e.cantidad;
                            ent.SaveChanges();
                            i++;
                        }
                    }
                    return true;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error al momento de Modificar el detalle de la Solicitud: " + ex);
                return false;
            }
        }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet SolicitudDet. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToSolicitudDet(SolicitudDet solicitudDet)
 {
     base.AddObject("SolicitudDet", solicitudDet);
 }
        public bool GuardarDet(List<clsSolicitud_DetT> lista_detalle)
        {
            try
            {
                clsSolicitud_DetT e = new clsSolicitud_DetT();
                int id = getIdSiguiente();
                e.Numero = id - 1;
                using (CompraEntities ent = new CompraEntities())
                { //se instancia el entity para poder usar los nombres de las tablas

                    //se hace el ingreso de cada detalle que existe en la lista
                    int cantidad = lista_detalle.Count();
                    int i = 0;
                    while(i < cantidad)
                    {
                        e = lista_detalle[i];
                        SolicitudDet solicitud_detalle = new SolicitudDet()
                        {
                            Numero = e.Numero,
                            idEmpresa = e.Id_Empresa,
                            Linea = e.linea,
                            idArticulo = e.Id_articulo,
                            Cantidad = e.cantidad
                        };

                        ent.AddToSolicitudDet(solicitud_detalle);
                        ent.SaveChanges();
                        i++;
                    }

                }
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error al guardar el detalle de la Solicitud: " + ex);
                return false;
            }
        }