Ejemplo n.º 1
0
        public async Task <IActionResult> OnGetAsync()
        {
            try
            {
                var Roles = ((ClaimsIdentity)User.Identity).Claims.Where(d => d.Type == "Roles").Select(s1 => s1.Value).FirstOrDefault().Split("|");
                if (string.IsNullOrEmpty(Roles.Where(a => a == "4").FirstOrDefault()))
                {
                    return(RedirectToPage("/NoPermiso"));
                }
                var idLogin = int.Parse(((ClaimsIdentity)User.Identity).Claims.Where(d => d.Type == ClaimTypes.Actor).Select(s1 => s1.Value).FirstOrDefault());
                // DateTime time = DateTime.Now;

                Periodos = new string[12] {
                    "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"
                };

                Monedas = new List <MonedasViewModel>();



                Proveedores = await proveedor.ObtenerLista("");

                filtro.FechaInicio = DateTime.Now;

                filtro.FechaInicio = new DateTime(filtro.FechaInicio.Year, filtro.FechaInicio.Month, 1);
                //   filtro.FechaFinal = filtro.FechaInicio.AddMonths(1).AddDays(-1);

                DateTime primerDia = new DateTime(filtro.FechaInicio.Year, filtro.FechaInicio.Month, 1);


                DateTime ultimoDia = primerDia.AddMonths(1).AddDays(-1);

                filtro.FechaFinal = ultimoDia;


                Periodo = Periodos[filtro.FechaFinal.Month - 1];


                var Pais = ((ClaimsIdentity)User.Identity).Claims.Where(d => d.Type == "Pais").Select(s1 => s1.Value).FirstOrDefault();

                this.Pais = Pais;

                var resp = false;
                if (Pais == "C")
                {
                    MonedasViewModel moneda = new MonedasViewModel();

                    moneda.identificador = "CRC";
                    moneda.Moneda        = "Colones";

                    resp = await mon.VCierre(idLogin, Periodo, DateTime.Now, moneda.identificador);

                    if (resp)
                    {
                        Monedas.Add(moneda);
                    }
                }



                MonedasViewModel moneda2 = new MonedasViewModel();
                moneda2.identificador = "USD";
                moneda2.Moneda        = "Dolares";
                resp = await mon.VCierre(idLogin, Periodo, DateTime.Now, moneda2.identificador);

                if (resp)
                {
                    Monedas.Add(moneda2);
                }


                if (Pais == "C")
                {
                    MonedasViewModel moneda3 = new MonedasViewModel();
                    moneda3.identificador = "EUR";
                    moneda3.Moneda        = "Euros";
                    resp = await mon.VCierre(idLogin, Periodo, DateTime.Now, moneda3.identificador);

                    if (resp)
                    {
                        Monedas.Add(moneda3);
                    }
                }



                Usuarios = await usuario.ObtenerLista("");

                Usuario = Usuarios.Where(a => a.id == idLogin).FirstOrDefault();

                Gastos = await gastos.ObtenerLista("");

                await compras.RealizarLecturaEmails();

                await compras.LecturaBandejaEntrada();

                return(Page());
            }
            catch (ApiException ex)
            {
                Errores error = JsonConvert.DeserializeObject <Errores>(ex.Content.ToString());
                ModelState.AddModelError(string.Empty, error.Message);

                return(Page());
            }
        }