Exemple #1
0
 private void btnCancelar_Click(object sender, EventArgs e)
 {
     if (procesar.MensagePregunta("cancelar proceso") == DialogResult.Yes)
     {
         this.Close();
     }
 }
Exemple #2
0
 private void ELIMINAR_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     if (gridView1.SelectedRowsCount > 0)
     {
         if (proceso.MensagePregunta("¿desea continuar?") == DialogResult.Yes)
         {
             Elementos.frmMsg frmmensage = new Elementos.frmMsg();
             frmmensage.Scm03.SplashFormStartPosition       = SplashFormStartPosition.Default;
             frmmensage.dataGridView1.Columns[0].HeaderText = "Mecanica";
             frmmensage.dataGridView1.Columns[0].Width      = 200;
             frmmensage.dataGridView1.Columns[1].HeaderText = "Resultado";
             frmmensage.dataGridView1.Columns[1].Width      = 100;
             frmmensage.dataGridView1.Columns[2].HeaderText = string.Empty;
             frmmensage.dataGridView1.Columns[3].HeaderText = string.Empty;
             frmmensage.Show();
             frmmensage.Scm03.ShowWaitForm();
             foreach (var bonificacion in gridView1.GetSelectedRows())
             {
                 var x = Convert.ToInt32(gridView1.GetDataRow(bonificacion)["PKID"]);
                 if (proceso.ExistenciaCampo("pkid", "Bonificacion", "pkid = " + x))
                 {
                     frmmensage.dataGridView1.Rows.Add(gridView1.GetDataRow(bonificacion)["Mecanica"].ToString(), ejecutar.DeleteBonificacion(x),
                                                       string.Empty, string.Empty);
                 }
             }
             frmmensage.Scm03.CloseWaitForm();
             Refrescar();
         }
     }
 }
Exemple #3
0
 private void BtnCancelar_Click(object sender, EventArgs e)
 {
     Libreria.Rutina proceso = new Libreria.Rutina();
     if (proceso.MensagePregunta("¿Cancelar?") == DialogResult.Yes)
     {
         this.Close();
     }
 }
Exemple #4
0
        private void CANCELAR_Click(object sender, EventArgs e)
        {
            var Rutina = new Libreria.Rutina();

            if (Rutina.MensagePregunta("¿Continuar?") == DialogResult.Yes)
            {
                this.Close();
            }
        }
Exemple #5
0
        private void ELIMINAR_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (gridView1.SelectedRowsCount > 0)
            {
                if (proceso.MensagePregunta("¿Continuar?") == DialogResult.Yes)
                {
                    Elementos.frmMsg frmmensage = new Elementos.frmMsg();
                    frmmensage.StartPosition = FormStartPosition.CenterScreen;
                    frmmensage.Scm03.SplashFormStartPosition       = SplashFormStartPosition.Default;
                    frmmensage.dataGridView1.Columns[0].HeaderText = "Producto";
                    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 fila in gridView1.GetSelectedRows())
                    {
                        if (!proceso.ExistenciaCampo("Producto", "Producto", "producto = '" + Convert.ToString(gridView1.GetDataRow(fila)["Codigo"]) + "'"))
                        {
                            frmmensage.dataGridView1.Rows.Add(Convert.ToString(gridView1.GetDataRow(fila)["Codigo"]), Eliminar(Convert.ToString(gridView1.GetDataRow(fila)["Codigo"])),
                                                              string.Empty, string.Empty);
                        }
                        else
                        {
                            frmmensage.dataGridView1.Rows.Add(Convert.ToString(gridView1.GetDataRow(fila)["Codigo"]), Eliminar(Convert.ToString(gridView1.GetDataRow(fila)["Codigo"])),
                                                              string.Empty, string.Empty);
                        }
                    }
                    frmmensage.Scm03.CloseWaitForm();
                    Refrescar();
                }
                string Eliminar(object campo)
                {
                    string Resultado;

                    try
                    {
                        using (var Context = new LiderEntities())
                        {
                            Context.PRODUCTOes.Remove(Context.PRODUCTOes.Find(Convert.ToString(campo)));
                            Context.SaveChanges();
                        }
                        Resultado = "Producto Eliminado con exito";
                    }
                    catch (SqlException t)
                    {
                        Resultado = t.Message;
                    }
                    return(Resultado);
                }
            }
        }
