void condicion(string cadena) { using (var Context = new LiderEntities()) { var proceso = new Libreria.Rutina(); string Query = Convert.ToString(Context.VistaAdministrativas.Where(x => x.IDModulo == (Context.Moduloes.Where(a => a.Nombre == NModulo).Select(b => b.PKID)).FirstOrDefault()).Select(a => a.Vista.Trim()).FirstOrDefault()); if (cadena.Length == 0) { proceso.consultar(Query, Tabla); gridControl1.DataSource = proceso.ds.Tables[Tabla]; gridView1.BestFitColumns(); } else { try { proceso.consultar(Query + " and " + cadena, Tabla); gridControl1.DataSource = proceso.ds.Tables[Tabla]; gridView1.BestFitColumns(); } catch { gridControl1.DataSource = null; gridControl1.Refresh(); } } } }
private void BtnFiltrar_Click(object sender, EventArgs e) { var proceso = new Libreria.Rutina(); string Fecha = Convert.ToDateTime(FechaProceso.EditValue).ToString("yyyyMMdd"); if (flRuta.Checked && FechaProceso.EditValue != null) { gridControl1.DataSource = null; gridView1.Columns.Clear(); using (var Context = new LiderEntities()) { proceso.consultar(@" SELECT REPARTO.Ruta As Codigo, RUTAS.Descripcion FROM RUTAS INNER JOIN REPARTO ON RUTAS.codigo = REPARTO.Ruta WHERE(REPARTO.Dia = DATEPART(w, '" + Fecha + @"')) AND (RUTAS.Activo = 1) AND (REPARTO.Activo = 1) GROUP BY REPARTO.Ruta,RUTAS.Descripcion;", "Rutas"); gridControl1.DataSource = proceso.ds.Tables["Rutas"]; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.BestFitColumns(); gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsSelection.MultiSelect = true; gridView1.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect; } } else if (flVendedor.Checked) { gridControl1.DataSource = null; gridView1.Columns.Clear(); using (var Context = new LiderEntities()) { proceso.consultar(@" SELECT Vva_Vendedor.[Codigo vendedor] AS Codigo, FuerzaVentas.descrip AS FzaVentas, Vva_Vendedor.[Nombre Vendedor] AS Nombre FROM Vva_Vendedor INNER JOIN FuerzaVentas ON Vva_Vendedor.IDFzaVentas = FuerzaVentas.fzavtas WHERE FuerzaVentas.PKID > 0; ", "vendedor"); gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsSelection.MultiSelect = true; gridView1.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect; gridControl1.DataSource = proceso.ds.Tables["vendedor"]; gridView1.BestFitColumns(); gridView1.Columns[1].GroupIndex = 1; } } }
void condicion(string cadena) { var proceso = new Libreria.Rutina(); using (var Context = new LiderEntities()) { string Query = Convert.ToString(Context.VistaAdministrativas.Where(x => x.IDModulo == (Context.Moduloes.Where(a => a.Nombre == NModulo).Select(b => b.PKID)).FirstOrDefault()).Select(a => a.Vista.Trim()).FirstOrDefault()); if (cadena.Length == 0) { proceso.consultar(Query, tabla); gridControl1.DataSource = proceso.ds.Tables[tabla]; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsView.ShowFooter = true; gridView1.FooterPanelHeight = -2; gridView1.Columns["Valor Venta"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; gridView1.Columns["Igv"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; gridView1.Columns["Valor Total"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; gridView1.Columns["Tipo Condicion"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.GroupRowHeight = 1; gridView1.RowHeight = 1; gridView1.Appearance.Row.FontSizeDelta = 0; gridView1.BestFitColumns(); } else { try { proceso.consultar(Query + " having " + cadena, tabla); gridControl1.DataSource = proceso.ds.Tables[tabla]; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsView.ShowFooter = true; gridView1.Columns["Valor Venta"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; gridView1.Columns["Igv"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; gridView1.Columns["Valor Total"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum; gridView1.Columns["Tipo Condicion"].SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count; gridView1.GroupRowHeight = 1; gridView1.RowHeight = 1; gridView1.Appearance.Row.FontSizeDelta = 0; gridView1.BestFitColumns(); } catch { gridControl1.DataSource = null; gridControl1.Refresh(); } } } }
void condicion(string cadena) { using (var Context = new LiderEntities()) { var proceso = new Libreria.Rutina(); string Query = Convert.ToString(Context.VistaAdministrativas.Where(x => x.IDModulo == (Context.Moduloes.Where(a => a.Nombre == NModulo).Select(b => b.PKID)).FirstOrDefault()).Select(a => a.Vista.Trim()).FirstOrDefault()); if (cadena.Length == 0) { proceso.consultar(Query, entidad); gridControl1.DataSource = null; gridView1.Columns.Clear(); gridControl1.DataSource = proceso.ds.Tables[entidad]; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.Columns[0].Visible = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsView.ShowFooter = true; gridView1.FooterPanelHeight = -2; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.GroupRowHeight = 1; gridView1.RowHeight = 1; gridView1.Appearance.Row.FontSizeDelta = 0; gridView1.BestFitColumns(); } else { try { gridControl1.DataSource = null; gridView1.Columns.Clear(); proceso.consultar(Query + " where " + cadena, entidad); gridControl1.DataSource = proceso.ds.Tables[entidad]; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.Columns[0].Visible = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsView.ShowFooter = true; gridView1.GroupRowHeight = 1; gridView1.RowHeight = 1; gridView1.Appearance.Row.FontSizeDelta = 0; gridView1.BestFitColumns(); } catch { gridControl1.DataSource = null; gridControl1.Refresh(); } } } }
void Refrescar() { proceso.consultar("select campo, condicion, valor,[union] from filtro where tabla = '" + tabla + "'", tabla); List <string> lista_ = new List <string>(); foreach (DataRow DR_1 in proceso.ds.Tables[tabla].Rows) { lista_.Add(tabla + "." + "[" + DR_1[0].ToString() + "]" + DR_1[1].ToString() + "'" + DR_1[2].ToString() + "'" + DR_1[3].ToString()); } string cadena = string.Join(" ", lista_.ToArray()); condicion(cadena); }
private void IDBonificacion_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { Maestro.frmBonificacion msbonificacion = new Maestro.frmBonificacion(); proceso.consultar("select Pkid,Codigo,Descripcion from tipobonificacion where activo = 1", "tipobonificacion"); msbonificacion.gridControl1.DataSource = proceso.ds.Tables["tipobonificacion"]; msbonificacion.gridView1.OptionsView.ShowGroupPanel = false; msbonificacion.gridView1.OptionsView.ShowIndicator = false; msbonificacion.gridView1.Columns["Pkid"].Visible = false; msbonificacion.gridView1.BestFitColumns(); msbonificacion.pasar += new Maestro.frmBonificacion.variables(camposbonificacion); msbonificacion.StartPosition = FormStartPosition.CenterScreen; msbonificacion.ShowDialog(); }
private void VARIABLE_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { var proceso = new Libreria.Rutina(); switch (TPSEARCH.SelectedIndex) { case 0: var FormularioA = new Maestro.frmProveedor(); FormularioA.pasar += new Maestro.frmProveedor.variables(IDProveedor); proceso.consultar("select Proveedor, razonsocial as Nombre,ruc,direccion from proveedor", "proveedor"); FormularioA.gridControl1.DataSource = proceso.ds.Tables["proveedor"]; FormularioA.gridView1.OptionsView.ShowGroupPanel = false; FormularioA.gridView1.BestFitColumns(); FormularioA.StartPosition = FormStartPosition.CenterScreen; FormularioA.ShowDialog(); break; case 1: var FormularioB = new Maestro.frmMarca(); FormularioB.pasar += new Maestro.frmMarca.variables(IDMarca); proceso.consultar("select Marca, Descripcion from MARCA order by Proveedor,Descripcion,Orden", "Marca"); FormularioB.gridControl1.DataSource = proceso.ds.Tables["Marca"]; FormularioB.gridView1.OptionsView.ShowGroupPanel = false; FormularioB.gridView1.BestFitColumns(); FormularioB.StartPosition = FormStartPosition.CenterScreen; FormularioB.ShowDialog(); break; case 2: var FormularioC = new Maestro.frmLinea(); FormularioC.pasar += new Maestro.frmLinea.variables(IDLinea); proceso.consultar("select Linea,Descripcion from LINEA order by Linea,Descripcion,orden", "Linea"); FormularioC.gridControl1.DataSource = proceso.ds.Tables["Linea"]; FormularioC.gridView1.OptionsView.ShowGroupPanel = false; FormularioC.gridView1.BestFitColumns(); FormularioC.StartPosition = FormStartPosition.CenterScreen; FormularioC.ShowDialog(); break; case 3: var FormularioD = new Maestro.frmProducto(); FormularioD.pasar += new Maestro.frmProducto.variables(IDProducto); proceso.consultar("select Linea,Descripcion from LINEA order by Linea,Descripcion,orden", "Linea"); FormularioD.gridControl1.DataSource = proceso.ds.Tables["Linea"]; FormularioD.gridView1.OptionsView.ShowGroupPanel = false; FormularioD.gridView1.BestFitColumns(); FormularioD.StartPosition = FormStartPosition.CenterScreen; FormularioD.ShowDialog(); break; } }
void condicion(string cadena) { var proceso = new Libreria.Rutina(); try { if (cadena.Length == 0) { proceso.consultar(Libreria.Constante.Marcas, tabla); gridControl1.DataSource = proceso.ds.Tables[tabla]; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsView.ShowFooter = true; gridView1.FooterPanelHeight = -2; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.GroupRowHeight = 1; gridView1.RowHeight = 1; gridView1.Appearance.Row.FontSizeDelta = 0; gridView1.BestFitColumns(); } else { proceso.consultar(Libreria.Constante.Marcas + " where " + cadena, tabla); gridControl1.DataSource = proceso.ds.Tables[tabla]; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.OptionsView.ShowGroupPanel = false; gridView1.OptionsView.ShowFooter = true; gridView1.GroupRowHeight = 1; gridView1.RowHeight = 1; gridView1.Appearance.Row.FontSizeDelta = 0; gridView1.BestFitColumns(); } } catch (Exception t) { MessageBox.Show(t.Message); gridControl1.DataSource = null; gridControl1.Refresh(); } }
private void BTNACEPTAR_Click(object sender, EventArgs e) { var proceso = new Libreria.Rutina(); var ds = new Lider2018DataSet(); proceso.consultar(sql, "Cobertura"); maestroCoberturaBindingSource.DataSource = proceso.ds.Tables["Cobertura"]; gridView1.BestFitColumns(); }
private void ACEPTAR_Click(object sender, EventArgs e) { string FechaInicial = Convert.ToDateTime(Desde.EditValue).ToString("yyyyMMdd"); string FechaFinal = Convert.ToDateTime(Hasta.EditValue).ToString("yyyyMMdd"); string Prov = Convert.ToString(PROVEEDOR.EditValue).Trim().Replace(",", "','").Replace(" ", "").Trim(); string sql = Libreria.Constante.Compras.Replace("@FechaInicio", FechaInicial).Replace("@FechaFin", FechaFinal).Replace("@Prov", Prov); var proceso = new Libreria.Rutina(); proceso.consultar(sql, "Compras"); pivotGridControl1.DataSource = proceso.ds.Tables["Compras"]; }
private void Diferencia_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { var proceso = new Libreria.Rutina(); var Formulario = new Elementos.frmAvanceClienteDetalle(); IDZona = gridView1.GetFocusedRowCellValue("Codigo").ToString(); proceso.consultar(sql2.Replace("@IDZONA", "'" + IDZona + "'"), "Diferencia"); Formulario.label1.Text = "Filas: " + proceso.ds.Tables["Diferencia"].Rows.Count; Formulario.Cartera.DataSource = proceso.ds.Tables["Diferencia"]; Formulario.gridView1.BestFitColumns(); Formulario.Show(); }
void condicion(string cadena) { using (var Context = new LiderEntities()) { string Query = Convert.ToString(Context.VistaAdministrativas.Where(x => x.IDModulo == (Context.Moduloes.Where(a => a.Nombre == NModulo).Select(b => b.PKID)).FirstOrDefault()).Select(a => a.Vista.Trim()).FirstOrDefault()); try { if (cadena.Length == 0) { proceso.consultar(Query, Tabla); gridcontrolBonificacion.DataSource = proceso.ds.Tables[Tabla]; gridView1.Columns[0].Visible = true; gridView1.Columns["Proveedor"].GroupIndex = 1; gridView1.Columns["TipoMecanica"].GroupIndex = 2; gridView1.GroupRowHeight = 1; gridView1.RowHeight = 1; gridView1.BestFitColumns(); } else { proceso.consultar(Query + " where " + cadena, Tabla); gridcontrolBonificacion.DataSource = proceso.ds.Tables[Tabla]; gridView1.Columns[0].Visible = true; gridView1.Columns["Proveedor"].GroupIndex = 1; gridView1.Columns["TipoMecanica"].GroupIndex = 2; gridView1.GroupRowHeight = 1; gridView1.RowHeight = 1; gridView1.BestFitColumns(); } } catch (Exception t) { XtraMessageBox.Show(t.Message); gridcontrolBonificacion.DataSource = null; gridcontrolBonificacion.Refresh(); } } }
private void Refrescar() { var proceso = new Libreria.Rutina(); proceso.consultar(Libreria.Constante.Filtro.Replace("@Tabla", Tabla), Tabla); List <string> lista_ = new List <string>(); foreach (DataRow DR_1 in proceso.ds.Tables[Tabla].Rows) { lista_.Add(Tabla + "." + "[" + DR_1[0].ToString() + "]" + DR_1[1].ToString() + "'" + DR_1[2].ToString() + "'" + DR_1[3].ToString()); } string cadena = string.Join(" ", lista_.ToArray()); condicion(cadena); }
private void BUSCAR_Click(object sender, EventArgs e) { var proceso = new Libreria.Rutina(); var formulario0 = new frmPrincipal(); string Desde = Convert.ToDateTime(dateEdit1.EditValue).ToString("yyyyMMdd"); string Hasta = Convert.ToDateTime(dateEdit2.EditValue).ToString("yyyyMMdd"); switch (DATABASE.SelectedIndex) { case 0: sql = @" select * from Lider2018.Unilever.importorderinvoice('" + Desde + "','" + Hasta + @"') union all select * from LiderChepen18.Unilever.importorderinvoice('" + Desde + "','" + Hasta + @"') "; break; case 1: sql = @"select * from Dismarsf18.Unilever.importorderinvoice('" + Desde + "','" + Hasta + @"')"; break; case 2: sql = @""; break; } formulario0.Scm01.SplashFormStartPosition = DevExpress.XtraSplashScreen.SplashFormStartPosition.Default; formulario0.Scm01.ShowWaitForm(); try { proceso.consultar(sql, "dms"); pivotGridControl1.DataSource = proceso.ds.Tables["dms"]; formulario0.Scm01.CloseWaitForm(); } catch (Exception t) { MessageBox.Show(t.Message); } }
private void btnAceptar_Click(object sender, EventArgs e) { List <string> lista = new List <string>(); foreach (var fila in gridView1.GetSelectedRows()) { lista.Add("'" + gridView1.GetDataRow(fila)["Codigo"].ToString() + "'"); } string codigos = string.Join(",", lista.ToArray()); // entidad.fecha = Convert.ToDateTime(FechaProceso.EditValue).ToString("yyyyMMdd"); if (FechaProceso.EditValue != null) { Modulos.Elementos.frmMsg frmmensage = new Modulos.Elementos.frmMsg(); if (proceso.MensagePregunta("Desea Continua") == DialogResult.Yes) { if (gridView1.SelectedRowsCount > 0) { var Formulario = new frmPrincipal(); Formulario.Scm01.SplashFormStartPosition = SplashFormStartPosition.Default; frmmensage.Show(); Formulario.Scm01.ShowWaitForm(); //evento # 01 proceso.Procedimiento("sp_stock_sistema '" + DateTime.Now.Date.ToString("yyyyMMdd") + "', 2"); proceso.Procedimiento("sp_stock_sistema_web '" + DateTime.Now.Date.ToString("yyyyMMdd") + "', 2"); ejecutar.horasBonificacion(); ejecutar.deleteBonificacion(entidad.fecha); //evento # 02 var bonificacion = proceso.ConsultarTabla_("Bonificacion", "(Activo = 1) AND ('" + entidad.fecha + "' >= Desde AND '" + entidad.fecha + "' <= Hasta)"); if (bonificacion.Rows.Count != 0) { foreach (DataRow drb in bonificacion.Rows) { entidad.existe = false; entidad.idbonificacion = Convert.ToInt32(drb["PKID"]); entidad.codigoregalo = drb["cdProductoRegalo"].ToString(); entidad.cantidadminima = Convert.ToDecimal(drb["CantidadMinima"]); entidad.cantidadmaxima = Convert.ToInt32(drb["CantidadMaxima"]); entidad.cantidadobsequio = Convert.ToInt32(drb["CantidadRegalo"]); entidad.cantidadmaximacliente = Convert.ToInt32(drb["CantidadMaximaPorCliente"]); entidad.cantidadstock = Convert.ToInt32(drb["Stock"]); entidad.cantidadstockentregado = Convert.ToInt32(drb["StockEntregado"]); entidad.exclusion = Convert.ToBoolean(drb["TieneExclusion"]); entidad.codigoexclusion = Convert.ToInt32(drb["IDBonifcacionExcluida"]); entidad.tipomecanica = Convert.ToInt32(drb["TipoMecanica"]); entidad.idasociado = proceso.ConsultarEntero("IDAsociado", "ItemBonificacion", "IDBonificacion = " + entidad.idbonificacion); entidad.codigoasociado = proceso.ConsultarCadena("Codigo", "TipoAsociado", "PKID = " + entidad.idasociado); if (entidad.idasociado == 4) { if (entidad.tipomecanica == 1) { entidad.table = proceso.EvaluarBonificacion( @" (dbo.Vva_Pedido.FechaEmision = '" + entidad.fecha + @"') AND (dbo.Producto." + entidad.codigoasociado + @" in (SELECT cdProductoColeccion FROM dbo.ItemBonificacion WHERE (IDBonificacion = " + entidad.idbonificacion + @"))) AND ( (dbo.Vva_Pedido.IDVend IN (" + codigos + @"))) AND (dbo.Vva_Pedido.Procesado = 0) AND (dbo.Vva_Pedido.Bajado is null) ", @" (SUM (dbo.Vva_ItemPedido.Cantidad) >= " + entidad.cantidadminima + ")"); if (entidad.table.Rows.Count == 0) { contador += 1; } entidad.suma = ((int)(from R in entidad.table.AsEnumerable() select Convert.ToDecimal(R["Cantidad"])).Sum() / entidad.cantidadminima) * entidad.cantidadobsequio; if (proceso.ExistenciaStock(entidad.codigoregalo, 0, entidad.suma)) { foreach (DataRow F00 in entidad.table.Rows) { entidad.codigopedido = F00["NrPedido"].ToString(); entidad.cantidadvendida = Convert.ToDecimal(F00["Cantidad"].ToString()); entidad.cantidadtotalregalo = (int)(entidad.cantidadvendida / entidad.cantidadminima) * entidad.cantidadobsequio; if (!entidad.exclusion) { if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo <= entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } else if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo > entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadmaximacliente); } else { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } } else { foreach (DataRow F01 in proceso.ConsultarTabla_("DETPEDIDO", "pedido = '" + entidad.codigopedido + "'").Rows) { if (Convert.ToInt32(F01["IDBonificacion"] is DBNull ? 0 : F01["IDBonificacion"]) > 0) { if (entidad.codigoexclusion == Convert.ToInt32(F01["IDBonificacion"] is DBNull ? 0 : F01["IDBonificacion"])) { entidad.existe = true; } } } if (!entidad.existe) { if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo <= entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } else if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo > entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadmaximacliente); } else { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } } } } } else { if (entidad.suma != 0) { frmmensage.dataGridView1.Rows.Add(entidad.codigoregalo, proceso.ConsultarCadena("Descripcion", "producto", "producto = '" + entidad.codigoregalo + "'"), entidad.suma, proceso.ConsultarCadena("StockAc", "Producto", "producto = '" + entidad.codigoregalo + "'")); } } } if (entidad.tipomecanica == 2) { entidad.table = proceso.EvaluarBonificacion( @" (dbo.Vva_Pedido.FechaEmision = '" + entidad.fecha + @"') AND (dbo.Producto." + entidad.codigoasociado + @" in (SELECT cdProductoColeccion FROM dbo.ItemBonificacion WHERE (IDBonificacion = " + entidad.idbonificacion + @"))) AND ( (dbo.Vva_Pedido.IDVend IN (" + codigos + @"))) AND (dbo.Vva_Pedido.Procesado = 0) AND (dbo.Vva_Pedido.Bajado is null) ", @"(SUM (dbo.Vva_ItemPedido.Cantidad) >= " + entidad.cantidadminima + ") " + "and (SUM (dbo.Vva_ItemPedido.Cantidad) < " + entidad.cantidadmaxima + ")"); if (entidad.table.Rows.Count == 0) { contador += 1; } entidad.suma = ((int)(from R in entidad.table.AsEnumerable() select Convert.ToDecimal(R["Cantidad"])).Sum() / entidad.cantidadminima) * entidad.cantidadobsequio; if (proceso.ExistenciaStock(entidad.codigoregalo, 0, entidad.suma)) { foreach (DataRow F00 in entidad.table.Rows) { entidad.codigopedido = F00["NrPedido"].ToString(); entidad.cantidadvendida = Convert.ToDecimal(F00["Cantidad"].ToString()); entidad.cantidadtotalregalo = (int)(entidad.cantidadvendida / entidad.cantidadminima) * entidad.cantidadobsequio; if (!entidad.exclusion) { if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo <= entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } else if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo > entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadmaximacliente); } else { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } } else { foreach (DataRow F01 in proceso.ConsultarTabla_("DETPEDIDO", "pedido = '" + entidad.codigopedido + "'").Rows) { if (Convert.ToInt32(F01["IDBonificacion"] is DBNull ? 0 : F01["IDBonificacion"]) > 0) { if (entidad.codigoexclusion == Convert.ToInt32(F01["IDBonificacion"] is DBNull ? 0 : F01["IDBonificacion"])) { entidad.existe = true; } } } if (!entidad.existe) { if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo <= entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } else if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo > entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadmaximacliente); } else { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } } } } } else { if (entidad.suma != 0) { frmmensage.dataGridView1.Rows.Add(entidad.codigoregalo, proceso.ConsultarCadena("Descripcion", "producto", "producto = '" + entidad.codigoregalo + "'"), entidad.suma, proceso.ConsultarCadena("StockAc", "Producto", "producto = '" + entidad.codigoregalo + "'")); } } } if (entidad.tipomecanica == 3) { proceso.consultar(@" SELECT Vva_Pedido.NrPedido, SUM (Vva_ItemPedido.Cantidad * Vva_ItemPedido.Precio) AS Cantidad FROM Vva_Pedido INNER JOIN Vva_ItemPedido ON Vva_Pedido.NrPedido = Vva_ItemPedido.NrPedido INNER JOIN PRODUCTO ON Vva_ItemPedido.IDProducto = PRODUCTO.Producto WHERE (Vva_Pedido.FechaEmision = '" + entidad.fecha + "') AND PRODUCTO." + entidad.codigoasociado + @" in (SELECT cdProductoColeccion FROM ItemBonificacion WHERE (IDBonificacion = " + entidad.idbonificacion + @")) AND ( (Vva_Pedido.IDVend IN (" + codigos + @"))) AND (Vva_Pedido.Procesado = 0) AND (dbo.Vva_Pedido.Bajado is null) GROUP BY Vva_Pedido.NrPedido HAVING (SUM (Vva_ItemPedido.Cantidad * Vva_ItemPedido.Precio) >= " + entidad.cantidadminima + ")", "Soles"); entidad.table = proceso.ds.Tables["Soles"]; if (entidad.table.Rows.Count == 0) { contador += 1; } entidad.suma = ((int)(from R in entidad.table.AsEnumerable() select Convert.ToDecimal(R["Cantidad"])).Sum() / entidad.cantidadminima) * entidad.cantidadobsequio; if (proceso.ExistenciaStock(entidad.codigoregalo, 0, entidad.suma)) { foreach (DataRow F00 in entidad.table.Rows) { entidad.codigopedido = F00["NrPedido"].ToString(); entidad.cantidadvendida = Convert.ToDecimal(F00["Cantidad"].ToString()); entidad.cantidadtotalregalo = (int)(entidad.cantidadvendida / entidad.cantidadminima) * entidad.cantidadobsequio; if (!entidad.exclusion) { if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo <= entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } else if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo > entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadmaximacliente); } else { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } } else { foreach (DataRow F01 in proceso.ConsultarTabla_("DETPEDIDO", "pedido = '" + entidad.codigopedido + "'").Rows) { if (Convert.ToInt32(F01["IDBonificacion"] is DBNull ? 0 : F01["IDBonificacion"]) > 0) { if (entidad.codigoexclusion == Convert.ToInt32(F01["IDBonificacion"] is DBNull ? 0 : F01["IDBonificacion"])) { entidad.existe = true; } } } if (!entidad.existe) { if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo <= entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } else if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo > entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadmaximacliente); } else { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } } } } } else { if (entidad.suma != 0) { frmmensage.dataGridView1.Rows.Add(entidad.codigoregalo, proceso.ConsultarCadena("Descripcion", "producto", "producto = '" + entidad.codigoregalo + "'"), entidad.suma, proceso.ConsultarCadena("StockAc", "Producto", "producto = '" + entidad.codigoregalo + "'")); } } } if (entidad.tipomecanica == 4) { proceso.consultar(@" SELECT Vva_Pedido.NrPedido, SUM (Vva_ItemPedido.Cantidad * Vva_ItemPedido.Precio) AS Cantidad FROM Vva_Pedido INNER JOIN Vva_ItemPedido ON Vva_Pedido.NrPedido = Vva_ItemPedido.NrPedido INNER JOIN PRODUCTO ON Vva_ItemPedido.IDProducto = PRODUCTO.Producto WHERE (Vva_Pedido.FechaEmision = '" + entidad.fecha + "') AND PRODUCTO." + entidad.codigoasociado + @" in (SELECT cdProductoColeccion FROM ItemBonificacion WHERE (IDBonificacion = " + entidad.idbonificacion + @")) AND ( (Vva_Pedido.IDVend IN (" + codigos + @"))) AND (Vva_Pedido.Procesado = 0) AND (dbo.Vva_Pedido.Bajado is null) GROUP BY Vva_Pedido.NrPedido HAVING (SUM (Vva_ItemPedido.Cantidad * Vva_ItemPedido.Precio) >= " + entidad.cantidadminima + ") and (SUM (Vva_ItemPedido.Cantidad * Vva_ItemPedido.Precio) < " + entidad.cantidadmaxima + ")", "Soles"); entidad.table = proceso.ds.Tables["Soles"]; if (entidad.table.Rows.Count == 0) { contador += 1; } entidad.suma = ((int)(from R in entidad.table.AsEnumerable() select Convert.ToDecimal(R["Cantidad"])).Sum() / entidad.cantidadminima) * entidad.cantidadobsequio; if (proceso.ExistenciaStock(entidad.codigoregalo, 0, entidad.suma)) { foreach (DataRow F00 in entidad.table.Rows) { entidad.codigopedido = F00["NrPedido"].ToString(); entidad.cantidadvendida = Convert.ToDecimal(F00["Cantidad"].ToString()); entidad.cantidadtotalregalo = (int)(entidad.cantidadvendida / entidad.cantidadminima) * entidad.cantidadobsequio; if (!entidad.exclusion) { if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo <= entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } else if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo > entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadmaximacliente); } else { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } } else { foreach (DataRow F01 in proceso.ConsultarTabla_("DETPEDIDO", "pedido = '" + entidad.codigopedido + "'").Rows) { if (Convert.ToInt32(F01["IDBonificacion"] is DBNull ? 0 : F01["IDBonificacion"]) > 0) { if (entidad.codigoexclusion == Convert.ToInt32(F01["IDBonificacion"] is DBNull ? 0 : F01["IDBonificacion"])) { entidad.existe = true; } } } if (!entidad.existe) { if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo <= entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } else if (entidad.cantidadmaximacliente > 0 && entidad.cantidadtotalregalo > entidad.cantidadmaximacliente) { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadmaximacliente); } else { ejecutar.insertObsequio(entidad.idbonificacion, entidad.codigopedido, entidad.codigoregalo, entidad.cantidadtotalregalo); } } } } } else { if (entidad.suma != 0) { frmmensage.dataGridView1.Rows.Add(entidad.codigoregalo, proceso.ConsultarCadena("Descripcion", "producto", "producto = '" + entidad.codigoregalo + "'"), entidad.suma, proceso.ConsultarCadena("StockAc", "Producto", "producto = '" + entidad.codigoregalo + "'")); } } } } } Formulario.Scm01.CloseWaitForm(); if (frmmensage.dataGridView1.Rows.Count == 0) { if (bonificacion.Rows.Count == contador) { frmmensage.dataGridView1.Rows.Add(string.Empty, "NO SE HA INGRESADO NINGUNA BONIFICACION", string.Empty, string.Empty); } else { frmmensage.dataGridView1.Rows.Add(string.Empty, "!! PROMOCIONES INSERTADAS CON EXITO !!", string.Empty, string.Empty); } this.Close(); } } else { Formulario.Scm01.CloseWaitForm(); frmmensage.dataGridView1.Rows.Add(string.Empty, " !! NO EXISTEN REGLAS DESIGNADAS PARA ESTE DIA !! ", string.Empty, string.Empty); this.Close(); } } else { MessageBox.Show("No existen vendedores seleccionados"); } proceso.Procedimiento("sp_stock_sistema '" + DateTime.Now.Date.ToString("yyyyMMdd") + "', 2"); proceso.Procedimiento("sp_stock_sistema_web '" + DateTime.Now.Date.ToString("yyyyMMdd") + "', 2"); } //ejecutar.Descargar_Pedidos_Web(entidad.fecha); } else { MessageBox.Show("No existe Fecha para procesar promociones"); } }
private void BtnBuscar_Click(object sender, EventArgs e) { if (dxValidationProvider1.Validate()) { gridControl1.DataSource = null; gridControl3.DataSource = null; var frmprincipal = new frmPrincipal(); frmprincipal.Scm01.SplashFormStartPosition = DevExpress.XtraSplashScreen.SplashFormStartPosition.Default; frmprincipal.Scm01.ShowWaitForm(); try { var proceso = new Libreria.Rutina(); var Cadena = new List <string>(); var PedidosComprometidos = (dynamic)null; var PedidosBonificados = (dynamic)null; string Fecha = Convert.ToDateTime(dateEdit1.EditValue).ToString("dd/MM/yyyy"); using (var Context = new LiderEntities()) { int Tipo = Context.Bonificacions.Where(x => x.PKID == (int)lookUpEdit1.EditValue).Select(c => c.TipoMecanica).FirstOrDefault(); var Coleccion = Context.ItemBonificacions.Distinct().Where(x => x.IDBonificacion == (int)lookUpEdit1.EditValue).Select(c => new { Codigo = c.cdProductoColeccion.Trim() }).ToList(); var Minimo = Context.Bonificacions.Where(x => x.PKID == (int)lookUpEdit1.EditValue).Select(c => c.CantidadMinima).FirstOrDefault(); var Maximo = Context.Bonificacions.Where(x => x.PKID == (int)lookUpEdit1.EditValue).Select(c => c.CantidadMaxima).FirstOrDefault(); foreach (var i in Coleccion) { Cadena.Add("'" + i.Codigo + "'"); } string Producto = string.Join(",", Cadena.ToArray()); //Pedidos compromeditos switch (Tipo) { case 1: string sql1 = @" SELECT dbo.Vva_ItemPedido.NrPedido AS Pedido, dbo.CLIENTE.Cliente AS [Codigo], dbo.CLIENTE.Alias AS [Nombre], SUM(dbo.Vva_ItemPedido.Cantidad) AS [Venta] FROM dbo.CLIENTE INNER JOIN dbo.Vva_Pedido ON dbo.CLIENTE.Cliente = dbo.Vva_Pedido.IDClient INNER JOIN dbo.Vva_ItemPedido ON dbo.Vva_Pedido.NrPedido = dbo.Vva_ItemPedido.NrPedido WHERE (dbo.Vva_ItemPedido.IDProducto IN (" + Producto + @")) AND (dbo.Vva_Pedido.FechaEmision = '" + Fecha + @"') GROUP BY dbo.CLIENTE.Cliente, dbo.CLIENTE.Alias, dbo.Vva_ItemPedido.NrPedido HAVING (SUM(dbo.Vva_ItemPedido.Cantidad) >=" + Minimo + @") "; proceso.consultar(sql1, "pedidos"); PedidosComprometidos = proceso.ds.Tables["pedidos"]; //Context.Database.SqlQuery<List<string>>(sql).ToList(); break; case 2: string sql2 = @" SELECT dbo.Vva_ItemPedido.NrPedido AS Pedido, RTRIM(dbo.CLIENTE.Cliente) AS Codigo, Rtrim(dbo.CLIENTE.Alias) AS Nombre, SUM(dbo.Vva_ItemPedido.Cantidad) AS Venta FROM dbo.CLIENTE INNER JOIN dbo.Vva_Pedido ON dbo.CLIENTE.Cliente = dbo.Vva_Pedido.IDClient INNER JOIN dbo.Vva_ItemPedido ON dbo.Vva_Pedido.NrPedido = dbo.Vva_ItemPedido.NrPedido WHERE (dbo.Vva_ItemPedido.IDProducto IN (" + Producto + @")) AND (dbo.Vva_Pedido.FechaEmision = '" + Fecha + @"') GROUP BY dbo.CLIENTE.Cliente, dbo.CLIENTE.Alias, dbo.Vva_ItemPedido.NrPedido HAVING (SUM(dbo.Vva_ItemPedido.Cantidad) >= " + Minimo + @") AND ((SUM(dbo.Vva_ItemPedido.Cantidad)) < " + Maximo + @") "; proceso.consultar(sql2, "pedidos"); PedidosComprometidos = proceso.ds.Tables["pedidos"]; //Context.Database.SqlQuery<List<string>>(sql).ToList(); break; case 3: string sql3 = @" SELECT dbo.Vva_ItemPedido.NrPedido AS Pedido, RTRIM(dbo.CLIENTE.Cliente) AS Codigo, Rtrim(dbo.CLIENTE.Alias) AS Nombre, SUM(dbo.Vva_ItemPedido.Cantidad*dbo.Vva_ItemPedido.Precio) AS Venta FROM dbo.CLIENTE INNER JOIN dbo.Vva_Pedido ON dbo.CLIENTE.Cliente = dbo.Vva_Pedido.IDClient INNER JOIN dbo.Vva_ItemPedido ON dbo.Vva_Pedido.NrPedido = dbo.Vva_ItemPedido.NrPedido WHERE (dbo.Vva_ItemPedido.IDProducto IN (" + Producto + @")) AND (dbo.Vva_Pedido.FechaEmision = '" + Fecha + @"') GROUP BY dbo.CLIENTE.Cliente, dbo.CLIENTE.Alias, dbo.Vva_ItemPedido.NrPedido HAVING ((SUM(dbo.Vva_ItemPedido.Cantidad*dbo.Vva_ItemPedido.Precio)) >= " + Minimo + @") "; proceso.consultar(sql3, "pedidos"); PedidosComprometidos = proceso.ds.Tables["pedidos"]; //Context.Database.SqlQuery<List<string>>(sql).ToList(); break; case 4: string sql4 = @" SELECT dbo.Vva_ItemPedido.NrPedido AS Pedido, RTRIM(dbo.CLIENTE.Cliente) AS Codigo, Rtrim(dbo.CLIENTE.Alias) AS Nombre, SUM(dbo.Vva_ItemPedido.Cantidad*dbo.Vva_ItemPedido.Precio) AS Venta FROM dbo.CLIENTE INNER JOIN dbo.Vva_Pedido ON dbo.CLIENTE.Cliente = dbo.Vva_Pedido.IDClient INNER JOIN dbo.Vva_ItemPedido ON dbo.Vva_Pedido.NrPedido = dbo.Vva_ItemPedido.NrPedido WHERE (dbo.Vva_ItemPedido.IDProducto IN (" + Producto + @")) AND (dbo.Vva_Pedido.FechaEmision = '" + Fecha + @"') GROUP BY dbo.CLIENTE.Cliente, dbo.CLIENTE.Alias, dbo.Vva_ItemPedido.NrPedido HAVING ((SUM(dbo.Vva_ItemPedido.Cantidad*dbo.Vva_ItemPedido.Precio)) >= " + Minimo + @") AND ((SUM(dbo.Vva_ItemPedido.Cantidad*dbo.Vva_ItemPedido.Precio)) < " + Maximo + @") "; proceso.consultar(sql4, "pedidos"); PedidosComprometidos = proceso.ds.Tables["pedidos"]; //Context.Database.SqlQuery<List<string>>(sql).ToList(); break; } gridView1.OptionsBehavior.ReadOnly = true; gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsView.ShowGroupPanel = false; gridControl1.DataSource = PedidosComprometidos; gridView1.BestFitColumns(); //pedidos bonificados string sql0 = @" SELECT dbo.Vva_Pedido.NrPedido AS Pedido, RTRIM(dbo.Vva_Cliente.Codigo) As Codigo, Rtrim(dbo.Vva_Cliente.Nombre) As Nombre, dbo.Vva_ItemPedido.Cantidad As Bonificacion FROM dbo.Vva_Pedido INNER JOIN dbo.Vva_ItemPedido ON dbo.Vva_Pedido.NrPedido = dbo.Vva_ItemPedido.NrPedido INNER JOIN dbo.Vva_Cliente ON dbo.Vva_Pedido.IDClient = dbo.Vva_Cliente.Codigo INNER JOIN dbo.Bonificacion ON dbo.Vva_ItemPedido.IDBonif = dbo.Bonificacion.PKID WHERE (dbo.Vva_Pedido.FechaEmision = '" + Fecha + @"') AND (dbo.Vva_ItemPedido.IDBonif = " + (int)lookUpEdit1.EditValue + @") GROUP BY dbo.Vva_Pedido.NrPedido, dbo.Vva_Cliente.Codigo, dbo.Vva_Cliente.Nombre, dbo.Vva_ItemPedido.Cantidad "; proceso.consultar(sql0, "pedidos"); gridControl3.DataSource = proceso.ds.Tables["pedidos"]; gridView3.OptionsBehavior.ReadOnly = true; gridView3.OptionsSelection.EnableAppearanceFocusedCell = false; gridView3.OptionsBehavior.Editable = false; gridView3.OptionsView.ColumnAutoWidth = false; gridView3.BestFitColumns(); gridView3.OptionsView.ShowGroupPanel = false; } frmprincipal.Scm01.CloseWaitForm(); ContarA.Text = "Filas: " + gridView1.RowCount; ContarB.Text = "Filas: " + gridView3.RowCount; } catch (DbEntityValidationException t) { foreach (var eve in t.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { MessageBox.Show("- Propiedad: \"" + ve.PropertyName + "\", Error: \"" + ve.ErrorMessage + "\""); } } } } }