Exemple #1
0
 private void IDBonificacion_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (e.KeyChar == (int)Keys.Enter)
     {
         if (IDBonificacion.Text.Length != 0)
         {
             if (proceso.ExistenciaCampo("pkid", "tipobonificacion", "codigo = '" + IDBonificacion.Text.Trim() + "'"))
             {
                 nmBonificacion.Text       = proceso.ConsultarCadena("Descripcion", "tipobonificacion", "codigo = '" + IDBonificacion.Text.Trim() + "'");
                 bonificacion.TipoMecanica = proceso.ConsultarEntero("PKID", "tipobonificacion", "codigo = '" + IDBonificacion.Text.Trim() + "'");
             }
             else
             {
                 MessageBox.Show("Tipo de bonificacion no existe");
             }
         }
         else
         {
             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();
         }
     }
 }
Exemple #2
0
 private void DESCARGAR_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     if (gridView1.SelectedRowsCount > 0)
     {
         var Rutina = new Libreria.Rutina();
         if (Rutina.MensagePregunta("¿Continuar?") == DialogResult.Yes)
         {
             Elementos.frmMsg frmmensage = new Elementos.frmMsg();
             frmmensage.Scm03.SplashFormStartPosition       = SplashFormStartPosition.Default;
             frmmensage.dataGridView1.Columns[0].HeaderText = "Pedido";
             frmmensage.dataGridView1.Columns[1].HeaderText = "Resultado";
             frmmensage.dataGridView1.Columns[2].HeaderText = string.Empty;
             frmmensage.dataGridView1.Columns[3].HeaderText = string.Empty;
             frmmensage.Show();
             frmmensage.Scm03.ShowWaitForm();
             foreach (var pedido in gridView1.GetSelectedRows())
             {
                 entidad.pedido = gridView1.GetDataRow(pedido)["num Pedido"].ToString();
                 string tipopersona = Rutina.ConsultarCadena("TipoPersona", "pedido", "pedido = '" + entidad.pedido + "'");
                 entidad.tipodocumento = Rutina.ConsultarCadena("TipoDoc", "pedido", "pedido = '" + entidad.pedido + "'");
                 if (!Rutina.ExistenciaCampo("pedido", "pedido", "procesado = 1 and pedido = '" + entidad.pedido + "'"))
                 {
                     if (Rutina.ExistenciaCampo("pedido", "pedido", "statusweb is null and pedido = '" + entidad.pedido + "'"))
                     {
                         frmmensage.dataGridView1.Rows.Add(gridView1.GetDataRow(pedido)["num Pedido"].ToString(),
                                                           "Documento Saliente Número : " + entidad.tipodocumento + Rutina.Procedimiento("sp_genera_documento '" + entidad.pedido + "','" + tipopersona + "','" + entidad.tipodocumento + "'"),
                                                           string.Empty, string.Empty);
                         Rutina.actualizar("pedido", "StatusWeb = 1", "pedido = '" + entidad.pedido + "'");
                     }
                     else
                     {
                         frmmensage.dataGridView1.Rows.Add(gridView1.GetDataRow(pedido)["num Pedido"].ToString(), "pedido ya se encuentra descargado!",
                                                           string.Empty, string.Empty);
                     }
                 }
                 else
                 {
                     frmmensage.dataGridView1.Rows.Add(gridView1.GetDataRow(pedido)["num Pedido"].ToString(), "pedido se encuentra procesado y no puede ser eliminado!",
                                                       string.Empty, string.Empty);
                 }
             }
             frmmensage.Scm03.CloseWaitForm();
             Refrescar();
         }
     }
 }
Exemple #3
0
        private void gridView1_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
        {
            GridView view = (GridView)sender;

            if (e.RowHandle >= 0)
            {
                bool estado = Convert.ToBoolean(view.GetRowCellValue(e.RowHandle, "Activo"));
                if (estado == false)
                {
                    e.Appearance.ForeColor = Color.LightGray;
                }
                else if (Convert.ToDecimal(proceso.ConsultarCadena("iif(stockac = stockdia,stockac,stockac-(stockac-stockdia))", "producto", "producto = '" + view.GetRowCellValue(e.RowHandle, "cdProductoRegalo").ToString() + "'")) <= 0)
                {
                    e.Appearance.ForeColor = Color.LightPink;
                }
            }
        }
