public List <saldoscuentas> DevolverSaldos(List <int> idcuenta, string aniotrabajo, int idsucursal) { List <saldoscuentas> cuentatot = new List <saldoscuentas>(); List <saldoscuentas> cuentauno = new List <saldoscuentas>(); using (siimnEntities bd = new siimnEntities()) { try { foreach (int item in idcuenta) { var query = bd.saldoscuentas.Where(sal => sal.cuenta == item && sal.anio == aniotrabajo && sal.idsucursal == idsucursal); if (query.Count() > 0) { foreach (var queryun in query.ToList()) { saldoscuentas sald = new saldoscuentas(); sald.anio = queryun.anio; sald.credimes = queryun.credimes; sald.cuenta = queryun.cuenta; sald.debimes = queryun.debimes; sald.idsaldoscuentas = queryun.idsaldoscuentas; sald.idsucursal = queryun.idsucursal; sald.mes = queryun.mes; sald.saldomes = queryun.saldomes; cuentauno.Add(sald); } } } if (cuentauno.Count() > 0) { foreach (saldoscuentas item in cuentauno.OrderBy(dev => dev.cuenta).ToList()) { saldoscuentas salcuenta = new saldoscuentas(); var cuenta2 = cuentatot.Where(cue => cue.mes == item.mes); if (cuenta2.Count() > 0) { cuenta2.First().saldomes = cuenta2.First().saldomes + item.saldomes; cuenta2.First().credimes = cuenta2.First().credimes + item.credimes; cuenta2.First().debimes = cuenta2.First().debimes + item.debimes; } else { salcuenta.anio = item.anio; salcuenta.mes = item.mes; salcuenta.cuenta = item.cuenta; salcuenta.saldomes = salcuenta.saldomes + item.saldomes; salcuenta.credimes = salcuenta.credimes + item.credimes; salcuenta.debimes = salcuenta.debimes + item.debimes; cuentatot.Add(salcuenta); } } } } catch (Exception ex) { throw ex; } return(cuentatot); } }
public bool ActualizarUnAsiento(List <movimi> lstMovimi) { bool result = false; using (siimnEntities bd = new siimnEntities()) { try { foreach (movimi item in lstMovimi) { var query = bd.saldoscuentas.Where(sal => sal.idsucursal == item.idsucursal && sal.cuenta == item.cuenta && sal.anio == item.anio && sal.mes == item.mes); if (query.Count() > 0) { query.First().saldomes = query.First().saldomes + item.valordebito + item.valorcredito; query.First().debimes = query.First().debimes + item.valordebito; query.First().credimes = query.First().credimes + item.valorcredito; } else { saldoscuentas saldos = new saldoscuentas(); saldos.idsucursal = item.idsucursal; saldos.cuenta = item.cuenta; saldos.anio = item.anio; saldos.mes = item.mes; saldos.saldomes = item.valorcredito + item.valordebito; saldos.debimes = item.valordebito; saldos.credimes = item.valorcredito; bd.saldoscuentas.Add(saldos); } if (item.idnit != null) { var query1 = bd.maepagos.Where(mae => mae.idsucursal == item.idsucursal && mae.cuenta == item.cuenta && mae.idnit == item.idnit && mae.anio == item.anio && mae.mes == item.mes); if (query1.Count() > 0) { query1.First().saldomes = query.First().saldomes + item.valordebito + item.valorcredito; query1.First().debimes = query.First().debimes + item.valordebito; query1.First().credimes = query.First().credimes + item.valorcredito; } else { maepagos pagos = new maepagos(); pagos.idsucursal = item.idsucursal; pagos.cuenta = item.cuenta; pagos.idnit = item.idnit ?? default(int); pagos.anio = item.anio; pagos.mes = item.mes; pagos.saldomes = item.valorcredito + item.valordebito; pagos.debimes = item.valordebito; pagos.credimes = item.valorcredito; bd.maepagos.Add(pagos); } } if (item.idcentro != null) { var query2 = bd.acucentr.Where(acu => acu.idsucursal == item.idsucursal && acu.anio == item.anio && acu.mes == item.mes && acu.idcentro == item.idcentro && acu.idcuenta == item.cuenta && acu.idnit == item.idnit); if (query2.Count() > 0) { query2.First().saldomes = query.First().saldomes + item.valordebito + item.valorcredito; query2.First().debimes = query.First().debimes + item.valordebito; query2.First().credimes = query.First().credimes + item.valorcredito; } else { acucentr salcentro = new acucentr(); salcentro.idsucursal = item.idsucursal; salcentro.idcuenta = item.cuenta; salcentro.idnit = item.idnit ?? default(int); salcentro.idcentro = item.idcentro ?? default(int); salcentro.anio = item.anio; salcentro.mes = item.mes; salcentro.saldomes = item.valorcredito + item.valordebito; salcentro.debimes = item.valordebito; salcentro.credimes = item.valorcredito; bd.acucentr.Add(salcentro); } } } bd.SaveChanges(); result = true; } catch (Exception ex) { throw ex; } } return(result); }