コード例 #1
0
ファイル: UserDef.cs プロジェクト: alcardac/SDMX_BUILD_LOAD
 public void CloneTo(UserDef user)
 {
     this.ID = user.ID;
     this.Username = user.Username;
     this.Password = user.Password;
     this.Role = user.Role;
     this.ProFlag = user.ProFlag;
     this.Name = user.Name;
     this.Surname = user.Surname;
     this.Email = user.Email;
 }
コード例 #2
0
ファイル: UserDef.cs プロジェクト: alcardac/SDMX_BUILD_LOAD
        public static bool UserCan(UserDef user, ActionDef action)
        {
            switch (action)
            {
                case ActionDef.CRUDProfile:
                    {
                        return (user._role == RoleDef.Administrator);
                    }
                case ActionDef.CRUDDataset:
                case ActionDef.CRUDSchema:
                case ActionDef.CRUDDomain:
                    {
                        return (user._role == RoleDef.Administrator || user.ProFlag);
                    }
                case ActionDef.DefaultProc:
                    {
                        return (user._role == RoleDef.Administrator || user._role == RoleDef.Operator);
                    }
            }

            return false;
        }
コード例 #3
0
ファイル: Client.cs プロジェクト: alcardac/SDMX_BUILD_LOAD
 public Client(UserDef user)
 {
     _user = user;
     _path="~/Temp/" + ((_user != null) ? _user.Username : "******");
     _fileToDownload = string.Empty;
 }
コード例 #4
0
        public static List<object> GetDomains(UserDef loggedUser, bool stub, BuilderProcedure builder = null)
        {
            /*
               try
            {*/
            if (builder == null)
                builder = BuilderProcedure.Create();
            List<object> _result = new List<object>();

            // Get all themes
            List<CategoryScheme> _themes = builder.GetCategoryScheme();
            List<Category> _themesUser = (loggedUser.Role == UserDef.RoleDef.Administrator) ? ISTAT.DBDAL.DataAccess.Get_Themes() : ISTAT.DBDAL.DataAccess.Get_Themes(loggedUser.ID);

            List<string> cacheCategoryScheme = new List<string>();

            if (_themes != null)
            {
                foreach (CategoryScheme catScheme in _themes)
                {
                    Dictionary<string, object> _rowScheme = new Dictionary<string, object>();
                    _rowScheme.Add("id", catScheme.Id);
                    _rowScheme.Add("parent", "#");

                    _rowScheme.Add("text", string.Format(" [ {0} ] - {1} ",
                        catScheme.Id,
                        ISTAT.ENTITY.TextTypeWrapper.GetStringLocale(
                        catScheme.Names,
                        ISTAT.DBDAL.DataAccess.CurrentCultureInfo)));
                    _rowScheme.Add("type", "categoryScheme");
                    _rowScheme.Add("icon", "img/cat_sch.png");
                    _result.Add(_rowScheme);

                    catScheme.Categories.ForEach(cat =>
                    {
                        Dictionary<string, object> _row = new Dictionary<string, object>();

                        _row.Add("id", cat.IDCategory);
                        _row.Add("parent", (cat.IDParentCategory.ToString() != "0") ? cat.IDParentCategory : catScheme.Id);
                        _row.Add("text", string.Format(" [ {0} ] - {1} ",
                            cat.Code,
                            ISTAT.ENTITY.TextTypeWrapper.GetStringLocale(
                            cat.Names,
                            ISTAT.DBDAL.DataAccess.CurrentCultureInfo)));
                        _row.Add("type", "category");
                        _row.Add("icon", "img/cat.png");

                        if (_themesUser != null)
                        {
                            IEnumerable<Category> query = from Category catUser in _themesUser
                                                          where catUser.IDCategory.ToString().Trim() == cat.Code.ToString()
                                                          select catUser;
                            Dictionary<string, object> _status = new Dictionary<string, object>();
                            int nRes = query.Count<Category>();
                            _status.Add("selected", (query != null && nRes > 0));
                            _row.Add("state", _status);
                        }

                        _result.Add(_row);
                    });
                }

                Dictionary<string, object> uncategorized = new Dictionary<string, object>();
                uncategorized.Add("id", "0");
                uncategorized.Add("parent", "#");

                uncategorized.Add("text", "Uncategorized");
                uncategorized.Add("type", "categoryScheme");
                uncategorized.Add("icon", "img/cat_sch.png");
                _result.Add(uncategorized);

            }

            if (stub == false)
            {
                List<DataStructure> _structures = ISTAT.DBDAL.DataAccess.Get_DataStructures();
                List<DataStructure> _structuresUser = ISTAT.DBDAL.DataAccess.Get_DataStructures(loggedUser.ID);

                foreach (DataStructure structure in (loggedUser.Role == UserDef.RoleDef.Administrator) ? _structures : _structuresUser)
                {
                    Dictionary<string, object> _row = new Dictionary<string, object>();
                    _row.Add("id", "ds_" + structure.IDSet);

                    //TODO: MODIFICARE
                    //string urn = ISTAT.DBDAL.DataAccess.Get_Theme_Urn(structure.IDCat);
                    string urn = structure.IDCat.ToString();

                    bool inProduction = ISTAT.DBDAL.DataSDMX.Get_DataflowProduction(structure.IDFlow);

                    _row.Add("parent", (urn != "") ? urn : "#");

                    _row.Add("text", string.Format(" [ {0} ] - {1} ",
                        structure.Code,
                        ISTAT.ENTITY.TextTypeWrapper.GetStringLocale(
                        structure.Names,
                        ISTAT.DBDAL.DataAccess.CurrentCultureInfo)));
                    _row.Add("type", "dataset");
                    Dictionary<string, object> data = new Dictionary<string, object>();
                    data.Add("inProduction", inProduction);
                    _row.Add("data", data);
                    _row.Add("icon", (inProduction) ? "img/cube_red.png" : "img/cube.png");

                    // With LINQ match a list themes for user end current theme
                    IEnumerable<DataStructure> query = from DataStructure structureUser in _structuresUser
                                                       where structureUser.IDSet == structure.IDSet
                                                       select structureUser;

                    Dictionary<string, object> _status = new Dictionary<string, object>();
                    int nRes = query.Count();
                    _status.Add("selected", (query != null && nRes > 0));
                    _row.Add("state", _status);

                    _result.Add(_row);
                }
            }

            if (_result.Count == 1)
                _result.Clear();

            return _result;
            /* }
             catch (Exception ex)
             {
                 throw ex;
             }*/
        }
