예제 #1
0
        public static List <Group> GetAllGroups()
        {
            List <Group>        groups = new List <Group>();
            ThingReader <Group> thingReader;
            Func <FieldInfo, IDataRecord, object> customApply = CustomApply;

            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = DataManager.CreateCommand("SELECT GroupID,Name,AccountAdmin FROM User_GUI_UserGroup ORDER BY GroupID");


                thingReader = new ThingReader <Group>(sqlCommand.ExecuteReader(), CustomApply);
                while (thingReader.Read())
                {
                    groups.Add((Group)thingReader.Current);
                }
            }
            if (groups != null && groups.Count > 0)
            {
                for (int i = 0; i < groups.Count; i++)
                {
                    groups[i] = MapperUtility.ExpandObject <Group>(groups[i], customApply);
                }
            }
            return(groups);
        }
예제 #2
0
        public static Group GetGroupByID(int groupID)
        {
            Group group = null;
            ThingReader <Group> thingReader;
            Func <FieldInfo, IDataRecord, object> customApply = CustomApply;

            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = DataManager.CreateCommand(@"SELECT GroupID,
																			Name,
																			IsActive,
																			AccountAdmin     
																			FROM User_GUI_UserGroup
																			WHERE GroupID=@GroupID:Int"                                                                            );
                sqlCommand.Parameters["@GroupID"].Value = groupID;

                thingReader = new ThingReader <Group>(sqlCommand.ExecuteReader(), CustomApply);
                if (thingReader.Read())
                {
                    group = (Group)thingReader.Current;
                }
            }
            if (group != null)
            {
                group = MapperUtility.ExpandObject <Group>(group, customApply);
            }

            return(group);
        }
        public static List <User> GetAllUsers()
        {
            List <User>        users = new List <User>();
            ThingReader <User> thingReader;
            Func <FieldInfo, IDataRecord, object> customApply = CustomApply;

            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = DataManager.CreateCommand("SELECT UserID,Name,AccountAdmin,Email FROM User_GUI_User ORDER BY UserID");


                thingReader = new ThingReader <User>(sqlCommand.ExecuteReader(), CustomApply);
                while (thingReader.Read())
                {
                    users.Add((User)thingReader.Current);
                }
            }
            if (users != null && users.Count > 0)
            {
                for (int i = 0; i < users.Count; i++)
                {
                    users[i] = MapperUtility.ExpandObject <User>(users[i], customApply);
                }
            }
            return(users);
        }
        public static User GetUserByID(int id)
        {
            User user = null;
            ThingReader <User> thingReader;
            Func <FieldInfo, IDataRecord, object> customApply = CustomApply;

            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = DataManager.CreateCommand("User_GetByID(@userID:int)", CommandType.StoredProcedure);
                sqlCommand.Parameters["@userID"].Value = id;

                thingReader = new ThingReader <User>(sqlCommand.ExecuteReader(), CustomApply);
                if (thingReader.Read())
                {
                    user = (User)thingReader.Current;
                }
            }
            if (user != null)
            {
                user = MapperUtility.ExpandObject <User>(user, customApply);
            }

            return(user);
            //System.Data.SqlClient.SqlCommand cmd = Easynet.Edge.Core.Data.DataManager.CreateCommand("User_GetAllPermissions(@userID:int)");
        }
        public static List <Permission> GetAllPermissionTypeTree()
        {
            List <Permission>        returnObject = new List <Permission>();
            ThingReader <Permission> thingReader;
            Stack <Permission>       stackPermission = new Stack <Permission>();



            using (DataManager.Current.OpenConnection())
            {
                using (SqlCommand sqlCommand = DataManager.CreateCommand(@"Permmissions_GetAllPermissions", CommandType.StoredProcedure))
                {
                    thingReader = new ThingReader <Permission>(sqlCommand.ExecuteReader(), null);
                    while (thingReader.Read())
                    {
                        Permission permission = (Permission)thingReader.Current;
                        if (stackPermission.Count == 0)
                        {
                            stackPermission.Push(permission);
                        }
                        else if (permission.Path.StartsWith(stackPermission.Peek().Path))
                        {
                            stackPermission.Peek().ChildPermissions.Add(permission);
                            stackPermission.Push(permission);
                        }
                        else
                        {
                            while (stackPermission.Count != 1 && !permission.Path.StartsWith(stackPermission.Peek().Path))
                            {
                                stackPermission.Pop();
                            }
                            if (!permission.Path.StartsWith(stackPermission.Peek().Path))
                            {
                                returnObject.Add(stackPermission.Pop());
                                stackPermission.Push(permission);
                            }
                            else
                            {
                                stackPermission.Peek().ChildPermissions.Add(permission);
                                stackPermission.Push(permission);
                            }
                        }
                    }
                }
            }
            while (stackPermission.Count > 1)
            {
                stackPermission.Pop();
            }
            if (stackPermission.Count > 0)
            {
                returnObject.Add(stackPermission.Pop());
            }

            returnObject = Order(returnObject);

            return(returnObject);
        }
        public static List <Account> GetAccount(int?id, bool firstTime, int userId)
        {
            ThingReader <Account> accountReader;
            ThingReader <CalculatedPermission> calculatedPermissionReader;
            List <CalculatedPermission>        calculatedPermissionList = new List <CalculatedPermission>();
            List <Account>                        returnObject          = new List <Account>();
            Dictionary <int?, Account>            parents     = new Dictionary <int?, Account>();
            Func <FieldInfo, IDataRecord, object> customApply = CustomApply;

            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = null;
                sqlCommand = DataManager.CreateCommand("User_CalculatePermissions(@UserID:Int)", CommandType.StoredProcedure);
                sqlCommand.Parameters["@UserID"].Value = userId;
                calculatedPermissionReader             = new ThingReader <CalculatedPermission>(sqlCommand.ExecuteReader(), customApply);
                while (calculatedPermissionReader.Read())
                {
                    calculatedPermissionList.Add(calculatedPermissionReader.Current);
                }
                calculatedPermissionReader.Dispose();
                if (id == null)
                {
                    sqlCommand = DataManager.CreateCommand("SELECT DISTINCT ID,Name,Parent_ID,AccountSettings,Level,SiteURL FROM [V_User_GUI_Accounts]   ORDER BY Parent_ID", CommandType.Text);
                }
                else
                {
                    sqlCommand = DataManager.CreateCommand("SELECT DISTINCT ID,Name,Parent_ID,AccountSettings,Level,SiteURL FROM [V_User_GUI_Accounts] WHERE ID=@ID:Int ORDER BY Parent_ID", CommandType.Text);
                    sqlCommand.Parameters["@ID"].Value = id;
                }
                accountReader = new ThingReader <Account>(sqlCommand.ExecuteReader(), CustomApply);
                while (accountReader.Read())
                {
                    Account account = accountReader.Current;
                    account.Permissions = calculatedPermissionList.FindAll(calculatedPermission => calculatedPermission.AccountID == account.ID).Select(calc => calc.Path).ToList();


                    if (account.Permissions != null && account.Permissions.Count > 0)
                    {
                        if (account.ParentID == null || !parents.ContainsKey(account.ParentID))                         //If has no parent or parentid==null(is main father)
                        {
                            returnObject.Add(account);
                        }
                        else
                        {
                            parents[account.ParentID].ChildAccounts.Add(account);     //has father then add it has a child
                        }
                        if (!parents.ContainsKey(account.ID))                         //always add it to the parents
                        {
                            parents.Add(account.ID, account);
                        }
                    }
                }
            }
            returnObject = Order(returnObject);
            return(returnObject);
        }
        public static List <CampaignStatusSchedule> GetCampaignStatusSchedules(long campaignID)
        {
            List <CampaignStatusSchedule>        campaignStatusSchedules = new List <CampaignStatusSchedule>();
            ThingReader <CampaignStatusSchedule> thingReader;

            //Func<FieldInfo, IDataRecord, object> customApply = CustomApply;
            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = DataManager.CreateCommand("CampaignStatusSchedules_GetByCampaignGK(@Campaign_GK:Int", System.Data.CommandType.StoredProcedure);
                sqlCommand.Parameters["@Campaign_GK"].Value = campaignID;


                thingReader = new ThingReader <CampaignStatusSchedule>(sqlCommand.ExecuteReader(), null);
                while (thingReader.Read())
                {
                    campaignStatusSchedules.Add((CampaignStatusSchedule)thingReader.Current);
                }
            }

            return(campaignStatusSchedules);
        }
