Пример #1
0
        void Campos(string Fecha, int Serie)
        {
            var Rutina   = new Libreria.Rutina();
            int Contador = 0;

            if (gridView1.SelectedRowsCount > 0)
            {
                List <string> Lista      = new List <string>();
                var           frmmensage = new Elementos.frmMsg();
                frmmensage.dataGridView1.Columns[0].HeaderText = "Pedido";
                frmmensage.dataGridView1.Columns[1].HeaderText = "Mensage";
                frmmensage.dataGridView1.Columns[2].HeaderText = string.Empty;
                frmmensage.dataGridView1.Columns[3].HeaderText = string.Empty;
                using (var CTX = new LiderEntities())
                {
                    foreach (var fila in gridView1.GetSelectedRows())
                    {
                        string Pedido_  = Convert.ToString(gridView1.GetRowCellValue(fila, "num Pedido"));
                        string Tipo     = CTX.PEDIDOes.Where(x => x.Pedido1 == Pedido_).Select(p => p.tipodoc).FirstOrDefault();
                        int    Persona  = Convert.ToInt32(CTX.PEDIDOes.Where(x => x.Pedido1 == Pedido_).Select(p => p.TipoPersona).FirstOrDefault());
                        var    Estado   = CTX.PEDIDOes.Where(x => x.Pedido1 == Pedido_).Select(p => p.Procesado).FirstOrDefault();
                        var    Aprobado = CTX.PEDIDOes.Where(x => x.Pedido1 == Pedido_).Select(p => p.Aprobado).FirstOrDefault();
                        if (!Estado)
                        {
                            Contador += 1;
                            if (Aprobado is DBNull ? false : (bool)Aprobado)
                            {
                                Contador += 1;
                                Lista.Add(Pedido_);
                                CTX.sp_genera_documento(Pedido_, Persona, Tipo);
                            }
                            else
                            {
                                frmmensage.dataGridView1.Rows.Add(Pedido_, "Pedido se encuentra desaprobado.");
                            }
                        }
                        else
                        {
                            frmmensage.dataGridView1.Rows.Add(Pedido_, "Pedido se encuentra procesado.");
                        }
                    }
                    if (Contador == 0)
                    {
                        frmmensage.Show();
                    }
                    else if (Contador == 2)
                    {
                        string cadena     = string.Join(",", Lista.ToArray());
                        var    Documentos = (from doc in CTX.DOCUMENTOes
                                             where cadena.Contains(doc.Pedido.Trim())
                                             select new
                        {
                            Documento = doc.Documento1,
                            Tipo = doc.TipoDoc
                        })
                                            .ToList();
                        foreach (var fila in Documentos)
                        {
                            try
                            {
                                int    Numero;
                                string serie, NumeroComprobante;
                                switch (fila.Tipo)
                                {
                                case "B":
                                    Numero            = Convert.ToInt32((from p in CTX.DOCTIPOes.AsEnumerable() where p.PKID == Serie select p.Numero).FirstOrDefault());
                                    serie             = Convert.ToString((from p in CTX.DOCTIPOes.AsEnumerable() where p.PKID == Serie select p.Serie).FirstOrDefault());
                                    NumeroComprobante = serie + Numero.ToString("D8");
                                    var Cp = (from p in CTX.DOCUMENTOes where p.Documento1 == fila.Documento && p.TipoDoc == fila.Tipo select p).FirstOrDefault();
                                    Cp.Generado = NumeroComprobante;
                                    var Pd = (from p in CTX.PEDIDOes
                                              where p.Pedido1 == CTX.DOCUMENTOes.Where(y => y.Documento1 == fila.Documento && y.TipoDoc == fila.Tipo).Select(x => x.Pedido.Trim()).FirstOrDefault()
                                              select p).FirstOrDefault();
                                    Pd.Procesado = true;
                                    Pd.statusWeb = true;
                                    var DTp = (from p in CTX.DOCTIPOes where p.PKID == Serie select p).FirstOrDefault();
                                    DTp.Numero = DTp.Numero + 1;
                                    break;

                                case "F":
                                    Numero            = Convert.ToInt32((from p in CTX.DOCTIPOes.AsEnumerable() where p.PKID == Serie select p.Numero).FirstOrDefault());
                                    serie             = Convert.ToString((from p in CTX.DOCTIPOes.AsEnumerable() where p.PKID == Serie select p.Serie).FirstOrDefault());
                                    NumeroComprobante = serie + Numero.ToString("D8");
                                    var Cp_ = (from p in CTX.DOCUMENTOes where p.Documento1 == fila.Documento && p.TipoDoc == fila.Tipo select p).FirstOrDefault();
                                    Cp_.Generado = NumeroComprobante;
                                    var Pd_ = (from p in CTX.PEDIDOes
                                               where p.Pedido1 == CTX.DOCUMENTOes.Where(y => y.Documento1 == fila.Documento && y.TipoDoc == fila.Tipo).Select(x => x.Pedido.Trim()).FirstOrDefault()
                                               select p).FirstOrDefault();
                                    Pd_.Procesado = true;
                                    Pd_.statusWeb = true;
                                    var DTp_ = (from p in CTX.DOCTIPOes where p.PKID == Serie select p).FirstOrDefault();
                                    DTp_.Numero = DTp_.Numero + 1;
                                    break;
                                }
                            }
                            catch (DbEntityValidationException t)
                            {
                                foreach (var eve in t.EntityValidationErrors)
                                {
                                    foreach (var ve in eve.ValidationErrors)
                                    {
                                        MessageBox.Show("Propiedad: \"" + ve.PropertyName + "\", Error: \"" + ve.ErrorMessage + "\"");
                                    }
                                }
                                Refrescar();
                            }
                        }
                        CTX.SaveChanges();
                        Rutina.ejecutar("sp_stock_sistema_nuevo '" + DateTime.Now.Date.ToString("yyyyMMdd") + "', 2");
                        Rutina.ejecutar("sp_stock_sistema_web '" + DateTime.Now.Date.ToString("yyyyMMdd") + "', 2");
                        MessageBox.Show("Se realizo la facturacion de : " + Lista.Count + " con exito.\n Detalles en control genera.");
                        Refrescar();
                    }
                }
            }
        }