コード例 #5
0
        public string InsertProfile(int id, string username, string password, int role, bool pro, string name, string surname, string email)
        {
            // Retrive Logged user
            SDMX_Dataloader.Engine.Client client = null;
            try
            {
                client = HttpContext.Current.Session[UserDef.UserSessionKey] as SDMX_Dataloader.Engine.Client; if (client == null) throw new Exception("Session Expiried");
            }
            catch (Exception ex)
            {
                return JsonMessage.SessionExpired;
            }

            try
            {

                if (!UserDef.UserCan(client.LoggedUser, UserDef.ActionDef.CRUDProfile))
                    return JsonMessage.GetError(Resources.Notification.err_action_denied);

                if (username.Trim() != string.Empty && password.Trim() != string.Empty)
                {

                    if (!SDMX_Dataloader.Main.Class.Util.IsValidEmail(email.Trim()))
                        return JsonMessage.GetError(Resources.Notification.err_email_empty);

                    UserDef newUser = new UserDef
                    {
                        ID = id,
                        Username = username.Trim(),
                        Password = SDMX_Dataloader.Engine.Utility.EncriptMD5(password.Trim()),
                        Role = (UserDef.RoleDef)role,
                        ProFlag = pro,
                        Name = name.Trim(),
                        Surname = surname.Trim(),
                        Email = email.Trim()
                    };

                    int idUser;

                    if ((idUser = ISTAT.DBDAL.DataAccess.Insert_User(newUser)) > 0)
                    {
                        Dictionary<string, object> _result = new Dictionary<string, object>();
                        _result.Add("ID", idUser);
                        _result.Add("Name", newUser.Name);
                        _result.Add("Surname", newUser.Surname);
                        _result.Add("Username", newUser.Username);
                        _result.Add("ProFlag", newUser.ProFlag);
                        _result.Add("Role", newUser.Role.ToString());
                        _result.Add("Email", newUser.Email);
                        return JsonMessage.GetData(_result);
                    }
                }

                return JsonMessage.ErrorOccured;

            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return JsonMessage.ErrorOccured;
            }
        }
