Beispiel #1
0
 // Start is called before the first frame update
 void Start()
 {
     for (int i = 0; i < condicionsScriptable.condicions.Count; i++)
     {
         if (condicionsScriptable.condicions[i].descripcio == descripcioCondicio)
         {
             condicio = condicionsScriptable.condicions[i];
         }
     }
 }
Beispiel #2
0
    public bool ComprovaCondicioBaseDades(Condicio condicio)
    {
        Condicio condicioSeleccionada = null;

        for (int i = 0; i < condicions.Count; i++)
        {
            if (condicions[i].descripcio == condicio.descripcio)
            {
                condicioSeleccionada = condicions[i];
            }
        }
        if (condicioSeleccionada == null)
        {
            return(false);
        }

        return(condicioSeleccionada.estat == condicio.estat);
    }
Beispiel #3
0
        private void ValidarFactura(EncabFacturaVenta obj, string empresaDB)
        {
            using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB));
            Utilitarios utilitarios = new Utilitarios();

            #region Verificar cliente
            cliente = new ClientesRepositorio().GetCliente(obj.CoCli, empresaDB);
            if (cliente == null)
            {
                throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado para la factura no existe.");
            }
            else
            {
                if (cliente.Inactivo)
                {
                    throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado para la factura se encuentra inactivo.");
                }
            }
            #endregion

            #region Verificar vendedor
            Vendedor vendor = new VendedoresRepositorio().Find(obj.CoVen, empresaDB);
            if (vendor != null)
            {
                if (!vendor.FunVen)
                {
                    throw new ArgumentException($"Vendedor {obj.CoVen} indicado no tiene función de 'vendedor'.");
                }
            }
            else
            {
                throw new ArgumentException($"El vendedor {obj.CoVen} suministrado no existe.");
            }
            #endregion

            #region Verificar transporte
            Transpor transporte = db.Transpor.FirstOrDefault(t => t.CoTran == obj.CoTran);
            if (transporte == null)
            {
                throw new ArgumentException($"El transporte {obj.CoTran} suministrado no existe.");
            }
            #endregion

            #region Verificar condicion de pago
            Condicio condicion = db.Condicio.FirstOrDefault(c => c.CoCond == obj.FormaPag);
            if (condicion == null)
            {
                throw new ArgumentException($"La condición de pago {obj.FormaPag} suministrado no existe.");
            }
            #endregion

            #region Verificar moneda
            utilitarios.GetMoneda(obj.Moneda, empresaDB);
            #endregion

            #region Verificar sucursal
            utilitarios.GetSucursal(obj.CoSucu, empresaDB);
            #endregion

            #region Verificar datos en renglones de factura
            foreach (var iRengFac in obj.DetaFacturaVenta)
            {
                #region Verificar articulo
                Art articulo = db.Art.FirstOrDefault(a => a.CoArt == iRengFac.CoArt);
                if (articulo == null)
                {
                    throw new ArgumentException($"El artículo {iRengFac.CoArt.Trim()} suministrado en el renglón {iRengFac.RengNum} no existe.");
                }
                #endregion

                #region Verificar almacen
                SubAlma almacen = db.SubAlma.FirstOrDefault(a => a.CoSub == iRengFac.CoAlma);
                if (almacen == null)
                {
                    throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no existe.");
                }
                else
                {
                    if (almacen.CoAlma.Trim() != obj.CoSucu.Trim())
                    {
                        throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no está permitido utilizarlo en la sucursal suministrada {obj.CoSucu.Trim()}.");
                    }
                    if (almacen.Noventa)
                    {
                        throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no está permitido utilizarlo en el módulo de facturas.");
                    }
                }
                #endregion

                #region Verificar unidad primaria
                Unidades unidad = db.Unidades.FirstOrDefault(u => u.CoUni == iRengFac.UniVenta);
                if (unidad == null)
                {
                    throw new ArgumentException($"La unidad de venta {iRengFac.UniVenta.Trim()} suministrada en el renglón {iRengFac.RengNum} no existe.");
                }
                #endregion
            }
            #endregion
        }
        private void ValidarDevolucion(EncabDevolucionVenta obj, string empresaDB)
        {
            using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB));
            Utilitarios utilitarios = new Utilitarios();

            #region Verificar caja ppal para el cobro
            caja = db.Cajas.FirstOrDefault(c => c.Cajapri == true);
            if (caja == null)
            {
                throw new ArgumentException("No existe una caja principal para la cancelación del cobro. Llame a su consultor profit.");
            }
            #endregion

            #region Verificar cliente
            cliente = new ClientesRepositorio().GetCliente(obj.CoCli, empresaDB);
            if (cliente == null)
            {
                throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado para la devolución no existe.");
            }
            else
            {
                if (cliente.Inactivo)
                {
                    throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado para la devolución se encuentra inactivo.");
                }
            }
            #endregion

            #region Verificar vendedor
            Vendedor vendor = new VendedoresRepositorio().Find(obj.CoVen, empresaDB);
            if (vendor != null)
            {
                if (!vendor.FunVen)
                {
                    throw new ArgumentException($"Vendedor {obj.CoVen} indicado no tiene función de 'vendedor'.");
                }
                if (!vendor.FunCob)
                {
                    throw new ArgumentException($"Vendedor {obj.CoVen} indicado no tiene función de 'cobrador'.");
                }
            }
            else
            {
                throw new ArgumentException($"El vendedor {obj.CoVen} suministrado no existe.");
            }
            #endregion

            #region Verificar transporte
            Transpor transporte = db.Transpor.FirstOrDefault(t => t.CoTran == obj.CoTran);
            if (transporte == null)
            {
                throw new ArgumentException($"El transporte {obj.CoTran} suministrado no existe.");
            }
            #endregion

            #region Verificar condicion de pago
            Condicio condicion = db.Condicio.FirstOrDefault(c => c.CoCond == obj.FormaPag);
            if (condicion == null)
            {
                throw new ArgumentException($"La condición de pago {obj.FormaPag} suministrado no existe.");
            }
            #endregion

            #region Verificar moneda
            utilitarios.GetMoneda(obj.Moneda, empresaDB);
            #endregion

            #region Verificar sucursal
            utilitarios.GetSucursal(obj.CoSucu, empresaDB);
            #endregion

            #region Verificar datos en renglones de factura
            foreach (var iRengFac in obj.DetaDevolucionVenta)
            {
                #region Verificar factura
                factura = new FacturasVentasRepositorio().Find(iRengFac.NumDoc, empresaDB);
                if (factura == null)
                {
                    throw new ArgumentException($"La factura {iRengFac.NumDoc} indicada en el renglón {iRengFac.RengNum} en la devolución de cliente no existe.");
                }
                if (factura.Anulada)
                {
                    throw new ArgumentException($"La factura {iRengFac.NumDoc} indicada en el renglón {iRengFac.RengNum} en la devolución de cliente se encuentra anulada.");
                }
                if (factura.Saldo == 0)
                {
                    throw new ArgumentException($"La factura {iRengFac.NumDoc} indicada en el renglón {iRengFac.RengNum} se encuentra procesada [Saldo=0.00].");
                }
                if (factura.Saldo < iRengFac.RengNeto)
                {
                    throw new ArgumentException($"La factura {iRengFac.NumDoc} tiene un saldo menor al monto indicado en el renglón {iRengFac.RengNum}.");
                }
                if (factura.DetaFacturaVenta.FirstOrDefault(ra => ra.CoArt.Trim() == iRengFac.CoArt.Trim()) == null)
                {
                    throw new ArgumentException($"El artículo {iRengFac.CoArt.Trim()} indicado en el renglón {iRengFac.RengNum} no se encontró en la factura.");
                }
                #endregion

                #region Verificar articulo
                Art articulo = new ArticulosRepositorio().Find(iRengFac.CoArt, empresaDB);
                if (articulo == null)
                {
                    throw new ArgumentException($"El artículo {iRengFac.CoArt.Trim()} suministrado en el renglón {iRengFac.RengNum} no existe.");
                }
                #endregion

                #region Verificar almacen
                SubAlma almacen = db.SubAlma.FirstOrDefault(a => a.CoSub == iRengFac.CoAlma);
                if (almacen == null)
                {
                    throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no existe.");
                }
                else
                {
                    if (almacen.CoAlma.Trim() != obj.CoSucu.Trim())
                    {
                        throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no está permitido utilizarlo en la sucursal suministrada {obj.CoSucu.Trim()}.");
                    }
                    if (almacen.Noventa)
                    {
                        throw new ArgumentException($"El almacén {iRengFac.CoAlma.Trim()} suministrado en el renglón {iRengFac.RengNum} no está permitido utilizarlo en el módulo de facturas.");
                    }
                }
                #endregion

                #region Verificar unidad primaria
                Unidades unidad = db.Unidades.FirstOrDefault(u => u.CoUni == iRengFac.UniVenta);
                if (unidad == null)
                {
                    throw new ArgumentException($"La unidad de venta {iRengFac.UniVenta.Trim()} suministrada en el renglón {iRengFac.RengNum} no existe.");
                }
                #endregion
            }
            #endregion
        }