private void ValidarProveedor(Prov obj, string empresaDB, bool isGuardar)
        {
            using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB));
            Prov proveedor = db.Prov.FirstOrDefault(p => p.CoProv.Trim() == obj.CoProv.Trim());

            if (proveedor == null || !isGuardar)
            {
                #region Tipo proveedor
                TipoPro tipoPro = db.TipoPro.FirstOrDefault(tp => tp.TipPro.Trim() == obj.Tipo.Trim());
                if (tipoPro == null)
                {
                    throw new ArgumentException($"El tipo de proveedor [{obj.Tipo.Trim()}] indicado no existe.");
                }
                #endregion

                #region Zona
                Zona zona = db.Zona.FirstOrDefault(z => z.CoZon.Trim() == obj.CoZon.Trim());
                if (zona == null)
                {
                    throw new ArgumentException($"La zona {obj.CoZon.Trim()} indicada no existe.");
                }
                #endregion

                #region Segmento
                Segmento segmento = db.Segmento.FirstOrDefault(s => s.CoSeg.Trim() == obj.CoSeg.Trim());
                if (segmento == null)
                {
                    throw new ArgumentException($"El segmento {obj.CoSeg.Trim()} indicado no existe.");
                }
                #endregion

                #region Cuenta ingr/egre
                CtaIngr ctaIngr = db.CtaIngr.FirstOrDefault(f => f.CoIngr.Trim() == obj.CoIngr.Trim());
                if (ctaIngr == null)
                {
                    throw new ArgumentException($"La cuenta ingreso/egreso {obj.CoIngr.Trim()} indicada no existe.");
                }
                #endregion

                #region Sucursal
                Utilitarios utilitarios = new Utilitarios();
                utilitarios.GetSucursal(obj.CoSucu, empresaDB);
                #endregion

                #region Tabulador ISLR
                TabIslr tabulador = db.TabIslr.FirstOrDefault(t => t.CoTab == obj.CoTab);
                if (tabulador == null)
                {
                    throw new ArgumentException($"El tabulador de ISLR {obj.CoTab} indicado no existe.");
                }
                #endregion
            }
            else
            {
                throw new ArgumentException($"El Proveedor {obj.CoProv.Trim()} indicado ya existe.");
            }
        }
예제 #2
0
        private void ValidarCliente(Clientes obj, string empresaDB, bool isGuardar)
        {
            using var db = new ProfitAdmin2K8(conn.GetDbContextOptions(empresaDB));
            Clientes cliente = db.Clientes.FirstOrDefault(c => c.CoCli == obj.CoCli);

            /*El parametro isGuardar se estable para validar registros inclusive editando*/

            if (cliente == null || !isGuardar)
            {
                #region Tipo cliente
                TipoCli tipo = db.TipoCli.FirstOrDefault(t => t.TipCli.Trim() == obj.Tipo.Trim());
                if (tipo == null)
                {
                    throw new ArgumentException($"El tipo de cliente {obj.Tipo.Trim()} indicado no existe.");
                }
                #endregion

                #region Zona
                Zona zona = db.Zona.FirstOrDefault(z => z.CoZon.Trim() == obj.CoZon.Trim());
                if (zona == null)
                {
                    throw new ArgumentException($"La zona {obj.CoZon.Trim()} indicada no existe.");
                }
                #endregion

                #region Segmento
                Segmento segmento = db.Segmento.FirstOrDefault(s => s.CoSeg.Trim() == obj.CoSeg.Trim());
                if (segmento == null)
                {
                    throw new ArgumentException($"El segmento {obj.CoSeg.Trim()} indicado no existe.");
                }
                #endregion

                #region Vendedor
                Vendedor vendedor = db.Vendedor.FirstOrDefault(v => v.CoVen.Trim() == obj.CoVen.Trim());
                if (vendedor == null)
                {
                    throw new ArgumentException($"El vendedor {obj.CoVen.Trim()} indicado no existe.");
                }
                #endregion

                #region Cuenta ingr/egre
                CtaIngr ctaIngr = db.CtaIngr.FirstOrDefault(f => f.CoIngr.Trim() == obj.CoIngr.Trim());
                if (ctaIngr == null)
                {
                    throw new ArgumentException($"La cuenta ingreso/egreso {obj.CoIngr.Trim()} indicada no existe.");
                }
                #endregion

                #region Sucursal
                Utilitarios utilitarios = new Utilitarios();
                utilitarios.GetSucursal(obj.CoSucu, empresaDB);
                #endregion

                #region Tabulador ISLR
                TabIslr tabulador = db.TabIslr.FirstOrDefault(t => t.CoTab == obj.CoTab);
                if (tabulador == null)
                {
                    throw new ArgumentException($"El tabulador de ISLR {obj.CoTab} indicado no existe.");
                }
                #endregion
            }
            else
            {
                throw new ArgumentException($"El cliente {obj.CoCli.Trim()} indicado ya existe.");
            }
        }