예제 #1
0
파일: Utilidades.cs 프로젝트: fcrespo/WSTPV
        public static NavisionDBUser Abrir_Login(string UserId, string Password, ref DataSet DsRes, NavisionDBConnection DBConn)
        {
            NavisionDBUser DBUser = null;
            DsRes = Utilidades.GenerarResultado("No conectado");
            DsRes.Tables[0].Columns.Add("Connected", Type.GetType("System.Boolean"), "false");
            DsRes.Tables[0].AcceptChanges();
            try
            {
                DBUser = DBConn.DoLogin(UserId, Password, ref DsRes);

                //Obtengo los roles
                if ((DsRes.Tables.Count > 0) && (DsRes.Tables[0].Columns.Count > 0) && (!DsRes.Tables[0].Columns.Contains("Error")))
                    if (Convert.ToBoolean(DsRes.Tables[0].Rows[0]["Connected"]) == true)
                    {
                        DsRes.Tables[0].Columns.Add("Administracion", System.Type.GetType("System.Boolean"));
                        DsRes.Tables[0].Columns.Add("Gestion", System.Type.GetType("System.Boolean"));
                        DsRes.Tables[0].Columns.Add("Compras", System.Type.GetType("System.Boolean"));
                        DsRes.Tables[0].Columns.Add("Mensajería", System.Type.GetType("System.Boolean"));
                        DsRes.Tables[0].Columns.Add("Comercial", System.Type.GetType("System.Boolean"));

                        NavisionDBTable dt = new NavisionDBTable(DBConn, DBUser);
                        NavisionDBCommand cmd = new NavisionDBCommand(DBConn);
                        NavisionDBDataReader rd;

                        dt.TableName = "Mobile Users";

                        dt.AddColumn("Administracion");
                        dt.AddColumn("Gestion");
                        dt.AddColumn("Compras");
                        dt.AddColumn("Mensajería");
                        dt.AddColumn("Comercial");

                        dt.AddFilter("User ID", UserId);
                        dt.AddFilter("Password", Password);

                        cmd.Table = dt;
                        rd = cmd.ExecuteReader(false);

                        if (rd.RecordsAffected > 0)
                        {
                            DsRes.Tables[0].Rows[0]["Administracion"] = rd.GetBoolean(0);
                            DsRes.Tables[0].Rows[0]["Gestion"] = rd.GetBoolean(1);
                            DsRes.Tables[0].Rows[0]["Compras"] = rd.GetBoolean(2);
                            DsRes.Tables[0].Rows[0]["Mensajería"] = rd.GetBoolean(3);
                            DsRes.Tables[0].Rows[0]["Comercial"] = rd.GetBoolean(4);
                        }

                        DsRes.Tables[0].AcceptChanges();
                        DsRes.AcceptChanges();
                    }

                return DBUser;
            }
            catch (Exception ex)
            {
                Utilidades.GenerarError(UserId, "Abrir_Login()", ex.Message);
                return null;
            }
        }
