public static int CerrarCajaDiario() { var oCajadiario = Obtener(VendixGlobal.GetCajaDiarioId()); oCajadiario.IndCierre = true; oCajadiario.FechaFinOperacion = DateTime.Now; var oCaja = CajaBL.Obtener(oCajadiario.CajaId); oCaja.IndAbierto = false; oCaja.FechaMod = DateTime.Now; oCaja.UsuarioModId = VendixGlobal.GetUsuarioId(); using (var scope = new TransactionScope()) { try { Actualizar(oCajadiario); CajaBL.Actualizar(oCaja); scope.Complete(); return(oCajadiario.CajaDiarioId); } catch (Exception ex) { scope.Dispose(); return(0); } } }
public static string EntradaSalida(int pPersonaId, int pTipoOperacionId, string pDescripcion, decimal pImporte) { if (string.IsNullOrEmpty(pDescripcion)) { return("Ingrese Descripción"); } var cajadiarioid = VendixGlobal.GetCajaDiarioId(); var tipooperacion = TipoOperacionBL.Obtener(pTipoOperacionId); if (!tipooperacion.IndEntrada) { if (pImporte > Obtener(cajadiarioid).SaldoFinal) { return("Saldo Insuficiente!"); } } using (var scope = new TransactionScope()) { try { using (var db = new VENDIXEntities()) { db.usp_EntradaSalidaCajaDiario(cajadiarioid, pPersonaId, pTipoOperacionId, pImporte, pDescripcion, VendixGlobal.GetUsuarioId()); } scope.Complete(); return(string.Empty); } catch (Exception ex) { scope.Dispose(); return(ex.Message); } } }
public static int CerrarCajaDiario() { var oCajadiario = Obtener(VendixGlobal.GetCajaDiarioId()); oCajadiario.IndCierre = true; oCajadiario.FechaFinOperacion = VendixGlobal.GetFecha(); var MontoCobrado = MovimientoCajaBL.Listar(x => x.CajaDiarioId == oCajadiario.CajaDiarioId && x.IndEntrada && x.Operacion == "CUO" && x.Estado) .Sum(x => x.ImportePago); oCajadiario.MontoCobrado = MontoCobrado; var oCaja = CajaBL.Obtener(oCajadiario.CajaId); oCaja.IndAbierto = false; oCaja.FechaMod = VendixGlobal.GetFecha(); oCaja.UsuarioModId = VendixGlobal.GetUsuarioId(); using (var scope = new TransactionScope()) { try { Actualizar(oCajadiario); CajaBL.Actualizar(oCaja); scope.Complete(); return(oCajadiario.CajaDiarioId); } catch (Exception) { scope.Dispose(); return(0); } } }
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 int?RealizarPagarCuentaxCobrar(int pOrdenVentaId, int pCuentaxCobrarId) { using (var scope = new TransactionScope()) { try { int?retid; using (var db = new VENDIXEntities()) { retid = db.usp_PagarCuentaxCobrar(pOrdenVentaId, pCuentaxCobrarId, VendixGlobal.GetCajaDiarioId(), VendixGlobal.GetUsuarioId()).ToList()[0]; } scope.Complete(); return(retid); } catch (Exception) { scope.Dispose(); return(-1); } } }
public static string RealizarDesembolso(int pCreditoId) { var cajadiarioid = VendixGlobal.GetCajaDiarioId(); var usuarioid = VendixGlobal.GetUsuarioId(); int movimientoCajaId = 0; using (var scope = new TransactionScope()) { try { using (var db = new VENDIXEntities()) { var credito = db.Credito.Find(pCreditoId); credito.FechaDesembolso = VendixGlobal.GetFecha(); credito.Estado = "DES"; credito.UsuarioModId = usuarioid; credito.FechaMod = VendixGlobal.GetFecha(); CreditoBL.Actualizar(db, credito); var mov = new MovimientoCaja() { CajaDiarioId = cajadiarioid, Operacion = "DES", ImportePago = credito.MontoDesembolso, ImporteRecibido = credito.MontoDesembolso, MontoVuelto = 0, PersonaId = credito.PersonaId, Descripcion = "DESEMBOLSO CREDITO " + credito.CreditoId.ToString(), IndEntrada = false, Estado = true, UsuarioRegId = usuarioid, FechaReg = VendixGlobal.GetFecha(), OrdenVentaId = null, CreditoId = credito.CreditoId }; db.MovimientoCaja.Add(mov); db.SaveChanges(); movimientoCajaId = mov.MovimientoCajaId; var oCajaDiario = db.CajaDiario.Find(cajadiarioid); 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.SaveChanges(); } scope.Complete(); return(movimientoCajaId.ToString()); } catch (Exception ex) { scope.Dispose(); return(ex.Message); } } }