public async Task <IActionResult> OnGetAsync()
        {
            var token = HttpContext.Session.GetString("token");

            if (token == null || token == "" || token == "null")
            {
                return(RedirectToPage("/logout"));
            }

            Country          = User.Claims.Where(x => x.Type == "Country").Select(x => x.Value).SingleOrDefault();
            Banks_Options    = new List <SelectListItem>();
            Currency_Options = new List <SelectListItem>();
            Countries        = await _globalService.ConsultaBanksTF(new ParamCountry { Id = Int32.Parse(Country) });

            //----------- Llenado de Country
            if (Countries.Entities != null)
            {
                foreach (var bank in Countries.Entities)
                {
                    Banks_Options.Add(new SelectListItem()
                    {
                        Value = bank.Id, Text = bank.Person.Name
                    });
                }
            }
            if (Countries.Currencies != null)
            {
                foreach (var moneda in Countries.Currencies)
                {
                    Currency_Options.Add(new SelectListItem()
                    {
                        Value = moneda.Id.ToString(), Text = moneda.Name
                    });
                }
            }
            filter        = new List <filterInvoice>();
            financiedNull = new List <bool?>();
            dataFilter    = new List <string>();

            for (var i = 0; i < Countries.Currencies.Count; i++)
            {
                filter.Add(new filterInvoice()
                {
                    Financied = null
                });
                financiedNull.Add(null);
                dataFilter.Add(JsonConvert.SerializeObject(filter[i]));
            }

            //filter = new filterInvoice() { Financied = false };

            dataJsonCurrencies = JsonConvert.SerializeObject(Countries.Currencies);
            return(Page());
        }
        public async Task <IActionResult> OnGetAsync([FromBody] RequestPagination pag)
        {
            var token = HttpContext.Session.GetString("token");

            if (token == null)
            {
                return(RedirectToPage("/logout", "session expired", new { returnUrl = "~/index?error=sessionExpired" }));
            }

            dataFilter = JsonConvert.SerializeObject(filter);

            Owner         = User.Claims.Where(x => x.Type == "Owner").Select(x => x.Value).SingleOrDefault();
            Confirmant    = User.Claims.Where(x => x.Type == "Confirmant").Select(x => x.Value).SingleOrDefault();
            Country       = User.Claims.Where(x => x.Type == "Country").Select(x => x.Value).SingleOrDefault();
            Banks_Options = new List <SelectListItem>();

            if (HttpContext.Session.GetString("CountryInvoices") == null || JsonConvert.DeserializeObject <Country>(HttpContext.Session.GetString("CountryInvoices")).Id != Int32.Parse(Country))
            {
                var data = await _globalService.GetDataCountryInvoices(Int32.Parse(Country), token);

                if (data.Errors == this.__notAuthorized)
                {
                    return(RedirectToPage("/logout", "session expired", new { returnUrl = "~/index?error=sessionExpired" }));
                }

                HttpContext.Session.SetString("CountryInvoices", JsonConvert.SerializeObject(data));
            }
            if (HttpContext.Session.GetString("CountryBanks") == null || HttpContext.Session.GetString("CountryBanks") == "" || HttpContext.Session.GetString("CountryBanks") == "null")
            {
                Countries = await _globalService.ConsultaBanksTF(new ParamCountry { Id = Int32.Parse(Country) });

                HttpContext.Session.SetString("CountryBanks", JsonConvert.SerializeObject(Countries));
            }
            else
            {
                Countries = JsonConvert.DeserializeObject <ListCountry>(HttpContext.Session.GetString("CountryBanks"));
            }

            if (Countries.Entities != null)
            {
                foreach (var bank in Countries.Entities)
                {
                    Banks_Options.Add(new SelectListItem()
                    {
                        Value = bank.Id, Text = bank.Person.Name
                    });
                }
            }
            List <Invoices> facturaCheck = new List <Invoices>();

            Currency_options = new List <SelectListItem>();
            Status_Options   = new List <SelectListItem>();

            foreach (var currency in JsonConvert.DeserializeObject <Country>(HttpContext.Session.GetString("CountryInvoices")).Currencies)
            {
                Currency_options.Add(new SelectListItem()
                {
                    Value = "" + currency.Id.Value, Text = currency.Name
                });
            }

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync()
        {
            var token = HttpContext.Session.GetString("token");

            if (token == null || token == "" || token == "null")
            {
                return(RedirectToPage("/logout"));
            }

            Owner       = User.Claims.Where(x => x.Type == "Owner").Select(x => x.Value).SingleOrDefault();
            Participant = User.Claims.Where(x => x.Type == "Participant").Select(x => x.Value).SingleOrDefault();
            Country     = User.Claims.Where(x => x.Type == "Country").Select(x => x.Value).SingleOrDefault();
            User Contrato = new User();

            Contrato.Person = new Prospecto();
            #region Supplier
            if (Participant == "SUPPLIER")
            {
                filterInvoice PeopleId = new filterInvoice();
                PeopleId.Id = Owner;
                var contratoTerminos = await _peopleService.ConsultaContratoAsync(new ParamProspecto { Filter = PeopleId, Country = int.Parse(Country) }, token);

                var Countries = await _globalService.ConsultaBanksTF(new ParamCountry { Id = int.Parse(Country) });

                if (contratoTerminos != null)
                {
                    foreach (var contrato in contratoTerminos.Agreements)
                    {
                        if (Countries.Entities != null)
                        {
                            foreach (var banks in Countries.Entities)
                            {
                                if (contrato.Entity == banks.Id && contrato.AcceptedAt == null)
                                {
                                    Contrato.Person.Name = banks.Person.Name;
                                }
                            }
                            Contrato.Person.Agreements.Add(contrato);
                        }

                        if (contrato.Accepted == true && contrato.Abbreviation == "MEMBERSHIP" && contrato.Participant == "SUPPLIER")
                        {
                            Contrato.State = "no_const";
                        }
                    }
                }
            }

            #endregion

            #region RefreshToken
            var id = User.Claims.Where(x => x.Type == "Id").Select(x => x.Value).SingleOrDefault();
            var l  = await this._aS.RefreshToken(id, CultureInfo.CurrentCulture.Name, "SUPPLIER", token);

            if (l.Error == null)
            {
                HttpContext.Session.SetString("token", l.Token);
            }
            #endregion

            Contrato.Participant     = Participant;
            Contrato.IsAuthenticated = (await _AuthorizationService.AuthorizeAsync(User, "PolicyContracts")).Succeeded;
            ContratoJson             = JsonConvert.SerializeObject(Contrato);
            return(Page());
        }