Exemple #1
0
        public bool InsertOrUpdateGestionProduccion(ActaSeguimGestionProduccionModel produccion, ref string mensaje)
        {
            bool insertado = false;

            using (FonadeDBLightDataContext db = new FonadeDBLightDataContext(_cadena))
            {
                int CantidadAnt = (from g in db.ActaSeguimGestionProduccion
                                   where g.codConvocatoria == produccion.codConvocatoria &&
                                   g.codProyecto == produccion.codProyecto &&
                                   g.numActa == (produccion.numActa - 1)
                                   select g.Cantidad).FirstOrDefault();


                if (produccion.cantidad >= CantidadAnt)
                {
                    var actaProduccion = (from g in db.ActaSeguimGestionProduccion
                                          where g.codConvocatoria == produccion.codConvocatoria &&
                                          g.codProyecto == produccion.codProyecto &&
                                          g.numActa == produccion.numActa
                                          select g).FirstOrDefault();

                    if (actaProduccion != null)//Actualizar
                    {
                        actaProduccion.Descripcion  = produccion.Descripcion;
                        actaProduccion.Cantidad     = produccion.cantidad;
                        actaProduccion.FechaIngreso = DateTime.Now;
                        actaProduccion.NomProducto  = produccion.NomProducto;
                    }
                    else//Insertar
                    {
                        ActaSeguimGestionProduccion gesProduccion = new ActaSeguimGestionProduccion
                        {
                            Cantidad        = produccion.cantidad,
                            codConvocatoria = produccion.codConvocatoria,
                            codProyecto     = produccion.codProyecto,
                            Descripcion     = produccion.Descripcion,
                            numActa         = produccion.numActa,
                            visita          = produccion.visita,
                            FechaIngreso    = DateTime.Now,
                            Medida          = produccion.medida,
                        };

                        db.ActaSeguimGestionProduccion.InsertOnSubmit(gesProduccion);
                    }

                    db.SubmitChanges();

                    insertado = true;
                }
                else
                {
                    mensaje = "La cantidad ingresada de producción acumulada no puede ser menor al de la última visita.";
                }
            }

            return(insertado);
        }
Exemple #2
0
        public bool InsertOrUpdateListGestionProduccion(List <ActaSeguimGestionProduccionModel> gestionProduccion, ref string mensaje)
        {
            bool insertado = false;

            mensaje = "";
            using (FonadeDBLightDataContext db = new FonadeDBLightDataContext(_cadena))
            {
                foreach (var r in gestionProduccion)
                {
                    int CantidadAnt = (from g in db.ActaSeguimGestionProduccion
                                       where g.codConvocatoria == r.codConvocatoria &&
                                       g.codProyecto == r.codProyecto &&
                                       g.numActa == (r.numActa - 1)
                                       select g.Cantidad).FirstOrDefault();

                    if (r.cantidad >= CantidadAnt)
                    {
                        var actaProduccion = (from g in db.ActaSeguimGestionProduccion
                                              where g.codProducto == r.codProducto &&
                                              g.numActa == r.numActa
                                              select g).FirstOrDefault();

                        if (actaProduccion != null)//Actualizar
                        {
                            actaProduccion.Cantidad               = r.cantidad;
                            actaProduccion.FechaIngreso           = DateTime.Now;
                            actaProduccion.Descripcion            = r.Descripcion;
                            actaProduccion.NomProducto            = r.NomProducto;
                            actaProduccion.productoRepresentativo = r.productoRepresentativo;
                        }
                        else//Insertar
                        {
                            ActaSeguimGestionProduccion gesProducto = new ActaSeguimGestionProduccion
                            {
                                numActa                = r.numActa,
                                codConvocatoria        = r.codConvocatoria,
                                codProyecto            = r.codProyecto,
                                codProducto            = r.codProducto,
                                Descripcion            = r.Descripcion,
                                Cantidad               = r.cantidad,
                                FechaIngreso           = DateTime.Now,
                                Medida                 = r.medida,
                                visita                 = r.visita,
                                NomProducto            = r.NomProducto,
                                productoRepresentativo = r.productoRepresentativo
                            };

                            db.ActaSeguimGestionProduccion.InsertOnSubmit(gesProducto);
                        }

                        db.SubmitChanges();
                        insertado = true;
                    }
                    else
                    {
                        mensaje = mensaje + "La cantidad del producto: " +
                                  r.NomProducto + " NO puede ser menor al de la visita anterior; ";
                    }
                }
            }

            return(insertado);
        }