コード例 #6
0
        public static bool Update_User(UserDef user)
        {
            DataWrapper dtw = new DataWrapper(DataWrapper.ECONNECTIONTYPE.SQL, DataAccess.SQLConnString_DB.ConnectionString);

            if (dtw.TestConnection())
            {
                dtw.DBConnection.Open();

                try
                {
                    ////////////////////////
                    System.Data.IDbCommand cmd = dtw.DBConnection.CreateCommand();
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "dbo.proc_UPDATE_USER";

                    if (user.ID != -1)
                    {
                        System.Data.IDbDataParameter _id_user = cmd.CreateParameter();
                        _id_user.DbType = System.Data.DbType.Int32;
                        _id_user.ParameterName = "id_user";
                        _id_user.Value = user.ID;
                        cmd.Parameters.Add(_id_user);
                    }
                    if (user.Username != string.Empty)
                    {
                        System.Data.IDbDataParameter _username = cmd.CreateParameter();
                        _username.DbType = System.Data.DbType.String;
                        _username.ParameterName = "username";
                        _username.Value = user.Username;
                        cmd.Parameters.Add(_username);
                    }
                    if (user.Password != string.Empty)
                    {
                        System.Data.IDbDataParameter _password = cmd.CreateParameter();
                        _password.DbType = System.Data.DbType.String;
                        _password.ParameterName = "password";
                        _password.Value = user.Password;
                        cmd.Parameters.Add(_password);
                    }
                    if (user.Name != string.Empty)
                    {
                        System.Data.IDbDataParameter _name = cmd.CreateParameter();
                        _name.DbType = System.Data.DbType.String;
                        _name.ParameterName = "name";
                        _name.Value = user.Name;
                        cmd.Parameters.Add(_name);
                    }
                    if (user.Surname != string.Empty)
                    {
                        System.Data.IDbDataParameter _surname = cmd.CreateParameter();
                        _surname.DbType = System.Data.DbType.String;
                        _surname.ParameterName = "surname";
                        _surname.Value = user.Surname;
                        cmd.Parameters.Add(_surname);
                    }
                    if (user.Email != string.Empty)
                    {
                        System.Data.IDbDataParameter _email = cmd.CreateParameter();
                        _email.DbType = System.Data.DbType.String;
                        _email.ParameterName = "email";
                        _email.Value = user.Email;
                        cmd.Parameters.Add(_email);
                    }

                    // Enum no null value
                    System.Data.IDbDataParameter _id_role = cmd.CreateParameter();
                    _id_role.DbType = System.Data.DbType.Int32;
                    _id_role.ParameterName = "id_role";
                    _id_role.Value = (int)user.Role;
                    cmd.Parameters.Add(_id_role);

                    // Bool no null value
                    System.Data.IDbDataParameter _proFlag = cmd.CreateParameter();
                    _proFlag.DbType = System.Data.DbType.Boolean;
                    _proFlag.ParameterName = "proFlag";
                    _proFlag.Value = user.ProFlag;
                    cmd.Parameters.Add(_proFlag);

                    cmd.ExecuteNonQuery();
                    ////////////////////////

                    dtw.DBConnection.Close();
                    return true;
                }
                catch
                {
                    dtw.DBConnection.Close();
                    return false;
                }
            }
            return false;
        }
コード例 #7
0
        public static int Insert_User(UserDef user)
        {
            DataWrapper dtw = new DataWrapper(DataWrapper.ECONNECTIONTYPE.SQL, DataAccess.SQLConnString_DB.ConnectionString);

            if (dtw.TestConnection())
            {
                dtw.DBConnection.Open();

                try
                {
                    ////////////////////////

                    System.Data.IDbCommand cmd = dtw.DBConnection.CreateCommand();
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "dbo.proc_INSERT_USER";

                    System.Data.IDbDataParameter _username = cmd.CreateParameter();
                    _username.DbType = System.Data.DbType.String;
                    _username.ParameterName = "username";
                    _username.Value = user.Username;
                    cmd.Parameters.Add(_username);

                    System.Data.IDbDataParameter _password = cmd.CreateParameter();
                    _password.DbType = System.Data.DbType.String;
                    _password.ParameterName = "password";
                    _password.Value = user.Password;
                    cmd.Parameters.Add(_password);

                    System.Data.IDbDataParameter _id_role = cmd.CreateParameter();
                    _id_role.DbType = System.Data.DbType.String;
                    _id_role.ParameterName = "id_role";
                    _id_role.Value = (int)user.Role;
                    cmd.Parameters.Add(_id_role);

                    System.Data.IDbDataParameter _name = cmd.CreateParameter();
                    _name.DbType = System.Data.DbType.String;
                    _name.ParameterName = "name";
                    _name.Value = user.Name;
                    cmd.Parameters.Add(_name);

                    System.Data.IDbDataParameter _surname = cmd.CreateParameter();
                    _surname.DbType = System.Data.DbType.String;
                    _surname.ParameterName = "surname";
                    _surname.Value = user.Surname;
                    cmd.Parameters.Add(_surname);

                    System.Data.IDbDataParameter _proFlag = cmd.CreateParameter();
                    _proFlag.DbType = System.Data.DbType.String;
                    _proFlag.ParameterName = "proFlag";
                    _proFlag.Value = user.ProFlag;
                    cmd.Parameters.Add(_proFlag);

                    System.Data.IDbDataParameter _email = cmd.CreateParameter();
                    _email.DbType = System.Data.DbType.String;
                    _email.ParameterName = "email";
                    _email.Value = user.Email;
                    cmd.Parameters.Add(_email);

                    int idUser = (int)cmd.ExecuteScalar();

                    ////////////////////////

                    dtw.DBConnection.Close();
                    return idUser;
                }
                catch
                {
                    dtw.DBConnection.Close();
                    return -1;
                }
            } return -1;
        }
