Exemplo n.º 1
0
        private static Punto Sumador(Punto response, dynamic SumaPuntos, dynamic CanjePuntos)
        {
            var puntosSume = SumaPuntos[0].Puntos == null ? 0 : SumaPuntos[0].Puntos;
            var puntosCanje = CanjePuntos[0].Puntos == null ? 0 : CanjePuntos[0].Puntos;

            var montoSuma = SumaPuntos[0].Monto == null ? 0 : SumaPuntos[0].Monto;
            var montoCanje = CanjePuntos[0].Monto == null ? 0 : CanjePuntos[0].Monto;

            response.Puntos = puntosSume - puntosCanje;
            response.MontoCompra = montoSuma - montoCanje;

            return response;
        }
Exemplo n.º 2
0
        private void PuntosParticulares(Punto response,int anio)
        {
            var doc = GetCorporativo(response.Cuenta, response.CodEmpresa);
            dynamic sumaPuntos, canjePuntos;

            if (anio == 0)
            {
                sumaPuntos = DB.Cuentas_Corrientes.FindAllByCuentaAndCodEmpresa(response.Cuenta, response.CodEmpresa)
                    .Select(DB.Cuentas_Corrientes.MontoCompra.Sum().As("Monto"), DB.Cuentas_Corrientes.CantidadPuntos.Sum().As("Puntos"))
                    .Where(DB.Cuentas_Corrientes.Movimiento == 0 || DB.Cuentas_Corrientes.Movimiento == 2)
                    .Where(DB.Cuentas_Corrientes.NroDoc != doc).ToList();

                canjePuntos = DB.Cuentas_Corrientes.FindAllByCuentaAndCodEmpresa(response.Cuenta, response.CodEmpresa)
                    .Select(DB.Cuentas_Corrientes.MontoCompra.Sum().As("Monto"), DB.Cuentas_Corrientes.CantidadPuntos.Sum().As("Puntos"))
                    .Where(DB.Cuentas_Corrientes.Movimiento == 1 || DB.Cuentas_Corrientes.Movimiento == 4)
                    .Where(DB.Cuentas_Corrientes.NroDoc != doc).ToList();
            }
            else 
            {
                sumaPuntos = DB.Cuentas_Corrientes.FindAllByCuentaAndCodEmpresa(response.Cuenta, response.CodEmpresa)
                    .Select(DB.Cuentas_Corrientes.MontoCompra.Sum().As("Monto"), DB.Cuentas_Corrientes.CantidadPuntos.Sum().As("Puntos"))
                    .Where(DB.Cuentas_Corrientes.Movimiento == 0 || DB.Cuentas_Corrientes.Movimiento == 2)
                    .Where(DB.Cuentas_Corrientes.fecha_Compra >= @"01/12/" + (anio-1) && DB.Cuentas_Corrientes.fecha_Compra <= @"30/11/" + anio)
                    .Where(DB.Cuentas_Corrientes.NroDoc != doc).ToList();

                canjePuntos = DB.Cuentas_Corrientes.FindAllByCuentaAndCodEmpresa(response.Cuenta, response.CodEmpresa)
                    .Select(DB.Cuentas_Corrientes.MontoCompra.Sum().As("Monto"), DB.Cuentas_Corrientes.CantidadPuntos.Sum().As("Puntos"))
                    .Where(DB.Cuentas_Corrientes.fecha_Compra >= @"01/12/" + (anio-2) && DB.Cuentas_Corrientes.fecha_Compra <= @"30/11/" + anio)
                    .Where(DB.Cuentas_Corrientes.Movimiento == 1 || DB.Cuentas_Corrientes.Movimiento == 4)
                    .Where(DB.Cuentas_Corrientes.NroDoc != doc).ToList();
            }
            Sumador(response, sumaPuntos, canjePuntos);
        }
Exemplo n.º 3
0
        private Response GetPuntosForCustomer(dynamic x, Punto response,int anio=0)
        {
            if (((string)x.origen).ToLowerInvariant() == "corporativo")
                PuntosCorporativos(response,anio);
            else
                PuntosParticulares(response,anio);

           if (x.extension == "json")
                return Response.AsJson(response);
            else
                return Response.AsXml(response);
        }