Exemple #4
0
        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");
            }
        }
Exemple #5
0
        public void savepedido(DataGridView detalle, string pedido, string Personal, string Cliente, string FormaPago, string Fecha, string rsocial,
                               string ruc, string direccion, string dni, string gestion, string tipodoc)
        {
            string sql00 = @"
                            UPDATE [dbo].[PEDIDO]
                             SET 
                                 [Personal] = @Personal
                                ,[Cliente] = @Cliente
                                ,[FormaPago] = @FormaPago
                                ,[Fecha] = @Fecha
                                ,[rsocial] = @rsocial
                                ,[ruc] = @ruc
                                ,[direccion] = @direccion
                                ,[dni] = @dni
                                ,[encargado] = @encargado
                                ,[npersonal] = @npersonal
                                ,[nencargado] = @nencargado
                                ,[gestion] = @gestion
                                ,[ptollegada] = @ptollegada
                                ,[distllegada] = @distllegada
                                ,[tipodoc] = @tipodoc
                                ,[flagCobertura] = @flagCobertura
                            WHERE pedido = @pedido";
            string sql01 = @"
                           INSERT INTO [dbo].[DETPEDIDO]
                                 ([Pedido]
                                 ,[Producto]
                                 ,[PrecUnit]
                                 ,[Cantidad]
                                 ,[Estado]
                                 ,[TipoPrecio]
                                 ,[TranGratuita]
                                 ,[lote]
                                 ,[fvctolote]
                                 ,[flgSurtido]
                                 ,[IDBonificacion]
                                 ,[PrecioUnitario]
                                 ,[PrecioNeto]
                                 ,[Descuento]
                                 ,[Recargo]
                                 ,[Afecto]
                                 ,[Bonif])
                           VALUES
                                 (@pedido
                                 ,@Producto
                                 ,@PrecUnit
                                 ,@Cantidad
                                 ,@Estado
                                 ,@TipoPrecio
                                 ,@TranGratuita
                                 ,@lote
                                 ,@fvctolote
                                 ,@flgSurtido
                                 ,@IDBonificacion
                                 ,@PrecioUnitario
                                 ,@PrecioNeto
                                 ,@Descuento
                                 ,@Recargo
                                 ,@Afecto
                                 ,@Bonif)
                                  ";
            string sql02 = @"delete detadoc  where documento = (select documento from documento where pedido = @pedido) and tipodoc =(select tipodoc from documento where pedido = @pedido);
                             delete documento  where pedido = @pedido;
                             delete detpedido  where pedido = @pedido;";

            using (SqlConnection con = new SqlConnection(conexion))
            {
                con.Open();
                SqlTransaction transaccion = con.BeginTransaction();
                try
                {
                    using (SqlCommand cmdA = new SqlCommand(sql00, con))
                    {
                        cmdA.Parameters.AddWithValue("@pedido", pedido);
                        cmdA.Parameters.AddWithValue("@Personal", Personal);
                        cmdA.Parameters.AddWithValue("@Cliente", Cliente);
                        cmdA.Parameters.AddWithValue("@FormaPago", FormaPago);
                        cmdA.Parameters.AddWithValue("@Fecha", Fecha);
                        cmdA.Parameters.AddWithValue("@rsocial", rsocial);
                        cmdA.Parameters.AddWithValue("@ruc", ruc);
                        cmdA.Parameters.AddWithValue("@direccion", direccion);
                        cmdA.Parameters.AddWithValue("@dni", dni);
                        cmdA.Parameters.AddWithValue("@encargado", Personal);
                        cmdA.Parameters.AddWithValue("@npersonal", proceso.ConsultarCadena("Nombre", "personal", "personal = '" + Personal + "'"));
                        cmdA.Parameters.AddWithValue("@nencargado", proceso.ConsultarCadena("Nombre", "personal", "personal = '" + Personal + "'"));
                        cmdA.Parameters.AddWithValue("@gestion", gestion);
                        cmdA.Parameters.AddWithValue("@ptollegada", direccion);
                        cmdA.Parameters.AddWithValue("@distllegada", proceso.ConsultarCadena("iddistrito", "cliente", "cliente = '" + Cliente + "'"));
                        cmdA.Parameters.AddWithValue("@tipodoc", tipodoc);
                        cmdA.Parameters.AddWithValue("@flagCobertura", DBNull.Value);
                        cmdA.Transaction = transaccion;
                        cmdA.ExecuteNonQuery();
                    }
                    using (SqlCommand cmdC = new SqlCommand(sql02, con))
                    {
                        cmdC.Parameters.AddWithValue("@pedido", pedido);
                        cmdC.Transaction = transaccion;
                        cmdC.ExecuteNonQuery();
                    }
                    //proceso.eliminar("detpedido", "pedido = '" + pedido + "'");
                    foreach (DataGridViewRow F00 in detalle.Rows)
                    {
                        using (SqlCommand cmdB = new SqlCommand(sql01, con))
                        {
                            cmdB.Parameters.AddWithValue("@pedido", pedido);
                            cmdB.Parameters.AddWithValue("@Producto", F00.Cells["Codigo"].Value);
                            cmdB.Parameters.AddWithValue("@PrecUnit", Convert.ToDecimal(F00.Cells["PrecioUnitario"].Value));
                            cmdB.Parameters.AddWithValue("@Cantidad", Convert.ToDecimal(F00.Cells["Cantidad"].Value));
                            cmdB.Parameters.AddWithValue("@Estado", "P");
                            cmdB.Parameters.AddWithValue("@TipoPrecio", F00.Cells["TpPrecio"].Value);
                            cmdB.Parameters.AddWithValue("@TranGratuita", 0.00);
                            cmdB.Parameters.AddWithValue("@lote", DBNull.Value);
                            cmdB.Parameters.AddWithValue("@fvctolote", DBNull.Value);
                            cmdB.Parameters.AddWithValue("@flgSurtido", DBNull.Value);
                            cmdB.Parameters.AddWithValue("@IDBonificacion", F00.Cells["IDBonificacion"].Value);
                            cmdB.Parameters.AddWithValue("@PrecioUnitario", Convert.ToDecimal(F00.Cells["PrecioUnitario"].Value));
                            cmdB.Parameters.AddWithValue("@PrecioNeto", Convert.ToDecimal(F00.Cells["PrecioNeto"].Value));
                            cmdB.Parameters.AddWithValue("@Descuento", Convert.ToDecimal(F00.Cells["Descuento"].Value));
                            cmdB.Parameters.AddWithValue("@Recargo", Convert.ToDecimal(F00.Cells["Recargo"].Value));
                            cmdB.Parameters.AddWithValue("@Afecto", Convert.ToBoolean(F00.Cells["Afecto"].Value));
                            cmdB.Parameters.AddWithValue("@Bonif", Convert.ToBoolean(F00.Cells["Bonif"].Value));
                            cmdB.Transaction = transaccion;
                            cmdB.ExecuteNonQuery();
                        }
                    }
                    transaccion.Commit();
                }
                catch (SqlException e)
                {
                    MessageBox.Show(e.Message);
                    transaccion.Rollback();
                }
            }
        }