Exemple #6
0
        private void DESAPROBAR_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var proceso    = new Libreria.Rutina();
            int Contador   = 0;
            var frmmensage = new Elementos.frmMsg();

            frmmensage.dataGridView1.Columns[0].HeaderText = "Pedido";
            frmmensage.dataGridView1.Columns[1].HeaderText = "Mensage";
            frmmensage.dataGridView1.Columns[2].HeaderText = string.Empty;
            frmmensage.dataGridView1.Columns[3].HeaderText = string.Empty;
            if (gridView1.SelectedRowsCount > 0)
            {
                if (proceso.MensagePregunta("¿Continuar?") == DialogResult.Yes)
                {
                    using (var CTX = new LiderEntities())
                    {
                        foreach (var fila in gridView1.GetSelectedRows())
                        {
                            string numPedido = Convert.ToString(gridView1.GetRowCellValue(fila, "num Pedido"));
                            bool   Estado    = CTX.PEDIDOes.Where(x => x.Pedido1 == numPedido).Select(p => p.Procesado).FirstOrDefault();
                            var    Aprob     = CTX.PEDIDOes.Where(x => x.Pedido1 == numPedido).Select(p => p.Aprobado).FirstOrDefault();
                            if (!Estado)
                            {
                                if (Aprob is DBNull ? false : (bool)Aprob)
                                {
                                    var pedido = (from p in CTX.PEDIDOes where p.Pedido1 == numPedido select p).FirstOrDefault();
                                    pedido.Aprobado = false;
                                    frmmensage.dataGridView1.Rows.Add(numPedido, "Desaprobado Exitosamente.");
                                }
                                else
                                {
                                    Contador += 1;
                                    frmmensage.dataGridView1.Rows.Add(numPedido, "Pedido ya se encuentra desaprobado.");
                                }
                            }
                            else
                            {
                                Contador += 1;
                                frmmensage.dataGridView1.Rows.Add(numPedido, "Pedido se encuentra facturado, ya no es modificable.");
                            }
                        }
                        CTX.SaveChanges();
                        frmmensage.Show();
                        Refrescar();
                    }
                }
            }
        }
Exemple #7
0
        private void ELIMINAR_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var Rutina = new Libreria.Rutina();

            if (Rutina.MensagePregunta("¿Continuar?") == DialogResult.Yes)
            {
                if (gridView1.SelectedRowsCount > 0)
                {
                    using (var CTX = new LiderEntities())
                    {
                        var Formulario = new Elementos.frmMsg();
                        Formulario.Scm03.SplashFormStartPosition       = SplashFormStartPosition.Default;
                        Formulario.dataGridView1.Columns[0].HeaderText = "Entidad";
                        Formulario.dataGridView1.Columns[1].HeaderText = "Resultado";
                        Formulario.dataGridView1.Columns[2].HeaderText = string.Empty;
                        Formulario.dataGridView1.Columns[3].HeaderText = string.Empty;
                        Formulario.Show();
                        Formulario.Scm03.ShowWaitForm();
                        foreach (var Rv in gridView1.GetSelectedRows())
                        {
                            string Codigo = Convert.ToString(gridView1.GetDataRow(Rv)["Codigo"]);
                            CTX.PERSONALs.Remove(CTX.PERSONALs.Where(w => w.Personal1 == Codigo).FirstOrDefault());
                            try
                            {
                                CTX.SaveChanges();
                                Formulario.dataGridView1.Rows.Add(Codigo, "Eliminado Con exito.");
                            }
                            catch (DbEntityValidationException t)
                            {
                                foreach (DbEntityValidationResult item in t.EntityValidationErrors)
                                {
                                    DbEntityEntry entry          = item.Entry;
                                    string        entityTypeName = entry.Entity.GetType().Name;
                                    foreach (DbValidationError subItem in item.ValidationErrors)
                                    {
                                        string message = string.Format("Error '{0}' occurred in {1} at {2}", subItem.ErrorMessage, entityTypeName, subItem.PropertyName);
                                        Formulario.dataGridView1.Rows.Add(Codigo, message);
                                    }
                                }
                            }
                        }
                        Formulario.Scm03.CloseWaitForm();
                        Refrescar();
                    }
                }
            }
        }
Exemple #8
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 #9
0
        private void ANULAR_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var frmmensage = new Elementos.frmMsg();

            frmmensage.dataGridView1.Columns[0].HeaderText = "Comprobante";
            frmmensage.dataGridView1.Columns[1].HeaderText = "Mensage";
            frmmensage.dataGridView1.Columns[2].HeaderText = string.Empty;
            frmmensage.dataGridView1.Columns[3].HeaderText = string.Empty;
            frmmensage.dataGridView1.Columns[0].Width      = 100;
            using (var Context = new LiderEntities())
            {
                if (gridView1.SelectedRowsCount > 0)
                {
                    var proceso = new Libreria.Rutina();
                    if (proceso.MensagePregunta("¿Desea Continuar?") == DialogResult.Yes)
                    {
                        foreach (var fila in gridView1.GetSelectedRows())
                        {
                            string NumeroComprobante = Convert.ToString(gridView1.GetRowCellValue(fila, "Comprobante")).Trim();
                            string Estado            = Context.DOCUMENTOes.Where(x => x.Generado == NumeroComprobante).Select(p => p.Estado).FirstOrDefault().Trim();
                            if (Estado != "A")
                            {
                                var Comprobante = (from c in Context.DOCUMENTOes where c.Generado == NumeroComprobante select c).FirstOrDefault();
                                Comprobante.Estado = "A";
                                frmmensage.dataGridView1.Rows.Add(NumeroComprobante, "Comprobante ha sido anulado con exito.");
                            }
                            else
                            {
                                frmmensage.dataGridView1.Rows.Add(NumeroComprobante, "Comprobante se encuentra anulado.");
                            }
                        }
                        Context.SaveChanges();
                        frmmensage.Show();
                        Refrescar();
                    }
                }
            }
        }
Exemple #10
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");
            }
        }