예제 #2
0
파일: TPV.cs 프로젝트: fcrespo/WSTPV
        public DataSet Sincronizar_Empleados(string CodTienda)
        {
            if ((DBUser == null) || (DBUser.UserCode == ""))
                return MiddleWareTPVCentral.Utilidades.GenerarError("", "Sincronizar_Empleados()", "ERROR: No se ha validado, debe abrir login");
            try
            {
                NavisionDBTable Dt = new NavisionDBTable(this.Connection, this.DBUser);
                NavisionDBAdapter da = new NavisionDBAdapter();
                DataSet ds = new DataSet();

                Dt.TableNo = 5200;   //Empleado
                Dt.AddColumn(1);   //
                Dt.AddColumn(2);   //
                Dt.AddColumn(3);   //
                Dt.AddColumn(4);   //
                Dt.AddColumn(5);   //
                Dt.AddColumn(6);   //
                Dt.AddColumn(7);   //
                Dt.AddColumn(8);   //
                Dt.AddColumn(10);   //
                Dt.AddColumn(11);   //
                Dt.AddColumn(12);   //
                Dt.AddColumn(13);   //
                Dt.AddColumn(14);   //
                Dt.AddColumn(15);   //
                Dt.AddColumn(20);   //
                Dt.AddColumn(21);   //
                Dt.AddColumn(24);   //
                Dt.AddColumn(25);   //
                Dt.AddColumn(29);   //
                Dt.AddColumn(52);   //
                Dt.AddColumn(38);   //
                Dt.AddColumn(60000);   //
                Dt.AddColumn(60001);   //
                Dt.AddColumn(60003);   //
                Dt.AddColumn(60004);   //
                Dt.KeyInNavisionFormat = "Global Dimension 1 Code";

                Dt.AddFilter("Global Dimension 1 Code", CodTienda + "|''");
                da.AddTable(Dt);

                da.Fill(ref ds, false);

                ds.Tables[0].Columns.Add("NumVend", System.Type.GetType("System.String"));
                ds.Tables[0].Columns.Add("NombreVend", System.Type.GetType("System.String"));
                ds.Tables[0].Columns.Add("Comision", System.Type.GetType("System.Decimal"));
                ds.Tables[0].Columns.Add("FechaModificado", System.Type.GetType("System.DateTime"));

                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    if (ds.Tables[0].Rows[i]["EmployeeCod_Vendedor"].ToString() != "")
                    {
                        NavisionDBCommand Cmd = new NavisionDBCommand(this.Connection);
                        NavisionDBDataReader rd;

                        Dt.Reset();
                        Dt.TableNo = 13;                         //Salesperson/Purchaser
                        Dt.AddColumn(1);                         // Nº
                        Dt.AddColumn(2);                         // Nombre
                        Dt.AddColumn(3);                         // % Comisión
                        Dt.AddColumn("Last Date Modified");      // Campo nuevo

                        Dt.AddFilter("Code", ds.Tables[0].Rows[i]["EmployeeCod_Vendedor"].ToString());

                        //Dt.AddFilter(4, "Bar Code");                            //Cross-Reference Type
                        Cmd.Table = Dt;
                        rd = Cmd.ExecuteReader(false);
                        if (rd.RecordsAffected > 0)
                        {
                            ds.Tables[0].Rows[i]["NumVend"] = rd.GetString(0);
                            ds.Tables[0].Rows[i]["NombreVend"] = rd.GetString(1);
                            ds.Tables[0].Rows[i]["Comision"] = rd.GetDecimal(2);
                            ds.Tables[0].Rows[i]["FechaModificado"] = rd.GetDataTime(3);
                        }
                    }
                }

                Utilidades.CompletarDataSet(ref ds, false, false);
                //Primer parametro false = string vacia o true = espacio en blanco
                //Segundo parametro fechas true = no mete nada y false 01010001
                return ds;
            }
            catch (Exception ex)
            {
                return MiddleWareTPVCentral.Utilidades.GenerarError(this.DBUser.UserCode, "Sincronizar_Empleados(): ", ex.Message);
            }
        }
예제 #3
0
파일: TPV.cs 프로젝트: fcrespo/WSTPV
        public DataSet Proveedor_Contador_Nombre(string Nombre)
        {
            if ((DBUser == null) || (DBUser.UserCode == ""))
                return Utilidades.GenerarError("", "Proveedor_Contador_Nombre()", "ERROR: No se ha validado, debe abrir login");
            try
            {
                NavisionDBTable dt = new NavisionDBTable(this.Connection, this.DBUser);
                NavisionDBCommand Cmd = new NavisionDBCommand(this.Connection);
                NavisionDBDataReader Rd = new NavisionDBDataReader();

                DataSet ds = new DataSet();

                dt.TableNo = 23; //Proveedor
                dt.AddColumn(2);
                dt.AddFilter(2, "@*" + Nombre + "*");
                dt.KeyInNavisionFormat = "Name";
                Cmd.Table = dt;
                Rd = Cmd.ExecuteReader(false);
                return Utilidades.GenerarResultado(Convert.ToString(Rd.RecordsAffected));

            }
            catch (Exception ex)
            {
                return Utilidades.GenerarError(this.DBUser.UserCode, "Proveedor_Contador_Nombre()", ex.Message);
            }
        }
