public static bool CrearSolicitudCredito(int pPersonaId) { var oCredito = new Credito { OficinaId = VendixGlobal.GetOficinaId(), PersonaId = pPersonaId, TipoCuota = "F", Descripcion = "", MontoProducto = 0, MontoInicial = 0, MontoCredito = 500, ProductoId = 1, MontoGastosAdm = 0, TipoGastoAdm = "CAP", Estado = "CRE", FormaPago = "D", NumeroCuotas = 26, Interes = 8, Observacion = string.Empty, FechaPrimerPago = VendixGlobal.GetFecha(), FechaVencimiento = VendixGlobal.GetFecha(), FechaReg = VendixGlobal.GetFecha(), UsuarioRegId = VendixGlobal.GetUsuarioId(), Calificacion = "A" }; oCredito.MontoGastosAdm = GastosAdmBL.CalcularGastosAdm(oCredito.MontoCredito, true); CreditoBL.Crear(oCredito); return(true); }
public static bool EnviarOrdenVentaCredito(int pOrdenVentaId) { var orden = Obtener(pOrdenVentaId); var glosa = string.Empty; decimal inicial = orden.TotalNeto * (decimal)0.15; decimal montocredito = orden.TotalNeto - inicial; int productoId = 1; var gastosadm = GastosAdmBL.CalcularGastosAdm(montocredito); var lstdes = OrdenVentaDetBL.Listar(x => x.Estado && x.OrdenVentaId == orden.OrdenVentaId).Select(x => x.Descripcion) .ToList(); for (int i = 0; i < lstdes.Count; i++) { glosa += lstdes[i]; if (i != lstdes.Count - 1) { glosa += ", " + Environment.NewLine; } } var oCredito = new Credito { OficinaId = VendixGlobal.GetOficinaId(), PersonaId = orden.PersonaId, Descripcion = glosa, MontoProducto = orden.TotalNeto, MontoInicial = inicial, MontoCredito = montocredito, ProductoId = productoId, MontoGastosAdm = gastosadm, Estado = "CRE", FormaPago = "D", NumeroCuotas = 26, InteresMensual = 7, FechaPrimerPago = DateTime.Now, FechaVencimiento = DateTime.Now, FechaReg = DateTime.Now, UsuarioRegId = VendixGlobal.GetUsuarioId(), OrdenVentaId = pOrdenVentaId }; using (var scope = new TransactionScope()) { try { CreditoBL.Crear(oCredito); orden.Estado = "ENV"; orden.TipoVenta = "CRE"; Actualizar(orden); scope.Complete(); } catch (Exception ex) { scope.Dispose(); throw new Exception(ex.InnerException.Message); } } return(true); }