Пример #1
0
        public static string ObtenerQuitarTemporal(string sProceso, int iVentaID)
        {
            string sLeyenda = UtilDatos.ObtenerTemporal(sProceso, iVentaID);

            UtilDatos.BorrarTemporal(sProceso, iVentaID);

            return(sLeyenda);
        }
Пример #2
0
        public static ResAcc Venta(Venta oVenta, List <VentaDetalle> Detalle)
        {
            bool bMod = (oVenta.VentaID > 0);

            if (bMod)
            {
                throw new Exception("No se ha programado funcionalidad para cuando la Venta ya exista.");
            }

            // Se generan datos predeterminados o globales, en caso de que apliquen
            oVenta.Fecha                 = (oVenta.Fecha != DateTime.MinValue ? oVenta.Fecha : DateTime.Now);
            oVenta.VentaEstatusID        = (oVenta.VentaEstatusID > 0 ? oVenta.VentaEstatusID : Cat.VentasEstatus.Realizada);
            oVenta.RealizoUsuarioID      = (oVenta.RealizoUsuarioID > 0 ? oVenta.RealizoUsuarioID : Theos.UsuarioID);
            oVenta.SucursalID            = (oVenta.SucursalID > 0 ? oVenta.SucursalID : Theos.SucursalID);
            oVenta.ComisionistaClienteID = (oVenta.ComisionistaClienteID > 0 ? oVenta.ComisionistaClienteID : null);
            oVenta.ClienteVehiculoID     = (oVenta.ClienteVehiculoID > 0 ? oVenta.ClienteVehiculoID : null);

            // Se obtiene el folio correspondiente

            /* string sFolio = Config.Valor("Ventas.Folio");
             * Config.EstablecerValor("Ventas.Folio", (Util.ConvertirEntero(sFolio) + 1).ToString().PadLeft(7, '0'));
             * oVenta.Folio = sFolio; */

            // Se guarda la venta
            Datos.Guardar <Venta>(oVenta);

            // Se guarda el detalle
            foreach (var ParteDetalle in Detalle)
            {
                if (ParteDetalle.VentaDetalleID > 0)
                {
                    continue;                                   // No es una venta nueva, no se ha especificado que hacer en estos casos
                }
                ParteDetalle.VentaID = oVenta.VentaID;
                Datos.Guardar <VentaDetalle>(ParteDetalle);

                // Se afecta la existencia
                // AdmonProc.AgregarExistencia(ParteDetalle.ParteID, oVenta.SucursalID, (ParteDetalle.Cantidad * -1), Cat.Tablas.Venta, oVenta.VentaID);
                // Se meten datos a kardex que se actualizarán posteriormente, al cobrar la venta
                AdmonProc.AfectarExistenciaYKardex(ParteDetalle.ParteID, oVenta.SucursalID, Cat.OperacionesKardex.Venta, null, oVenta.RealizoUsuarioID, "", "", ""
                                                   , (ParteDetalle.Cantidad * -1), 0, Cat.Tablas.Venta, oVenta.VentaID);
            }

            // Se generar datos relevantes al cliente comisionista, si hubiera
            if (oVenta.ComisionistaClienteID.Valor() > 0)
            {
                // Se calcula el importe de la comisión
                decimal mComision = UtilDatos.VentaComisionCliente(oVenta.VentaID, oVenta.ComisionistaClienteID.Valor());
                // Se genera una nota de crédito, por la comisión
                if (mComision > 0)
                {
                    VentasProc.GenerarNotaDeCredito(oVenta.ComisionistaClienteID.Valor(), mComision, "", Cat.OrigenesNotaDeCredito.Comision, oVenta.VentaID);
                }
            }

            return(new ResAcc(true));
        }
Пример #3
0
 public static string ObtenerQuitarLeyenda(int iVentaID)
 {
     return(UtilDatos.ObtenerQuitarTemporal(Cat.Procesos.VentasLeyendas, iVentaID));
 }
Пример #4
0
 public static void AgregarLeyenda(int iVentaID, string sLeyenda)
 {
     UtilDatos.AgregarTemporal(Cat.Procesos.VentasLeyendas, iVentaID, sLeyenda);
 }
Пример #5
0
        public static string VentaPagoFormasDePago(int iVentaPagoID)
        {
            var oPagos = Datos.GetListOf <VentaPagoDetalle>(q => q.VentaPagoID == iVentaPagoID && q.Estatus);

            return(UtilDatos.VentaPagoFormasDePago(oPagos));
        }