Beispiel #1
0
        /// <summary>
        /// Obtiene las promociones que son aplicables a la venta
        /// </summary>
        /// <param name="folioVenta">Folio de la venta</param>
        /// <param name="codigoTienda">Código de tienda</param>
        /// <param name="codigoCaja">Código de caja</param>
        /// <returns>Resultado de la operación</returns>
        public DescuentoPromocionalVenta[] ObtenerPromocionesVenta(string folioVenta, int codigoTienda, int codigoCaja)
        {
            Inspector inspector  = new Inspector();
            var       parameters = new Dictionary <string, object>();

            parameters.Add("@FolioVenta", folioVenta);
            parameters.Add("@CodigoTienda", codigoTienda);
            parameters.Add("@CodigoCaja", codigoCaja);
            List <DescuentoPromocionalVenta> lista = new List <DescuentoPromocionalVenta>();

            foreach (var item in data.GetDataReader("[dbo].[sp_vanti_prmChecarPromocionesVenta]", parameters))
            {
                int grupoFormaPagoAsociada = 0;
                DescuentoPromocionalVenta descuentoPromocional = new DescuentoPromocionalVenta();
                descuentoPromocional.CodigoPromocionAplicado            = Convert.ToInt32(item.GetValue(0));
                descuentoPromocional.DescripcionCodigoPromocionAplicado = Convert.ToString(item.GetValue(1));
                descuentoPromocional.ImporteDescuento     = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(2)));
                descuentoPromocional.CodigoPromocionOrden = Convert.ToInt32(item.GetValue(3));
                descuentoPromocional.PorcentajeDescuento  = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(6)));
                descuentoPromocional.CodigoRazonDescuento = Convert.ToInt32(item.GetValue(7));
                descuentoPromocional.Secuencia            = 0;
                if (!item.IsDBNull(5))
                {
                    descuentoPromocional.Secuencia = Convert.ToInt32(item.GetValue(5));
                }
                if (!item.IsDBNull(4))
                {
                    grupoFormaPagoAsociada = Convert.ToInt32(item.GetValue(4));
                }
                if (grupoFormaPagoAsociada > 0)
                {
                    // Obtener las formas de pago asociadas
                    // TODO: Invocar adeacuadamente al SP
                    List <DescuentoPromocionalFormaPago> descuentosPromocionalesFormasPago = new List <DescuentoPromocionalFormaPago>();
                    var parametetrosFormasPago = new Dictionary <string, object>();
                    parametetrosFormasPago.Add("@CodigoPromoFormaPago", grupoFormaPagoAsociada);
                    foreach (var formaPago in data.GetDataReader("[dbo].[sp_vanti_prmGetFormasDePago]", parametetrosFormasPago))
                    {
                        DescuentoPromocionalFormaPago descuentoPromocionalFormaPago = new DescuentoPromocionalFormaPago();
                        descuentoPromocionalFormaPago.codigoFormaPago = Convert.ToString(formaPago.GetValue(0));
                        descuentosPromocionalesFormasPago.Add(descuentoPromocionalFormaPago);
                    }
                    descuentoPromocional.DescuentosPromocionalesFormaPago = descuentosPromocionalesFormasPago.ToArray();
                }
                lista.Add(descuentoPromocional);
            }
            return(lista.ToArray());
        }
Beispiel #2
0
        /// <summary>
        /// Obtenemos el porcentaje de descuento de primera compra
        /// </summary>
        /// <param name="folioVenta"></param>
        /// <param name="codigoTienda"></param>
        /// <param name="codigoCaja"></param>
        /// <returns></returns>
        public DescuentoPromocionalVenta[] ObtenerDescuentoMMPrimeraCompra(string folioVenta, int codigoTienda, int codigoCaja)
        {
            DescuentoTCMMPrimeraCompra descuento = new DescuentoTCMMPrimeraCompra();
            Inspector inspector  = new Inspector();
            var       parameters = new Dictionary <string, object>();

            parameters.Add("@FolioVenta", folioVenta);
            parameters.Add("@CodigoTienda", codigoTienda);
            parameters.Add("@CodigoCaja", codigoCaja);
            List <DescuentoPromocionalVenta> list = new List <DescuentoPromocionalVenta>();

            foreach (var item in data.GetDataReader("sp_vanti_prmChecarPromocionesMMPrimeraCompra", parameters))
            {
                int codigoPromocionAplicado = Convert.ToInt32(item.GetValue(0));
                DescuentoPromocionalVenta descuentoPromocional = list.FirstOrDefault(x => x.CodigoPromocionAplicado == codigoPromocionAplicado);
                if (descuentoPromocional == null)
                {
                    descuentoPromocional = new DescuentoPromocionalVenta();
                    descuentoPromocional.CodigoPromocionAplicado            = Convert.ToInt32(item.GetValue(0));
                    descuentoPromocional.DescripcionCodigoPromocionAplicado = Convert.ToString(item.GetValue(1));
                    descuentoPromocional.ImporteDescuento                 = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(2)));
                    descuentoPromocional.CodigoPromocionOrden             = Convert.ToInt32(item.GetValue(3));
                    descuentoPromocional.PorcentajeDescuento              = inspector.TruncarValor(Convert.ToDecimal(item.GetValue(6)));
                    descuentoPromocional.CodigoRazonDescuento             = Convert.ToInt32(item.GetValue(7));
                    descuentoPromocional.DescuentosPromocionalesFormaPago = new DescuentoPromocionalFormaPago[] { };
                    if (!item.IsDBNull(4))
                    {
                        DescuentoPromocionalFormaPago decuentoPromocionalFormaPago = new DescuentoPromocionalFormaPago();
                        decuentoPromocionalFormaPago.codigoFormaPago = Convert.ToString(item.GetValue(4));
                        descuentoPromocional.DescuentosPromocionalesFormaPago.ToList().Add(decuentoPromocionalFormaPago);
                    }
                    list.Add(descuentoPromocional);
                }
                else
                {
                    if (!item.IsDBNull(4))
                    {
                        DescuentoPromocionalFormaPago decuentoPromocionalFormaPago = new DescuentoPromocionalFormaPago();
                        decuentoPromocionalFormaPago.codigoFormaPago = Convert.ToString(item.GetValue(4));
                        descuentoPromocional.DescuentosPromocionalesFormaPago.ToList().Add(decuentoPromocionalFormaPago);
                    }
                }
            }
            return(list.ToArray());
        }