Example #1
0
        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);
            }
        }
Example #2
0
        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);
            }
        }