コード例 #1
0
        public async Task <string> GuardarEstado(int IdEmpresa, SubirBalance subirBalance, IFormFile files)
        {
            List <BalanceViewModel> lstFilasEstado  = new List <BalanceViewModel>();
            List <BalanceViewModel> lstFilasEstado2 = new List <BalanceViewModel>();
            string mensaje = "Archivo subido con éxito.";

            if (files == null || files.Length <= 0)
            {
                return("El archivo subido es inválido, intentelo de nuevo.");
            }

            if (!(Path.GetExtension(files.FileName).Equals(".xlsx", StringComparison.OrdinalIgnoreCase)))
            {
                return("Solo se aceptan archivos de tipo Excel con extensión .xlsx");
            }
            //Verificar que la empresa tiene un catalago subido
            var catalogo = _context.Catalogodecuenta.Count(a => a.Idempresa == IdEmpresa);

            if (catalogo > 0)
            {
                foreach (var anio in subirBalance.anios)
                {
                    /*Llamar método para obtener la letra de columna y número de fila de las celdas*/
                    IEnumerable <string> s = SplitAlpha(subirBalance.celdaCuenta);
                    int numCeldaCuenta     = int.Parse(s.Last()); //Obtengo # de fila de las cuentas

                    string celValA1 = anio.celdaAnio;

                    s = SplitAlpha(celValA1);
                    int numCeldaAnio = int.Parse(s.Last()); //Obtengo # de fila de los valores
                    if (!(numCeldaAnio == numCeldaCuenta))
                    {
                        return("Los nombres de cuenta y los valores de las mismas deben estar en la misma fila");
                    }
                    //Verificando que no existan datos para ese año
                    if (!(_context.Valoresestado.Any(a => a.Anio == anio.anio && a.Idempresa == IdEmpresa)))
                    {
                        lstFilasEstado = await LeerExcel(files, subirBalance.hoja, subirBalance.celdaCuenta, anio.celdaAnio, anio.anio);

                        if (lstFilasEstado.Count == 0)
                        {
                            return("El archivo de excel está vacio");
                        }
                        await VerificarYSubirEstado(IdEmpresa, lstFilasEstado);
                    }
                    else
                    {
                        mensaje = "Ya existen datos para el año " + anio.anio;
                    }
                }
            }
            else
            {
                return("No se ha subido ningún catalogo de cuenta.");
            }
            return(mensaje);
        }
コード例 #2
0
        public async Task <IActionResult> GuardarBalance(int IdEmpresa, SubirBalance subirBalance, IFormFile files)
        {
            if (ModelState.IsValid)
            {
                string mensaje = await valoresController.GuardarBalance(IdEmpresa, subirBalance, files);

                return(RedirectToAction("Index", "ValoresBalance", new { mensaje = mensaje }));
            }
            return(PartialView("SubirBalance", subirBalance));
        }
コード例 #3
0
        public async Task <IActionResult> GuardarEstado(int IdEmpresa, SubirBalance subirBalance, IFormFile files)
        {
            string msje = await estadoController.GuardarEstado(IdEmpresa, subirBalance, files);

            return(RedirectToAction("Index", "EstadoR", new { mensaje = msje }));
        }