public static bool CrearOficina(Oficina pOficina) { using (var scope = new TransactionScope()) { try { var oficina = Crear(pOficina); BovedaBL.Crear(new Boveda { OficinaId = oficina.OficinaId, SaldoInicial = 0, Entradas = 0, Salidas = 0, SaldoFinal = 0, FechaIniOperacion = VendixGlobal.GetFecha(), IndCierre = false }); scope.Complete(); return(true); } catch (Exception) { scope.Dispose(); throw; } } }
public static List <Transferencias> ListarTransferencias() { var bovedaId = VendixGlobal <int> .Obtener("BovedaId"); List <BovedaMovTemp> lista; var listTransferencias = new List <Transferencias>(); using (var db = new VENDIXEntities()) { lista = db.BovedaMovTemp.Where(x => x.BovedaDestinoId == bovedaId).ToList(); } foreach (var item in lista) { var oficinaId = BovedaBL.Obtener(z => z.BovedaId == item.BovedaInicioId).OficinaId; var personaId = UsuarioBL.Obtener(z => z.UsuarioId == item.UsuarioRegId).PersonaId; listTransferencias.Add(new Transferencias { TransferenciaId = item.BovedaMovTempId, Monto = item.Importe, From = OficinaBL.Obtener(x => x.OficinaId == oficinaId).Denominacion, Descripcion = item.Glosa, UsuarioReg = PersonaBL.Obtener(x => x.PersonaId == personaId).NombreCompleto, }); } return(listTransferencias); }
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; } } }
public static string AsignarUsuarioCaja(int pCajaId, int pUsuarioAsignadoId, decimal pSaldoInicial) { var idOficina = VendixGlobal.GetOficinaId(); var cajaDiario = new CajaDiario { CajaId = pCajaId, UsuarioAsignadoId = pUsuarioAsignadoId, SaldoInicial = pSaldoInicial, Entradas = 0, Salidas = 0, SaldoFinal = pSaldoInicial, FechaIniOperacion = VendixGlobal.GetFecha(), IndCierre = false, TransBoveda = false, }; var oBoveda = BovedaBL.Obtener(x => x.OficinaId == idOficina && x.IndCierre == false); if (cajaDiario.SaldoInicial > oBoveda.SaldoFinal) { return("Saldo Insuficiente de la boveda."); } using (var scope = new TransactionScope()) { try { Crear(cajaDiario); var oCaja = CajaBL.Obtener(cajaDiario.CajaId); oCaja.IndAbierto = true; CajaBL.Actualizar(oCaja); //ActualizarMontoPorCobrar(pUsuarioAsignadoId); if (pSaldoInicial > 0) { BovedaMovBL.Crear(new BovedaMov { BovedaId = oBoveda.BovedaId, CodOperacion = "TRS", Glosa = "INICIAL " + oCaja.Denominacion + " " + VendixGlobal.GetFecha().ToShortDateString(), Importe = pSaldoInicial, IndEntrada = false, Estado = true, UsuarioRegId = VendixGlobal.GetUsuarioId(), FechaReg = VendixGlobal.GetFecha(), CajaDiarioId = cajaDiario.CajaDiarioId, }); 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); } scope.Complete(); return(string.Empty); } catch (Exception ex) { scope.Dispose(); throw; } } }