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(); } } } }
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"); } } } }