public static bool TransferirCajaDiarioBoveda() { var idOficina = VendixGlobal.GetOficinaId(); using (var scope = new TransactionScope()) { try { var cajasDiarios = Listar(x => x.IndCierre && x.TransBoveda == false && x.Caja.OficinaId == idOficina, includeProperties: "Caja"); var oBoveda = BovedaBL.Obtener(x => x.OficinaId == idOficina && x.IndCierre == false); foreach (var item in cajasDiarios) { item.TransBoveda = true; Actualizar(item); var movBoveda = new BovedaMov { BovedaId = oBoveda.BovedaId, CodOperacion = "TRE", Glosa = "CIERRE " + item.Caja.Denominacion + " " + VendixGlobal.GetFecha().ToShortDateString(), Importe = item.SaldoFinal, IndEntrada = true, Estado = true, UsuarioRegId = VendixGlobal.GetUsuarioId(), FechaReg = VendixGlobal.GetFecha(), CajaDiarioId = item.CajaDiarioId, }; BovedaMovBL.Crear(movBoveda); } var oBovedaMov = BovedaMovBL.Listar(x => x.BovedaId == oBoveda.BovedaId && x.Estado); oBoveda.Entradas = oBovedaMov.Where(x => x.IndEntrada).Sum(x => x.Importe); oBoveda.Salidas = oBovedaMov.Where(x => x.IndEntrada == false).Sum(x => x.Importe); oBoveda.SaldoFinal = oBoveda.SaldoInicial + oBoveda.Entradas - oBoveda.Salidas; BovedaBL.Actualizar(oBoveda); using (var db = new VENDIXEntities()) { db.usp_CalificarCliente(idOficina); db.SaveChanges(); } scope.Complete(); return(true); } catch (Exception) { scope.Dispose(); throw; } } }