예제 #8
0
        public static List <User> GetUserAssociateUsers(int ID)
        {
            List <User> associateUsers = new List <User>();

            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = DataManager.CreateCommand(@"SELECT DISTINCT  T0.UserID ,T1.Name
																	FROM User_GUI_UserGroupUser T0
																	INNER JOIN User_GUI_User T1 ON T0.UserID=T1.UserID 
																	WHERE GroupID=@GroupID:Int"                                                                    );
                sqlCommand.Parameters["@GroupID"].Value = ID;

                using (ThingReader <User> thingReader = new ThingReader <User>(sqlCommand.ExecuteReader(), null))
                {
                    while (thingReader.Read())
                    {
                        associateUsers.Add((User)thingReader.Current);
                    }
                }
            }
            return(associateUsers);
        }
예제 #9
0
        public static List <Campaign> GetCampaignsByAccountIdAndChannel(int accountID, int channelID)
        {
            List <Campaign>        campaigns = new List <Campaign>();
            ThingReader <Campaign> thingReader;

            //Func<FieldInfo, IDataRecord, object> customApply = CustomApply;
            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = DataManager.CreateCommand("CampaignByAccountAndChannel(@Account_ID:Int,@Channel_ID:Int", System.Data.CommandType.StoredProcedure);

                sqlCommand.Parameters["@Account_ID"].Value = accountID;
                sqlCommand.Parameters["@Channel_ID"].Value = channelID;

                thingReader = new ThingReader <Campaign>(sqlCommand.ExecuteReader(), null);
                while (thingReader.Read())
                {
                    campaigns.Add((Campaign)thingReader.Current);
                }
            }

            return(campaigns);
        }
