示例#1
0
        public async Task <ActionResult> Historial()
        {
            if (!IsLogin())
            {
                return(RedirectToAction("Index", "Login"));
            }

            var utc_from = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Parse(_Global.FromDate), "US Eastern Standard Time", "UTC").ToString("yyyy-MM-dd HH:mm:ss");
            //var utc_from = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Parse("24/02/2020"), "US Eastern Standard Time", "UTC").ToString("yyyy-MM-dd HH:mm:ss");

            var utc_to = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Parse(_Global.ToDate), "US Eastern Standard Time", "UTC").ToString("yyyy-MM-dd HH:mm:ss");
            //var utc_to = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Parse("28/02/2020"), "US Eastern Standard Time", "UTC").ToString("yyyy-MM-dd HH:mm:ss");
            var facturacion = new Facturacion();

            Session["HistorialFromDate"] = _Global.FromDate;
            Session["HistorialToDate"]   = _Global.ToDate;

            GetRetailCustomerXDRListResponse XDRListResponse = new GetRetailCustomerXDRListResponse();
            var Xdrs = new List <CustomerXDRInfo>();

            if ((TipoTienda)Session["TipoTienda"] == TipoTienda.Padre)
            {
                try
                {
                    XDRListResponse = await((customer_info)Session["CurrentCustomer"]).GetCustomerXDR(new GetRetailCustomerXDRListRequest {
                        from_date = utc_from, to_date = utc_to
                    });
                    Xdrs = XDRListResponse.xdr_list.ToList();
                }
                catch (Exception ex)
                {
                    ;
                }
            }
            else
            {
                var account = ((customer_info)Session["CurrentAccont"]);

                XDRListResponse = await account.GetCustomerXDR(new GetRetailCustomerXDRListRequest { from_date = utc_from, to_date = utc_to });

                Xdrs = XDRListResponse.xdr_list.ToList();
            }

            var RecargaTiendas = new List <RecargaTienda>();

            var listaCuentas = new List <customer_info>();


            foreach (var item in Xdrs)
            {
                if (item.XdrIsMovil() || item.XdrIsNauta())
                {
                    var nombreCuenta = "";
                    if (item.XdrIdAsociado() != 0)
                    {
                        if (listaCuentas.Where(x => x.i_customer.ToString() == item.XdrIdAsociado().ToString()).Any())
                        {
                            nombreCuenta = listaCuentas.Where(x => x.i_customer.ToString() == item.XdrIdAsociado().ToString()).First().firstname;
                        }
                        else
                        {
                            var accountInfo = await((customer_info)Session["CurrentCustomer"]).GetAccountById(item.XdrIdAsociado().ToString());
                            if (accountInfo != null)
                            {
                                nombreCuenta = accountInfo.fullname;
                                listaCuentas.Add(accountInfo);
                            }
                        }
                    }


                    var recarga = new RecargaTienda();
                    recarga.Numero   = item.XdrGetNumero();
                    recarga.Nombre   = item.XdrGetNombre();
                    recarga.Monto    = item.XdrGetMonto();
                    recarga.CostoXdr = item.XdrGetCosto();
                    recarga.Fecha    = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(item.bill_time, "UTC", "US Eastern Standard Time").ToString("yyyy-MM-dd HH:mm:ss");
                    recarga.Asociado = nombreCuenta;
                    RecargaTiendas.Add(recarga);
                }
            }

            Session["ListaRecargasHistorial"] = RecargaTiendas;

            Session["Registros"] = ((List <RecargaTienda>)Session["ListaRecargasHistorial"]).Count;
            var total = ((List <RecargaTienda>)Session["ListaRecargasHistorial"]).Sum(x => x.CostoXdr);

            Session["Total"] = decimal.Round(Convert.ToDecimal(total), 2);

            return(View((List <RecargaTienda>)Session["ListaRecargasHistorial"]));
        }
        public async Task <ActionResult> Historial()
        {
            if (!IsLogin())
            {
                return(RedirectToAction("Index", "Login"));
            }

            //DateTime dt1 = DateTime.Now;
            //DateTime wkStDt = DateTime.MinValue;
            //wkStDt = dt1.AddDays(1 - Convert.ToDouble(dt1.DayOfWeek));
            //string inicioSemana = wkStDt.Date.ToString("yyyy/MM/dd HH:mm:ss");
            //var dt = DateTime.Parse(inicioSemana);
            var utc_from = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Parse(_Global.FromDate), "US Eastern Standard Time", "UTC").ToString("yyyy-MM-dd HH:mm:ss");

            //string finSemana = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
            //var to = DateTime.Parse(finSemana);
            var utc_to      = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Parse(_Global.ToDate), "US Eastern Standard Time", "UTC").ToString("yyyy-MM-dd HH:mm:ss");
            var facturacion = new Facturacion();

            Session["HistorialFromDate"] = _Global.FromDate;
            Session["HistorialToDate"]   = _Global.ToDate;


            GetRetailCustomerXDRListResponse XDRListResponse = new GetRetailCustomerXDRListResponse();
            var Xdrs = new List <CustomerXDRInfo>();

            if ((TipoTienda)Session["TipoTienda"] == TipoTienda.Padre)
            {
                XDRListResponse = await((customer_info)Session["CurrentCustomer"]).GetCustomerXDR(new GetRetailCustomerXDRListRequest {
                    from_date = utc_from, to_date = utc_to
                });
                Xdrs = XDRListResponse.xdr_list.ToList();
            }
            else
            {
                var account  = ((customer_info)Session["CurrentAccont"]);
                var customer = new customer_info
                {
                    i_customer = account.i_customer
                };

                XDRListResponse = await customer.GetCustomerXDR(new GetRetailCustomerXDRListRequest { from_date = utc_from, to_date = utc_to });

                Xdrs = XDRListResponse.xdr_list.ToList().Where(x => x.account_id == account.i_customer.ToString()).ToList();
            }

            var RecargaNautas = new List <RecargaNauta>();

            var listaCuentas = new List <customer_info>();


            foreach (var item in Xdrs)
            {
                if (item.XdrIsMovil())
                {
                    var nombreCuenta = "";
                    if (item.account_id != null)
                    {
                        if (listaCuentas.Where(x => x.i_customer.ToString() == item.XdrIdAsociado().ToString()).Any())
                        {
                            nombreCuenta = listaCuentas.Where(x => x.i_customer.ToString() == item.XdrIdAsociado().ToString()).First().firstname;
                        }
                        else
                        {
                            var accountInfo = await((customer_info)Session["CurrentCustomer"]).GetAccountById(item.XdrIdAsociado().ToString());
                            if (accountInfo != null)
                            {
                                nombreCuenta = accountInfo.fullname;
                                listaCuentas.Add(accountInfo);
                            }
                        }
                    }

                    var recarga = new RecargaNauta();
                    recarga.Numero   = item.XdrGetNumero();
                    recarga.Monto    = item.XdrGetMonto();
                    recarga.CostoXdr = item.XdrGetCosto();
                    recarga.Fecha    = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(item.bill_time, "UTC", "US Eastern Standard Time").ToString("yyyy-MM-dd HH:mm:ss");
                    recarga.Asociado = nombreCuenta;
                    RecargaNautas.Add(recarga);
                }
            }

            Session["ListaRecargasNautasHistorial"] = RecargaNautas;

            Session["Registros"] = ((List <RecargaNauta>)Session["ListaRecargasNautasHistorial"]).Count;
            var total = ((List <RecargaNauta>)Session["ListaRecargasNautasHistorial"]).Sum(x => x.CostoXdr);

            Session["Total"] = decimal.Round(Convert.ToDecimal(total), 2);

            return(View((List <RecargaNauta>)Session["ListaRecargasNautasHistorial"]));
        }