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); }
public static List <usp_UsuariosNoAsignadosCaja_Result> ListaUsuariosNoAsignado() { using (var db = new VENDIXEntities()) { return(db.usp_UsuariosNoAsignadosCaja(VendixGlobal.GetOficinaId()).ToList()); } }
public static bool CrearSolicitudCredito(int pPersonaId) { var oCredito = new Credito { OficinaId = VendixGlobal.GetOficinaId(), PersonaId = pPersonaId, TipoCuota = "V", Descripcion = "", MontoProducto = 0, MontoInicial = 0, MontoCredito = 0, ProductoId = 1, MontoGastosAdm = 0, Estado = "CRE", FormaPago = "M", NumeroCuotas = 12, InteresMensual = 19, FechaPrimerPago = DateTime.Now, FechaVencimiento = DateTime.Now, FechaReg = DateTime.Now, UsuarioRegId = VendixGlobal.GetUsuarioId() }; CreditoBL.Crear(oCredito); return true; }
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 List <Boveda> LstBovedaJGrid(GridDataRequest request, ref int pTotalItems) { var oficinaid = VendixGlobal.GetOficinaId(); using (var db = new VENDIXEntities()) { IQueryable <Boveda> query = db.Boveda.Where(x => x.OficinaId == oficinaid); pTotalItems = query.Count(); return(query.OrderBy(request.sidx + " " + request.sord) .Skip((request.page - 1) * request.rows).Take(request.rows).ToList()); } }
public static List <ItemCombo> ListarCajasAbiertas() { var oficinaId = VendixGlobal.GetOficinaId(); using (var db = new VENDIXEntities()) { var query = from c in db.CajaDiario where c.Caja.OficinaId == oficinaId && c.IndCierre == false select new ItemCombo { id = c.CajaId, value = c.Caja.Denominacion + " - " + c.Usuario.Persona.NombreCompleto }; return(query.ToList()); } }
public static List <BovedaMov> LstBovedaMovJGrid(GridDataRequest request, ref int pTotalItems) { //string filterExpression = string.Empty; var oficinaid = VendixGlobal.GetOficinaId(); using (var db = new VENDIXEntities()) { var bovedaid = db.Boveda.First(x => x.OficinaId == oficinaid && x.IndCierre == false).BovedaId; IQueryable <BovedaMov> query = db.BovedaMov.Where(x => x.BovedaId == bovedaid); //if (!String.IsNullOrEmpty(filterExpression)) // query = query.Where(filterExpression); pTotalItems = query.Count(); return(query.OrderBy(request.sidx + " " + request.sord) .Skip((request.page - 1) * request.rows).Take(request.rows).ToList()); } }
public static List <EntradaSalida> LstTransferenciaJGrid(GridDataRequest request, ref int pTotalItems) { string clave = request.DataFilters().Count > 0 ? request.DataFilters()["Buscar"] : string.Empty; int almacenId = int.Parse(request.DataFilters()["Almacen"]); int articuloId = int.Parse(request.DataFilters()["BuscarxArticuloId"]); int ofinaId = VendixGlobal.GetOficinaId(); using (var db = new VENDIXEntities()) { //db.Configuration.ProxyCreationEnabled = false; //db.Configuration.LazyLoadingEnabled = false; //db.Configuration.ValidateOnSaveEnabled = false; IQueryable <EntradaSalida> qry; qry = from tra in db.Transferencia where tra.Almacen.OficinaId == ofinaId || tra.Almacen1.OficinaId == ofinaId select new EntradaSalida { TransferenciaId = tra.TransferenciaId, AlmacenOrigen = tra.Almacen.Denominacion, AlmacenDestino = tra.Almacen1.Denominacion, Fecha = tra.Fecha, Estado = tra.Estado }; if (clave != string.Empty) { DateTime fecha; qry = DateTime.TryParse(clave, out fecha) ? qry.Where(x => EntityFunctions.TruncateTime(x.Fecha) == fecha.Date) : qry.Where("TransferenciaId=" + clave); } pTotalItems = qry.Count(); return(qry.OrderBy(request.sidx + " " + request.sord) .Skip((request.page - 1) * request.rows).Take(request.rows).ToList()); } }
public static bool Cerrar() { var oficinaid = VendixGlobal.GetOficinaId(); using (var scope = new TransactionScope()) { try { using (var db = new VENDIXEntities()) { var boveda = db.Boveda.First(x => x.OficinaId == oficinaid && x.IndCierre == false); boveda.IndCierre = true; boveda.FechaFinOperacion = DateTime.Now; Actualizar(db, boveda); Crear(db, new Boveda() { OficinaId = oficinaid, SaldoInicial = boveda.SaldoFinal, Entradas = 0, Salidas = 0, SaldoFinal = boveda.SaldoFinal, FechaIniOperacion = DateTime.Now, IndCierre = false }); db.SaveChanges(); } scope.Complete(); return(true); } catch (Exception) { scope.Dispose(); return(false); } } }
public static List <CajaDiarioOficina> LstCajaDiarioOficina() { var oficina = VendixGlobal.GetOficinaId(); using (var db = new VENDIXEntities()) { var query = from c in db.CajaDiario where c.Caja.OficinaId == oficina && c.TransBoveda == false select new CajaDiarioOficina { CajaDiarioId = c.CajaId, NombreCaja = c.Caja.Denominacion, IndCierre = c.IndCierre, Cajero = c.Usuario.Persona.NombreCompleto, FechaIniOperacion = c.FechaIniOperacion, FechaFinOperacion = c.FechaFinOperacion, SaldoInicial = c.SaldoInicial, Entradas = c.Entradas, Salidas = c.Salidas, SaldoFinal = c.SaldoFinal }; return(query.ToList()); } }
public static int RealizarPedido(int pClienteId, List <Pedido> pPedidos) { using (var scope = new TransactionScope()) { try { var cabecera = new OrdenVenta { OficinaId = VendixGlobal.GetOficinaId(), Subtotal = 0, TotalNeto = 0, TotalImpuesto = 0, TotalDescuento = 0, Estado = "ENV", UsuarioRegId = VendixGlobal.GetUsuarioId(), FechaReg = VendixGlobal.GetFecha(), PersonaId = pClienteId, TipoVenta = "CON" }; Guardar(cabecera); var detalle = new List <OrdenVentaDet>(); OrdenVentaDet item; decimal tNeto = 0; decimal tDescuento = 0; foreach (var i in pPedidos) { item = new OrdenVentaDet(); var art = ArticuloBL.Obtener(x => x.ArticuloId == i.ArticuloId, "ListaPrecio"); var precio = art.ListaPrecio.First().Monto.Value; item.OrdenVentaId = cabecera.OrdenVentaId; item.ArticuloId = art.ArticuloId; item.Cantidad = i.Cantidad; item.Descripcion = art.Denominacion; item.ValorVenta = precio; item.Descuento = i.Descuento; item.Subtotal = i.Cantidad * (precio - i.Descuento); item.Estado = true; var lstSerie = SerieArticuloBL .Listar(x => x.ArticuloId == i.ArticuloId && x.EstadoId == Constante.SerieArticulo.EN_ALMACEN, x => x.OrderBy(y => y.SerieArticuloId)) .Take(i.Cantidad); foreach (var l in lstSerie) { item.OrdenVentaDetSerie.Add(new OrdenVentaDetSerie { SerieArticuloId = l.SerieArticuloId }); //SerieArticuloBL.ActualizarParcial( // new SerieArticulo { SerieArticuloId = l.SerieArticuloId, EstadoId = Constante.SerieArticulo.PREVENTA }, // x => x.EstadoId); } detalle.Add(item); tNeto += item.Subtotal; tDescuento += item.Descuento; } OrdenVentaDetBL.Guardar(detalle); cabecera.TotalNeto = tNeto; cabecera.TotalDescuento = tDescuento; cabecera.Subtotal = Math.Round(tNeto / (1 + Constante.IGV), 2); cabecera.TotalImpuesto = Math.Round(tNeto - cabecera.Subtotal, 2); ActualizarParcial(cabecera, x => x.TotalNeto, x => x.TotalDescuento, x => x.Subtotal, x => x.TotalImpuesto); int?retid; using (var db = new VENDIXEntities()) { retid = db.usp_PagarCuentaxCobrar(cabecera.OrdenVentaId, 0, VendixGlobal.GetCajaDiarioId(), VendixGlobal.GetUsuarioId()).ToList()[0]; } scope.Complete(); return(cabecera.OrdenVentaId); } catch (Exception ex) { scope.Dispose(); throw new Exception(ex.InnerException.Message); } } }
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; } } }
public static bool TransferirBovedaCaja(decimal pImporte, string pDescripcion, int pCajaId) { var pUsuarioRegId = VendixGlobal.GetUsuarioId(); var oficinaId = VendixGlobal.GetOficinaId(); using (var scope = new TransactionScope()) { try { using (var db = new VENDIXEntities()) { var bovedaId = db.Boveda.First(x => x.OficinaId == oficinaId && x.IndCierre == false).BovedaId; var oCajaDiario = db.CajaDiario.First(x => x.CajaId == pCajaId && x.IndCierre == false); var personaId = db.Usuario.First(x => x.UsuarioId == pUsuarioRegId).PersonaId; db.BovedaMov.Add(new BovedaMov { BovedaId = bovedaId, CodOperacion = "TRS", Glosa = "TRANS A CAJA: " + pDescripcion.ToUpper(), Importe = pImporte, IndEntrada = false, Estado = true, CajaDiarioId = oCajaDiario.CajaDiarioId, UsuarioRegId = pUsuarioRegId, FechaReg = VendixGlobal.GetFecha() }); db.MovimientoCaja.Add(new MovimientoCaja { CajaDiarioId = oCajaDiario.CajaDiarioId, Operacion = "TRE", ImportePago = pImporte, ImporteRecibido = pImporte, MontoVuelto = 0, Descripcion = "TRANS DE BOVEDA: " + pDescripcion.ToUpper(), IndEntrada = true, Estado = true, PersonaId = personaId, UsuarioRegId = pUsuarioRegId, FechaReg = VendixGlobal.GetFecha() }); db.SaveChanges(); var qry = db.MovimientoCaja.Where(z => z.CajaDiarioId == oCajaDiario.CajaDiarioId && z.Estado).Select(x => new { x.ImportePago, x.IndEntrada }); if (qry.Count(x => x.IndEntrada) > 0) { oCajaDiario.Entradas = qry.Where(z => z.IndEntrada).Sum(x => x.ImportePago); } if (qry.Count(x => x.IndEntrada == false) > 0) { oCajaDiario.Salidas = qry.Where(z => z.IndEntrada == false).Sum(x => x.ImportePago); } oCajaDiario.SaldoFinal = oCajaDiario.SaldoInicial + oCajaDiario.Entradas - oCajaDiario.Salidas; db.usp_ActualizarSaldosBoveda(bovedaId); db.SaveChanges(); } scope.Complete(); return(true); } catch (Exception) { scope.Dispose(); return(false); } } }