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); }
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)); }
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 })); }