Exemple #6
0
 private void Abrir()
 {
     if (gridView1.SelectedRowsCount > 0)
     {
         using (var Context = new LiderEntities())
         {
             string NCp = Convert.ToString(gridView1.GetFocusedRowCellValue("Comprobante"));
             string TCp = Convert.ToString(gridView1.GetFocusedRowCellValue("Tipo"));
             var    frmOpenComprobante = new Elementos.frmComprobante();
             var    _Comprobante       = (from cp in Context.DOCUMENTOes
                                          where cp.Generado == NCp &&
                                          cp.TipoDoc == TCp
                                          select cp).FirstOrDefault();
             string Estado           = _Comprobante.Estado;
             string PKDocumento      = _Comprobante.Documento1;
             string PKTipoDoc        = _Comprobante.TipoDoc;
             string CodigoVendedor   = _Comprobante.Personal;
             string NombreVendedor   = _Comprobante.npersonal;
             string CodigoCliente    = _Comprobante.Cliente;
             string NombreCliente    = _Comprobante.rsocial;
             string DocumentoCliente = Context.Vva_Cliente.Where(p => p.Codigo.Equals(CodigoCliente)).Select(a => a.Documento.Trim()).FirstOrDefault();
             string DireccionCliente = _Comprobante.direccion;
             string ZonaCliente      = proceso.ConsultarCadena("descripcion", "Zona", "Zona = (select zona from Vva_Cliente where Codigo = '" + CodigoCliente + "')");
             string DistritoCliente  = proceso.ConsultarCadena("descrip", "Distrito", "iddistrito = (select distllegada from Documento where documento = '" + PKDocumento + "' and TipoDoc = '" + PKTipoDoc + "')");
             string ProvinciaCliente = proceso.ConsultarCadena("descrip", "provincia", " idprovincia = (select idprovincia from Distrito where iddistrito = (select distllegada from Documento where documento = '" + PKDocumento + "' and TipoDoc = '" + PKTipoDoc + "'))");
             string Gestion          = _Comprobante.gestion;
             bool   Credito          = proceso.ConsultarVerdad("Credito", "Vva_Cp", "NrDoc = '" + PKDocumento + "' and TpDoc = '" + PKTipoDoc + "'");
             string FormaPago        = proceso.ConsultarCadena("FormaPago", "Pedido", "Pedido = (select top(1)Pedido from documento where documento = '" + PKDocumento + "' and TipoDoc = '" + PKTipoDoc + "')");
             string FechaEmision     = Convert.ToDateTime(_Comprobante.Fecha).ToString("dd/MM/yyyy");
             try
             {
                 frmOpenComprobante.txtcdDocumento.Text      = _Comprobante.Generado;
                 frmOpenComprobante.txtcdVendedor.Text       = CodigoVendedor;
                 frmOpenComprobante.txtnmVendedor.Text       = NombreVendedor;
                 frmOpenComprobante.txtcdCLiente.Text        = CodigoCliente;
                 frmOpenComprobante.txtnmCliente.Text        = NombreCliente;
                 frmOpenComprobante.txtdocCliente.Text       = DocumentoCliente;
                 frmOpenComprobante.txtnmDireccion.EditValue = DireccionCliente;
                 frmOpenComprobante.txtnmZona.EditValue      = ZonaCliente;
                 frmOpenComprobante.txtcdZona.EditValue      = proceso.ConsultarCadena("Zona", "Vva_Cliente", "Codigo = '" + CodigoCliente + "'");
                 frmOpenComprobante.txtnmDistrito.EditValue  = DistritoCliente;
                 frmOpenComprobante.txtcdDistrito.EditValue  = proceso.ConsultarCadena("IDDistrito", "Vva_Cliente", "Codigo = '" + CodigoCliente + "'");
                 frmOpenComprobante.txtnmProvincia.EditValue = ProvinciaCliente;
                 frmOpenComprobante.txtcdProvincia.EditValue = proceso.ConsultarCadena("idprovincia", "Distrito", "iddistrito = (select IDDistrito from Vva_Cliente where codigo = '" + CodigoCliente + "')");
                 frmOpenComprobante.txtcdGestion.Text        = Gestion;
                 frmOpenComprobante.dateEmision.EditValue    = DateTime.Parse(FechaEmision);
                 frmOpenComprobante.dateEntrega.EditValue    = DateTime.Parse(FechaEmision).AddDays(1);
                 frmOpenComprobante.btnCredito.Checked       = Credito == true ? true : false;
                 frmOpenComprobante.txtformaPago.Text        = proceso.ConsultarCadena("Descripcion", "FormaPago", "FormaPago = '" + FormaPago + "'");
                 frmOpenComprobante.CodigoFP.Text            = FormaPago;
                 var Items = Context.DETADOCs.Where(w => w.Documento == PKDocumento.Trim() && w.TipoDoc == PKTipoDoc.Trim()).ToList();
                 foreach (var Fila in Items)
                 {
                     string  Codigo         = Fila.Producto;
                     string  Descripcion    = Context.PRODUCTOes.Where(w => w.Producto1 == Fila.Producto).Select(x => x.Descripcion).FirstOrDefault().Trim();
                     decimal Cantidad       = Convert.ToDecimal(Fila.Cantidad);
                     string  Unidad         = Context.PRODUCTOes.Where(w => w.Producto1 == Fila.Producto).Select(x => x.UniMed).FirstOrDefault().Trim();
                     decimal PrecioUnitario = Convert.ToDecimal(Fila.PrecioUnitario);
                     decimal PrecioNeto     = Convert.ToDecimal(Fila.PrecioNeto);
                     decimal Descuento      = Convert.ToDecimal(Fila.Descuento);
                     decimal Recargo        = Convert.ToDecimal(Fila.Recargo);
                     bool    Bonificacion   = Convert.ToBoolean(Fila.Bonif);
                     bool    Afecto         = Convert.ToBoolean(Fila.Afecto);
                     int     IdBonif        = Convert.ToInt32(Fila.IDBonificacion) is DBNull ? 0 : Convert.ToInt32(Fila.IDBonificacion);
                     int     TipoPrecio     = Convert.ToInt32(Fila.TipoPrecio) is DBNull ? 0 : Convert.ToInt32(Fila.TipoPrecio);
                     frmOpenComprobante.dataGridView1.Rows.Add(Codigo, Descripcion, Cantidad, Cantidad, Unidad, TipoPrecio, PrecioUnitario, PrecioNeto,
                                                               (Cantidad * PrecioNeto), Descuento, Recargo, Bonificacion, Credito, Afecto, IdBonif);
                     frmOpenComprobante.dataGridView1.ReadOnly = true;
                 }
                 frmOpenComprobante.txtValorDescuento.EditValue = (from detalle in frmOpenComprobante.dataGridView1.Rows.Cast <DataGridViewRow>()
                                                                   select(Convert.ToDecimal(detalle.Cells["Descuento"].Value))).Sum().ToString("N2");
                 frmOpenComprobante.txtValorRecargo.EditValue = (from detalle in frmOpenComprobante.dataGridView1.Rows.Cast <DataGridViewRow>()
                                                                 select(Convert.ToDecimal(detalle.Cells["Recargo"].Value))).Sum().ToString("N2");
                 frmOpenComprobante.txtValorSubtotal.EditValue = (from detalle in frmOpenComprobante.dataGridView1.Rows.Cast <DataGridViewRow>()
                                                                  select(Convert.ToDecimal(detalle.Cells["Cantidad"].Value) * Convert.ToDecimal(detalle.Cells["PrecioUnitario"].Value))).Sum().ToString("N2");
                 frmOpenComprobante.txtValorImporteTotal.EditValue = _Comprobante.total;
                 frmOpenComprobante.txtValorImpuesto.EditValue     = _Comprobante.igv;
                 frmOpenComprobante.txtValorInafecto.EditValue     = _Comprobante.inafecto;
                 frmOpenComprobante.txtValorAfecto.EditValue       = _Comprobante.afecto;
                 frmOpenComprobante.StartPosition = FormStartPosition.CenterScreen;
                 //frmpedido.Existe = false;
                 frmOpenComprobante.ANULADO.Visible = Estado == "A" ? true : false;
                 frmOpenComprobante.Show();
             }
             catch (Exception t)
             {
                 MessageBox.Show(t.Message);
             }
         }
     }
 }