예제 #10
0
        public static List <Menu> GetMenu(int userId)
        {
            Stack <Menu> stackMenu = new Stack <Menu>();

            string                                newPath = string.Format("{0}%", string.Empty); //for future get specific menu and sub menu
            ThingReader <Menu>                    thingReader;
            List <Menu>                           returnObject  = new List <Menu>();
            Dictionary <int, List <Menu> >        menuesByLevel = new Dictionary <int, List <Menu> >();
            Func <FieldInfo, IDataRecord, object> customApply   = CustomApply;

            using (DataManager.Current.OpenConnection())
            {
                SqlCommand sqlCommand = DataManager.CreateCommand("Menu_GetMenuByUserPermission(@userID:Int,@menuPath:NvarChar)", CommandType.StoredProcedure);
                sqlCommand.Parameters["@menuPath"].Value = newPath;
                sqlCommand.Parameters["@userID"].Value   = userId;

                thingReader = new ThingReader <Menu>(sqlCommand.ExecuteReader(), CustomApply);

                while (thingReader.Read())
                {
                    Menu menu = (Menu)thingReader.Current;

                    if (stackMenu.Count == 0)
                    {
                        stackMenu.Push(menu);
                    }
                    else if (menu.Path.StartsWith(stackMenu.Peek().Path))
                    {
                        stackMenu.Peek().ChildItems.Add(menu);
                        stackMenu.Push(menu);
                    }
                    else
                    {
                        while (stackMenu.Count != 1 && !menu.Path.StartsWith(stackMenu.Peek().Path))
                        {
                            stackMenu.Pop();
                        }
                        if (!menu.Path.StartsWith(stackMenu.Peek().Path))
                        {
                            returnObject.Add(stackMenu.Pop());
                            stackMenu.Push(menu);
                        }
                        else
                        {
                            stackMenu.Peek().ChildItems.Add(menu);
                            stackMenu.Push(menu);                             //bug 157 it was with comment
                        }
                    }
                }
            }
            //stackMenu.Pop();
            while (stackMenu.Count > 1)
            {
                stackMenu.Pop();
            }
            if (stackMenu.Count > 0)
            {
                returnObject.Add(stackMenu.Pop());
            }

            returnObject = Order(returnObject);

            return(returnObject);
        }