Esempio n. 1
0
        /// <summary>
        /// Delete a ParametroVendedor
        /// </summary>
        /// <param name="ParametroVendedorTarget"></param>
        public void DeleteParametroVendedor(CSS_PARAMETRO_VENDEDOR ParametroVendedorTarget)
        {
            try
            {
                using (var ctx = new MHERPEntities())
                {
                    //verify if the school exists
                    CSS_PARAMETRO_VENDEDOR oParametroVendedor = getParametroVendedor(ParametroVendedorTarget);

                    if (oParametroVendedor != null)
                    {
                        // if exists then edit
                        ctx.CSS_PARAMETRO_VENDEDOR.Attach(oParametroVendedor);
                        ctx.CSS_PARAMETRO_VENDEDOR.Remove(oParametroVendedor);
                        ctx.SaveChanges();
                    }
                }
            }
            catch (DbUpdateException ex)
            {
                if (ex.InnerException.InnerException.Message.Contains("REFERENCE constraint"))
                {
                    throw new Exception("No se puede eliminar este parámetro porque existe información asociada a este.");
                }
            }
            catch (Exception ex) { throw ex; }
        }
        private void calculateDoWork(object sender, DoWorkEventArgs e)
        {
            BizParametroVendedor bizParametroVendedor = new BizParametroVendedor();

            /*Búsqueda de ventas y detalle productos y pagos*/

            int numItems = lstVentas.Count;

            for (int i = 0; i < numItems; i++)
            {
                LojaDefinition lojaDefinition = lstLojaDefinition
                                                .Where(x => x.COD_FILIAL == lstVentas[i].CODIGO_FILIAL).FirstOrDefault();

                CSS_PARAMETRO_VENDEDOR parametroVendedor = bizParametroVendedor.getParametroVendedor(new CSS_PARAMETRO_VENDEDOR()
                {
                    vendedor = lstVentas[i].VENDEDOR
                });
                CSS_PARAMETRO_VENDEDOR parametroAdministrador = bizParametroVendedor.getParametroVendedor(new CSS_PARAMETRO_VENDEDOR()
                {
                    vendedor = lstVentas[i].GERENTE_PERIODO
                });

                decimal porComisionVendedor;
                decimal porComisionAdministrador;

                if (lojaDefinition.cumplePresupuesto)
                {
                    porComisionAdministrador = parametroAdministrador != null ? parametroAdministrador.comisionCumple : 0;
                    porComisionVendedor      = parametroVendedor != null ? parametroVendedor.comisionCumple : 0;
                }
                else
                {
                    porComisionAdministrador = parametroAdministrador != null ? parametroAdministrador.comisionNoCumple : 0;
                    porComisionVendedor      = parametroVendedor != null ? parametroVendedor.comisionNoCumple : 0;
                }

                decimal sellOutBrutoSinIvaSinComisionTarjetas = lstVentas[i].SellOutBruto - (lstVentas[i].vlrImpuestos + lstVentas[i].comisionTarjetas);
                decimal ventaBonosSinIva     = (lstVentas[i].bonosVendidos - lstVentas[i].ivaBonosVendidos) / 2;
                decimal redencionBonosSinIva = (lstVentas[i].bonosRedimidos - lstVentas[i].ivaBonosRedimidos) / 2;

                lstVentas[i].sellOutNeto           = sellOutBrutoSinIvaSinComisionTarjetas + ventaBonosSinIva + redencionBonosSinIva;
                lstVentas[i].comisionAdministrador = (lstVentas[i].sellOutNeto * porComisionAdministrador) / 100;
                lstVentas[i].comisionVendedor      = (lstVentas[i].sellOutNeto * porComisionVendedor) / 100;

                calculateWorker.ReportProgress((i * 100) / numVentas, lojaDefinition.COD_FILIAL);//+ " -> Ticket " + lstLojaVenda[i].TICKET);
            }


            //List<LojaVenda> lstTest = lstVentas.Where(x => x.VENDEDOR == null).ToList();
        }
Esempio n. 3
0
        public CSS_PARAMETRO_VENDEDOR getParametroVendedor(CSS_PARAMETRO_VENDEDOR filialTarget)
        {
            CSS_PARAMETRO_VENDEDOR filial = new CSS_PARAMETRO_VENDEDOR();

            try
            {
                using (var ctx = new MHERPEntities())
                {
                    ctx.Configuration.ProxyCreationEnabled = false;
                    filial = ctx.CSS_PARAMETRO_VENDEDOR.Where(x =>
                                                              x.vendedor == filialTarget.vendedor).FirstOrDefault();
                }
            }
            catch (Exception ex) { throw ex; }

            return(filial);
        }
Esempio n. 4
0
        public void SaveParametroVendedor(CSS_PARAMETRO_VENDEDOR ParametroVendedorTarget)
        {
            try
            {
                using (var ctx = new MHERPEntities())
                {
                    //verify if the ParametroVendedor exists
                    CSS_PARAMETRO_VENDEDOR oParametroVendedor = getParametroVendedor(ParametroVendedorTarget);

                    if (oParametroVendedor != null)
                    {
                        // if exists then edit
                        ctx.CSS_PARAMETRO_VENDEDOR.Attach(oParametroVendedor);
                        _GenericEntityValidation.EnumeratePropertyDifferences(oParametroVendedor, ParametroVendedorTarget);
                        ctx.SaveChanges();
                    }
                    else
                    {
                        // else create
                        ctx.CSS_PARAMETRO_VENDEDOR.Add(ParametroVendedorTarget);
                        ctx.SaveChanges();
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                StringBuilder oError = new StringBuilder();
                foreach (var eve in e.EntityValidationErrors)
                {
                    oError.AppendLine(string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                                    eve.Entry.Entity.GetType().Name, eve.Entry.State));

                    foreach (var ve in eve.ValidationErrors)
                    {
                        oError.AppendLine(string.Format("- Property: \"{0}\", Error: \"{1}\"",
                                                        ve.PropertyName, ve.ErrorMessage));
                    }
                }
                string msg = oError.ToString();
                throw new Exception(msg);
            }
            catch (Exception ex) { throw ex; }
        }