Esempio n. 1
0
        ///////////////////////////////////////////////////////////////////////////////////	
        ///<summary>
        ///	CreateUsers: insert a new user into table users. username must'n exist. 
        ///	id_group must be an existent group
        ///	<param name="group"> id_group, must exists in groups table</param>
        ///	<return>New user id </return>
        ///</summary>	
        public int CreateUser(UserStruct user)
        {
            IDictionary groupRecord, userRecord, userFields;

            try
            {
                groupRecord = new Hashtable();
                groupRecord[AdminFields.ID] = "= " +user.groupid;
                userRecord = new Hashtable();
                userRecord[AdminFields.USERNAME] = "= '" + user.name + "'";
                if (db.Exist(groupRecord, DBTables.GROUPS))
                {
                    if (!db.Exist(userRecord, DBTables.USERS))
                    {
                        userFields = new Hashtable();
                        userFields[AdminFields.USERNAME]  = user.name;
                        userFields[AdminFields.PASSWORD]  = user.password;
                        userFields[AdminFields.GROUPID]   = user.groupid;
                        userFields[AdminFields.PUBLISHED] = user.published;
                        db.Insert(userFields, DBTables.USERS, ref user.id);
                        return user.id;
                    }
                    else
                    {
                        UserAlreadyExistException uae = new UserAlreadyExistException();
                        throw uae;
                    }
                }
                else
                {
                    NullGroupException nge = new NullGroupException();
                    throw nge;
                }
            }
            catch (UserAlreadyExistException uae)
            {
                UserAlreadyExistException wrappedEx = new
                    UserAlreadyExistException(
                        ErrorManager.AddLayer(uae, RunningClass.GetName(this), RunningClass.GetMethod()));
                throw wrappedEx;
            }
            catch (NullGroupException nge)
            {
                NullGroupException wrappedEx = new
                    NullGroupException(
                        ErrorManager.AddLayer(nge,	RunningClass.GetName(this), RunningClass.GetMethod()));
                throw wrappedEx;
            }
            catch (Exception ex)
            {
                Exception wrappedEx = new Exception(
                        ErrorManager.AddLayer(ex, RunningClass.GetName(this), RunningClass.GetMethod()));
                throw wrappedEx;
            }
        }
Esempio n. 2
0
        /////////////////////////////////////////////////////////////////////////////////////		
        ///<summary>
        ///
        ///</summary>
        public UserStruct GetUserByName(string userName)
        {
            IDictionary userRecord;

            try
            {
                userRecord = new Hashtable();
                userRecord[AdminFields.USERNAME] = "= '" +userName +"'";
                DataSet ds = db.GetFieldsWhereas(userRecord, DBTables.USERS);
                UserStruct us = new UserStruct();
                us.name       = userName;
                us.password   = (string) DataTools.GetTextField(ds, AdminFields.PASSWORD);
                us.groupid    = (int)    DataTools.GetIntField (ds, AdminFields.GROUPID);
                us.id         = (int)    DataTools.GetIntField (ds, AdminFields.ID);
                us.published  = (bool)   DataTools.GetBoolField(ds, AdminFields.PUBLISHED);
                return us;
            }
            catch (Exception ex)
            {
                Exception wrappedEx = new
                    Exception(
                        ErrorManager.AddLayer(ex, RunningClass.GetName(this), RunningClass.GetMethod()));
                throw wrappedEx;
            }
        }
Esempio n. 3
0
        ///////////////////////////////////////////////////////////////////////////////////	
        ///<summary>
        ///ModifyUser: username must be an existent user. newuser must'n exist. 
        ///groupid must be an existent group
        ///</summary>
        public void ModifyUser(int userid, UserStruct newuser)
        {
            IDictionary userRecord, groupRecord, thisUserRecord, userFields;

            try
            {
                groupRecord = new Hashtable();
                groupRecord[AdminFields.GROUPID] = "= " +newuser.groupid;
                userRecord = new Hashtable();
                userRecord[AdminFields.USERNAME] = "= '" + newuser.name + "'";
                if (db.Exist(groupRecord, DBTables.GROUPS))
                {
                    if (!db.Exist(userRecord, DBTables.USERS))
                    {
                        thisUserRecord = new Hashtable();
                        thisUserRecord[AdminFields.ID] = "= " +userid;
                        userFields = new Hashtable();
                        userFields[AdminFields.USERNAME]  = newuser.name;
                        userFields[AdminFields.PASSWORD]  = newuser.password;
                        userFields[AdminFields.GROUPID]   = newuser.groupid;
                        userFields[AdminFields.PUBLISHED] = newuser.published;
                        db.SetFieldsWhereas(thisUserRecord, userFields, DBTables.USERS);
                    }
                    else
                    {
                        UserAlreadyExistException uae = new UserAlreadyExistException();
                        throw uae;
                    }
                }
                else
                {
                    NullGroupException nge = new NullGroupException();
                    throw nge;
                }
            }
            catch (UserAlreadyExistException uae)
            {
                UserAlreadyExistException wrappedEx = new
                    UserAlreadyExistException(
                        ErrorManager.AddLayer(uae,RunningClass.GetName(this), RunningClass.GetMethod()));
                throw wrappedEx;
            }
            catch (NullGroupException nge)
            {
                NullGroupException wrappedEx = new
                    NullGroupException(
                        ErrorManager.AddLayer(nge,	RunningClass.GetName(this), RunningClass.GetMethod()));
                throw wrappedEx;
            }
            catch (Exception ex)
            {
                Exception wrappedEx = new Exception(
                        ErrorManager.AddLayer(ex, RunningClass.GetName(this), RunningClass.GetMethod()));
                throw wrappedEx;
            }
        }
Esempio n. 4
0
        public void AddUserToGroup(string sid, DataSet user, string groupName, string epriseName)
        {
            IDbTransaction t = null;
            try
            {
                Initialize(sid);
                int groupid = -1, enterpriseid = -1;
                string userName = DataTools.GetTextField(user, AdminFields.USERNAME);

                UserStruct us = new UserStruct();
                us.name = userName;
                if (ExistGroup(sid, groupName, ref groupid, epriseName, ref enterpriseid))
                {
                    us.groupid = groupid;
                    t = db.BeginTransaction();
                    us.published = DataTools.GetBoolField(user, AdminFields.PUBLISHED);
                    us.id = users.CreateUser(us);
                    cacheMem.SetCacheData(us, DBTables.USERS + us.name);
                    if (t != null) db.Commit(t);
                }
                else
                {
                    GroupStruct gs  = new GroupStruct();
                    gs.name         = groupName;
                    gs.published    = true;
                    gs.enterpriseid = enterpriseid;
                    t = db.BeginTransaction();
                    gs.id = groups.CreateGroup(gs);
                    cacheMem.SetCacheData(gs, DBTables.GROUPS + gs.name);
                    us.groupid = groupid;
                    us.id = users.CreateUser(us);
                    cacheMem.SetCacheData(us, DBTables.USERS + us.name);
                    if (t != null) db.Commit(t);
                }
            }
            catch (Exception ex)
            {
                Exception wrappedEx = new Exception(
                    ErrorManager.AddLayer(ex, RunningClass.GetName(this), RunningClass.GetMethod()));
                throw wrappedEx;
            }
            finally
            {
                if (t != null) db.Commit(t);
            }
        }