예제 #4
0
파일: TPV.cs 프로젝트: fcrespo/WSTPV
        public DataSet ObtenerFechaUltApertura(string Tienda)
        {
            try
            {
                if ((DBUser == null) || (DBUser.UserId == ""))
                    return Utilidades.GenerarError("", "ObtenerFechaUltApertura()", "ERROR: No se ha validado, debe abrir login");

                NavisionDBTable dt = new NavisionDBTable(this.Connection, this.DBUser);
                NavisionDBCommand Cmd = new NavisionDBCommand(this.Connection);
                NavisionDBDataReader rd;

                //dt.TableNo = 50022; //Histórico aperturas tienda
                dt.TableName = "Histórico aperturas tienda";
                dt.AddColumn("Fecha apertura");
                dt.AddFilter("Cód. tienda", Tienda);
                dt.Reverse = true;
                Cmd.Table = dt;
                rd = Cmd.ExecuteReader(false);

                string result = "";

                if (rd.RecordsAffected > 0)
                    result = rd.GetDataTime(0).ToShortDateString();

                return Utilidades.GenerarResultado(result);

            }
            catch (Exception ex)
            {
                return Utilidades.GenerarError(this.DBUser.UserCode, "ObtenerFechaUltApertura()", ex.Message);

            }
        }
예제 #5
0
파일: TPV.cs 프로젝트: fcrespo/WSTPV
        public string ObtenerFechaJefeSeccion(string Tienda)
        {
            try
            {
                if ((DBUser == null) || (DBUser.UserId == ""))
                    return "";

                NavisionDBTable dt = new NavisionDBTable(this.Connection, this.DBUser);
                NavisionDBCommand Cmd = new NavisionDBCommand(this.Connection);
                NavisionDBDataReader rd;

                dt.TableNo = 60058; //Responsable_grupo_venta
                dt.AddColumn("Fecha");
                dt.AddFilter("Tienda", Tienda);
                dt.Reverse = true;
                Cmd.Table = dt;
                rd = Cmd.ExecuteReader(false);

                if (rd.RecordsAffected > 0)
                    return rd.GetDataTime(0).ToShortDateString();

                return "";

            }
            catch (Exception ex)
            {
                Utilidades.GenerarError(this.DBUser.UserCode, "ObtenerFechaJefeSeccion()", ex.Message);
                return "";
            }
        }
예제 #6
0
파일: TPV.cs 프로젝트: fcrespo/WSTPV
        public DataSet Cliente_Contador_Tlfno(string Telefono)
        {
            if ((DBUser == null) || (DBUser.UserCode == ""))
                return Utilidades.GenerarError("", "Cliente_Contador_Tlfno()", "ERROR: No se ha validado, debe abrir login");
            try
            {
                NavisionDBTable dt = new NavisionDBTable(this.Connection, this.DBUser);
                NavisionDBCommand Cmd = new NavisionDBCommand(this.Connection);
                NavisionDBDataReader Rd = new NavisionDBDataReader();

                DataSet ds = new DataSet();

                dt.TableNo = 18; //Cliente
                dt.AddColumn(9);
                dt.AddFilter(9, Telefono);
                dt.KeyInNavisionFormat = "Phone No.";
                Cmd.Table = dt;
                Rd = Cmd.ExecuteReader(false);
                return Utilidades.GenerarResultado(Convert.ToString(Rd.RecordsAffected));

            }
            catch (Exception ex)
            {
                return Utilidades.GenerarError(this.DBUser.UserCode, "Cliente_Contador_Tlfno()", ex.Message);
            }
        }
