public async Task <IActionResult> Edit(int id, [Bind("Idempresa,Idcuenta,Codcuentacatalogo")] Catalogodecuenta catalogodecuenta) { if (id != catalogodecuenta.Idempresa) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(catalogodecuenta); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CatalogodecuentaExists(catalogodecuenta.Idempresa)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["Idcuenta"] = new SelectList(_context.Cuenta, "Idcuenta", "Nomcuenta", catalogodecuenta.Idcuenta); ViewData["Idempresa"] = new SelectList(_context.Empresa, "Idempresa", "Nomempresa", catalogodecuenta.Idempresa); return(View(catalogodecuenta)); }
public List <Catalogodecuenta> InsertarCuentasDeTotalCatalogo(int idEmpresa) { List <Catalogodecuenta> catalogodecuentas = new List <Catalogodecuenta>(); var cuentasBase = from s in _context.Cuenta select s; cuentasBase = cuentasBase.Where(s => s.Nomcuenta.Equals("TOTAL ACTIVOS CORRIENTES") || s.Nomcuenta.Equals("TOTAL ACTIVOS NO CORRIENTES") || s.Nomcuenta.Equals("TOTAL PASIVOS CORRIENTES") || s.Nomcuenta.Equals("TOTAL PASIVOS NO CORRIENTES") || s.Nomcuenta.Equals("TOTAL PATRIMONIO") || s.Nomcuenta.Equals("TOTAL ACTIVO") || s.Nomcuenta.Equals("TOTAL PASIVO MAS PATRIMONIO")); foreach (var cuentaB in cuentasBase) { Catalogodecuenta cc = new Catalogodecuenta { Idcuenta = cuentaB.Idcuenta, Idempresa = idEmpresa, Codcuentacatalogo = "0" //Para identificar las cuentas de totales del balance el codcatalogo = 0 }; var catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } } return(catalogodecuentas); }
public async Task <IActionResult> Create([Bind("Idempresa,Idcuenta,Codcuentacatalogo")] Catalogodecuenta catalogodecuenta) { if (ModelState.IsValid) { _context.Add(catalogodecuenta); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["Idcuenta"] = new SelectList(_context.Cuenta, "Idcuenta", "Nomcuenta", catalogodecuenta.Idcuenta); ViewData["Idempresa"] = new SelectList(_context.Empresa, "Idempresa", "Nomempresa", catalogodecuenta.Idempresa); return(View(catalogodecuenta)); }
/*ArmarCatalago: Devuelve una lista del catalogo de la empresa armado*/ public async Task <List <Catalogodecuenta> > ArmarCatalago(int idEmpresa, List <CuentaViewModel> lstCV) { List <Cuenta> lstCB = await cuentasController.ConsultarCuentas(); List <Catalogodecuenta> catalogodecuentas = new List <Catalogodecuenta>(); foreach (var cuentaV in lstCV) { List <Cuenta> ctaBase = _context.Cuenta.Where(cB => cB.Nomcuenta.Equals(cuentaV.nombre)).Include(i => i.IdtipocuentaNavigation).ToList(); if (ctaBase.Count > 1) { string val = ""; string cod = cuentaV.codigo.Replace(".", ""); int identificadorCuenta = 0; if (cod.Length > 1) { val = cod.Substring(0, 2); } else { val = cod.Substring(0, 1); } int catalogoBase = 0; Catalogodecuenta cc = new Catalogodecuenta(); switch (val) { case "1": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("ACTIVO")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; case "11": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("ACTIVO CORRIENTE")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; case "12": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("ACTIVO NO CORRIENTE")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; case "2": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("PASIVO")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; case "21": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("PASIVO CORRIENTE")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; case "22": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("PASIVO NO CORRIENTE")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; case "3": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("PATRIMONIO")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; case "4": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("GASTOS")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; case "5": identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("INGRESOS")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } break; default: if (cod.StartsWith("3")) { identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("PATRIMONIO")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } } else if (cod.StartsWith("4")) { identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("GASTOS")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } } else if (cod.StartsWith("5")) { identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("INGRESOS")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } } else { identificadorCuenta = ctaBase.Where(cta => cta.IdtipocuentaNavigation.Nomtipocuenta.Equals("OTROS")).First().Idcuenta; cc = new Catalogodecuenta { Idcuenta = identificadorCuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } } break; } } else if (ctaBase.Count == 1) { Catalogodecuenta cc = new Catalogodecuenta { Idcuenta = ctaBase.First().Idcuenta, Idempresa = idEmpresa, Codcuentacatalogo = cuentaV.codigo }; var catalogoBase = _context.Catalogodecuenta.Count(a => a.Idcuenta == cc.Idcuenta && a.Idempresa == cc.Idempresa); if (!(catalogoBase > 0)) { catalogodecuentas.Add(cc); } } } int idDefault = _context.Cuenta.Where(d => d.Nomcuenta.Equals("Default")).FirstOrDefault().Idcuenta; var cb = _context.Catalogodecuenta.Count(a => a.Idcuenta == idDefault && a.Idempresa == idEmpresa); if (!(cb > 0)) { catalogodecuentas.Add(new Catalogodecuenta { Idcuenta = idDefault, Idempresa = idEmpresa, Codcuentacatalogo = "D" }); } catalogodecuentas = catalogodecuentas.Concat(InsertarCuentasDeTotalCatalogo(idEmpresa)).ToList(); return(catalogodecuentas); }