コード例 #8
0
        public static List<UserDef> Get_Users()
        {
            DataWrapper dtw = new DataWrapper(DataWrapper.ECONNECTIONTYPE.SQL, DataAccess.SQLConnString_DB.ConnectionString);
            if (dtw.TestConnection())
            {

                // Access on db with the stored proc TryLogin
                dtw.DBConnection.Open();
                System.Data.IDbCommand cmd = dtw.DBConnection.CreateCommand();
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.CommandText = "dbo.proc_GET_USERS";

                System.Data.IDataReader _reader = cmd.ExecuteReader();
                List<UserDef> _users = new List<UserDef>();
                while (_reader.Read())
                {
                    UserDef _user = new UserDef();
                    _user.ID = _reader.GetInt32(_reader.GetOrdinal("ID_USER"));
                    _user.Username = _reader.GetString(_reader.GetOrdinal("USERNAME"));
                    _user.Password = _reader.GetString(_reader.GetOrdinal("PWD"));
                    _user.Role = ((UserDef.RoleDef)_reader.GetInt32(_reader.GetOrdinal("ID_ROLE")));
                    _user.Name = _reader.GetString(_reader.GetOrdinal("NAME"));
                    _user.Surname = _reader.GetString(_reader.GetOrdinal("SURNAME"));
                    _user.ProFlag = _reader.GetBoolean(_reader.GetOrdinal("PROFLAG"));
                    _user.Email = (_reader.GetValue(_reader.GetOrdinal("EMAIL")) != DBNull.Value) ? _reader.GetString(_reader.GetOrdinal("EMAIL")) : string.Empty;

                    _users.Add(_user);
                }
                dtw.DBConnection.Close();

                return (_users.Count == 0) ? null : _users;
            }
            return null;
        }
コード例 #9
0
        public static UserDef Get_User(string username, string password)
        {
            DataWrapper dtw = new DataWrapper(DataWrapper.ECONNECTIONTYPE.SQL, DataAccess.SQLConnString_DB.ConnectionString);
            if (dtw.TestConnection())
            {

                // Access on db with the stored proc TryLogin
                dtw.DBConnection.Open();
                System.Data.IDbCommand cmd = dtw.DBConnection.CreateCommand();
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.CommandText = "dbo.proc_TRY_LOGIN";

                System.Data.IDbDataParameter _username = cmd.CreateParameter();
                _username.DbType = System.Data.DbType.String;
                _username.ParameterName = "username";
                _username.Value = username;
                cmd.Parameters.Add(_username);

                System.Data.IDbDataParameter _password = cmd.CreateParameter();
                _password.DbType = System.Data.DbType.String;
                _password.ParameterName = "password";
                _password.Value = password;
                cmd.Parameters.Add(_password);

                System.Data.IDataReader _reader = cmd.ExecuteReader();
                UserDef _user = new UserDef();
                if (_reader.Read())
                {
                    _user.ID = _reader.GetInt32(_reader.GetOrdinal("ID_USER"));
                    _user.Username = username;
                    _user.Password = password;
                    _user.Role = ((UserDef.RoleDef)_reader.GetInt32(_reader.GetOrdinal("ID_ROLE")));
                    _user.ProFlag = (_reader.GetBoolean(_reader.GetOrdinal("PROFLAG")));
                    _user.Name = _reader.GetString(_reader.GetOrdinal("NAME"));
                    _user.Surname = _reader.GetString(_reader.GetOrdinal("SURNAME"));
                    _user.Email = (_reader.GetValue(_reader.GetOrdinal("EMAIL")) != DBNull.Value) ? _reader.GetString(_reader.GetOrdinal("EMAIL")) : string.Empty;
                }
                else
                {
                    _user = null;
                }
                dtw.DBConnection.Close();

                return _user;
            }
            return null;
        }