예제 #7
0
파일: TPV.cs 프로젝트: fcrespo/WSTPV
        public DataSet Buscar_Clientes_Contador(string Nombre, string Apellidos, string NIF, string Telefono)
        {
            if ((this.DBUser == null) || (this.DBUser.UserCode == ""))
            {
                return Utilidades.GenerarError("", "Buscar_Clientes_Contador()", "ERROR: No se ha validado, debe abrir login");
            }
            try
            {
                NavisionDBTable table = new NavisionDBTable(this.Connection, this.DBUser);
                NavisionDBCommand command = new NavisionDBCommand(this.Connection);
                NavisionDBDataReader reader = new NavisionDBDataReader();
                DataSet set = new DataSet();
                table.TableNo = 18; //Cliente
                table.AddColumn(86);
                if (Nombre != "")
                {
                    table.AddFilter(4, "*" + Nombre + "*");
                }
                if (Apellidos != "")
                {
                    table.AddFilter(2, "*" + Apellidos + "*");
                }
                if (NIF != "")
                {
                    table.AddFilter(86, "*" + NIF + "*");
                }
                if (Telefono != "")
                {
                    table.AddFilter(9, "*" + Telefono + "*");
                }
                table.KeyInNavisionFormat = "VAT Registration No.";
                command.Table = table;

                return Utilidades.GenerarResultado(Convert.ToString(command.ExecuteReader(false).RecordsAffected));
            }
            catch (Exception exception)
            {
                return Utilidades.GenerarError(this.DBUser.UserCode, "Buscar_Clientes_Contador()", exception.Message);
            }
        }
예제 #8
0
파일: Utilidades.cs 프로젝트: fcrespo/WSTPV
        public static string CompruebaPais(string pais, NavisionDB.NavisionDBConnection conn, NavisionDB.NavisionDBUser user)
        {
            NavisionDBTable dt = new NavisionDBTable(conn, user);
            NavisionDBCommand cmd = new NavisionDBCommand(conn);
            NavisionDBDataReader rd = new NavisionDBDataReader();
            cmd = new NavisionDBCommand(conn);

            if (pais == "")
                return "";
            dt.TableName = "Country";
            dt.AddColumn("Code");
            dt.AddFilter("Code", pais);

            cmd.Table = dt;
            rd = cmd.ExecuteReader(false);

            return (rd.RecordsAffected != 0) ? rd.GetString(0) : "-1";
        }
예제 #9
0
파일: Utilidades.cs 프로젝트: fcrespo/WSTPV
        public static bool CompruebaFormato(string codpais, string dni, NavisionDB.NavisionDBConnection conn, NavisionDB.NavisionDBUser user)
        {
            NavisionDBTable dt = new NavisionDBTable(conn, user);
            //NavisionDBAdapter da = new NavisionDBAdapter();
            NavisionDBDataReader rd = new NavisionDBDataReader();
            NavisionDBCommand cmd = new NavisionDBCommand(conn);

            bool resul = false;

            //			if (codpais == "")
            //				codpais = "ES";

            // Accedemos a la tabla de formatos de dni por pais para contrastar
            dt.TableName = "VAT Registration No. Format";
            dt.AddColumn("Format");
            dt.AddFilter("Country Code", codpais);

            cmd.Table = dt;
            rd = cmd.ExecuteReader(false);
            if (rd.RecordsAffected != 0)
            {
                resul = CompruebaCadenas(rd.GetString(0), dni);
                while (!resul && rd.NextResult())
                {
                    resul = CompruebaCadenas(rd.GetString(0), dni);
                }
            }
            else
            {
                return true;
                // no existen formatos para ese pais, se aceptan todos
            }
            return resul;
        }
예제 #10
0
파일: Utilidades.cs 프로젝트: fcrespo/WSTPV
        public static bool CompruebaDNI(string nif_cif, string codpais, NavisionDB.NavisionDBConnection conn, NavisionDB.NavisionDBUser user)
        {
            NavisionDBTable dt = new NavisionDBTable(conn, user);
            NavisionDBCommand cmd = new NavisionDBCommand(conn);
            NavisionDBDataReader rd = new NavisionDBDataReader();

            nif_cif = nif_cif.Replace("-", "").Replace(".", "").Replace(",", "").Replace(":", "").Replace("_", "");

            // ------------------------------------------- \\
            // PRIMERO COMPROBAMOS QUE NO EXISTE DICHO DNI EN LA TABLA DE CLIENTES
            dt.TableName = "Customer";
            dt.AddColumn("No.");
            dt.AddColumn("VAT Registration No.");

            dt.AddFilter("VAT Registration No.", nif_cif);

            cmd.Table = dt;
            rd = cmd.ExecuteReader(false);

            return (rd.RecordsAffected != 0) ? false : CompruebaFormato(codpais, nif_cif, conn, user);
            //ya existe un cliente con ese dni
        }