Пример #2
0
        void GeneraDocumentos()
        {
            var proceso = new Libreria.Rutina();
            var fecha   = Convert.ToDateTime(FechaProceso.EditValue).ToString("dd/MM/yyyy");
            var Dia     = Convert.ToInt32(DateTime.Parse(fecha).DayOfWeek) == 0 ? 7 : Convert.ToInt32(DateTime.Parse(fecha).DayOfWeek);

            if (flRuta.Checked)
            {
                var Campos = new List <string>();
                foreach (var i in gridView1.GetSelectedRows())
                {
                    Campos.Add("'" + Convert.ToString(gridView1.GetRowCellValue(i, "Codigo")).Trim() + "'");
                }
                string cadena = string.Join(",", Campos.ToArray());
                using (var Context = new LiderEntities())
                {
                    var Pedidos = (from p in Context.PEDIDOes.AsEnumerable()
                                   join r in Context.REPARTOes.AsEnumerable().Where(x => x.Dia == Dia && cadena.Contains(x.Ruta)) on p.Personal equals r.Personal
                                   where p.Fecha == DateTime.Parse(fecha) && p.Aprobado == true && p.Procesado == false && p.gestion == Gestion.EditValue.ToString().Trim()
                                   select new { Pedido = p.Pedido1, Persona = p.TipoPersona, Tipo = p.tipodoc }).ToList();

                    if (Pedidos.Count > 0)
                    {
                        foreach (var fila in Pedidos)
                        {
                            Context.sp_genera_documento(fila.Pedido, Convert.ToInt32(fila.Persona), fila.Tipo);
                        }
                        var Documentos = (from p in Context.DOCUMENTOes.AsEnumerable()
                                          join r in Pedidos on p.Pedido equals r.Pedido
                                          select new { Documento = p.Documento1.Trim(), Tipo = p.TipoDoc.Trim() }).ToList();
                        foreach (var fila in Documentos)
                        {
                            try
                            {
                                if (fila.Tipo == "B")
                                {
                                    var Numero            = Convert.ToInt32((from p in Context.DOCTIPOes.AsEnumerable() where p.PKID == (int)SerieBoletas.EditValue select p.Numero).FirstOrDefault());
                                    var serie             = SerieBoletas.Text.Trim();
                                    var NumeroComprobante = serie + Numero.ToString("D8");
                                    var Cp = (from p in Context.DOCUMENTOes where p.Documento1 == fila.Documento && p.TipoDoc == fila.Tipo select p).FirstOrDefault();
                                    Cp.Generado = NumeroComprobante;
                                    var Pd = (from p in Context.PEDIDOes
                                              where p.Pedido1 == Context.DOCUMENTOes.Where(y => y.Documento1 == fila.Documento && y.TipoDoc == fila.Tipo).Select(x => x.Pedido.Trim()).FirstOrDefault()
                                              select p).FirstOrDefault();
                                    Pd.Procesado = true;
                                    Pd.statusWeb = true;
                                    var Dt = (from p in Context.DOCTIPOes where p.PKID == (int)SerieBoletas.EditValue select p).FirstOrDefault();
                                    Dt.Numero = Dt.Numero + 1;
                                }
                                else if (fila.Tipo == "F")
                                {
                                    var Numero = Convert.ToInt32((from p in Context.DOCTIPOes.AsEnumerable()
                                                                  where p.PKID == (int)SerieFacturas.EditValue
                                                                  select p.Numero).FirstOrDefault());
                                    var serie             = SerieFacturas.Text.Trim();
                                    var NumeroComprobante = serie + Numero.ToString("D8");
                                    var Cp = (from p in Context.DOCUMENTOes
                                              where p.Documento1 == fila.Documento && p.TipoDoc == fila.Tipo
                                              select p).FirstOrDefault();
                                    Cp.Generado = NumeroComprobante;
                                    var Pd = (from p in Context.PEDIDOes
                                              where p.Pedido1 == Context.DOCUMENTOes.Where(y => y.Documento1 == fila.Documento && y.TipoDoc == fila.Tipo).Select(x => x.Pedido.Trim()).FirstOrDefault()
                                              select p).FirstOrDefault();
                                    Pd.Procesado = true;
                                    Pd.statusWeb = true;
                                    var Dt = (from p in Context.DOCTIPOes
                                              where p.PKID == (int)SerieFacturas.EditValue
                                              select p).FirstOrDefault();
                                    Dt.Numero = Dt.Numero + 1;
                                }
                            }
                            catch (DbEntityValidationException t)
                            {
                                foreach (var eve in t.EntityValidationErrors)
                                {
                                    foreach (var ve in eve.ValidationErrors)
                                    {
                                        MessageBox.Show("Propiedad: \"" + ve.PropertyName + "\", Error: \"" + ve.ErrorMessage + "\"");
                                    }
                                }
                            }
                        }
                        Context.SaveChanges();
                        MessageBox.Show("Se realizo la facturacion de : " + Pedidos.Count + " Pedidos con exito.\n Detalles en control genera.");
                    }
                    else
                    {
                        MessageBox.Show("No existen pedidos para procesar");
                    }
                }
            }
            else if (flVendedor.Checked)
            {
                var Campos = new List <string>();
                foreach (var i in gridView1.GetSelectedRows())
                {
                    Campos.Add("'" + Convert.ToString(gridView1.GetRowCellValue(i, "Codigo")) + "'");
                }
                string cadena = string.Join(",", Campos.ToArray());
                using (var Context = new LiderEntities())
                {
                    var Pedidos = (from p in Context.PEDIDOes.AsEnumerable()
                                   where p.Fecha == DateTime.Parse(fecha) &&
                                   cadena.Contains(p.Personal) && p.Aprobado == true && p.Procesado == false && p.gestion == Gestion.EditValue.ToString().Trim()
                                   select new { Pedido = p.Pedido1, Persona = p.TipoPersona, Tipo = p.tipodoc }).ToList();
                    if (Pedidos.Count > 0)
                    {
                        foreach (var fila in Pedidos)
                        {
                            Context.sp_genera_documento(fila.Pedido, Convert.ToInt32(fila.Persona), fila.Tipo);
                        }
                        var Documentos = (from p in Context.DOCUMENTOes.AsEnumerable()
                                          join r in Pedidos on p.Pedido equals r.Pedido
                                          select new { Documento = p.Documento1.Trim(), Tipo = p.TipoDoc.Trim() }).ToList();
                        foreach (var fila in Documentos)
                        {
                            try
                            {
                                if (fila.Tipo == "B")
                                {
                                    var Numero            = Convert.ToInt32((from p in Context.DOCTIPOes.AsEnumerable() where p.PKID == (int)SerieBoletas.EditValue select p.Numero).FirstOrDefault());
                                    var serie             = SerieBoletas.Text.Trim();
                                    var NumeroComprobante = serie + Numero.ToString("D8");
                                    var Cp = (from p in Context.DOCUMENTOes where p.Documento1 == fila.Documento && p.TipoDoc == fila.Tipo select p).FirstOrDefault();
                                    Cp.Generado = NumeroComprobante;
                                    var Pd = (from p in Context.PEDIDOes
                                              where p.Pedido1 == Context.DOCUMENTOes.Where(y => y.Documento1 == fila.Documento && y.TipoDoc == fila.Tipo).Select(x => x.Pedido.Trim()).FirstOrDefault()
                                              select p).FirstOrDefault();
                                    Pd.Procesado = true;
                                    Pd.statusWeb = true;
                                    var Dt = (from p in Context.DOCTIPOes where p.PKID == (int)SerieBoletas.EditValue select p).FirstOrDefault();
                                    Dt.Numero = Dt.Numero + 1;
                                }
                                else if (fila.Tipo == "F")
                                {
                                    var Numero = Convert.ToInt32((from p in Context.DOCTIPOes.AsEnumerable()
                                                                  where p.PKID == (int)SerieFacturas.EditValue
                                                                  select p.Numero).FirstOrDefault());
                                    var serie             = SerieFacturas.Text.Trim();
                                    var NumeroComprobante = serie + Numero.ToString("D8");
                                    var Cp = (from p in Context.DOCUMENTOes
                                              where p.Documento1 == fila.Documento && p.TipoDoc == fila.Tipo
                                              select p).FirstOrDefault();
                                    Cp.Generado = NumeroComprobante;
                                    var Pd = (from p in Context.PEDIDOes
                                              where p.Pedido1 == Context.DOCUMENTOes.Where(y => y.Documento1 == fila.Documento && y.TipoDoc == fila.Tipo).Select(x => x.Pedido.Trim()).FirstOrDefault()
                                              select p).FirstOrDefault();
                                    Pd.Procesado = true;
                                    Pd.statusWeb = true;
                                    var Dt = (from p in Context.DOCTIPOes
                                              where p.PKID == (int)SerieFacturas.EditValue
                                              select p).FirstOrDefault();
                                    Dt.Numero = Dt.Numero + 1;
                                }
                            }
                            catch (DbEntityValidationException t)
                            {
                                foreach (var eve in t.EntityValidationErrors)
                                {
                                    foreach (var ve in eve.ValidationErrors)
                                    {
                                        MessageBox.Show("Propiedad: \"" + ve.PropertyName + "\", Error: \"" + ve.ErrorMessage + "\"");
                                    }
                                }
                            }
                        }
                        Context.SaveChanges();
                        MessageBox.Show("Se realizo la facturacion de : " + Pedidos.Count + " con exito.\n Detalles en control genera.");
                    }
                    else
                    {
                        MessageBox.Show("No existen pedidos para procesar");
                    }
                }
            }
        }