コード例 #1
0
ファイル: UsersTables.cs プロジェクト: ruslan81/FIS
 /// <summary>
 /// Заполнить поля информацией
 /// </summary>
 /// <param name="UserId">ID пользователя</param>
 /// <param name="tables">обьект класса UsersTables с открытым подключением</param>
 /// <returns>this</returns>
 public UserFromTable FillWithInfo(int UserId, UsersTables tables)
 {
     name           = tables.Get_UserName(UserId);
     pass           = tables.Get_UserPassword(UserId);
     userType       = tables.Get_UserTypeStr(UserId);
     userRole       = tables.Get_UserRoleName(UserId);
     timeConnection = tables.Get_TimeConnect(UserId);
     orgName        = tables.Get_UserOrgName(UserId);
     id             = UserId;
     return(this);
 }
コード例 #2
0
ファイル: UsersTables.cs プロジェクト: ShunkevichDV/FIS
 /// <summary>
 /// Заполнить поля информацией
 /// </summary>
 /// <param name="UserId">ID пользователя</param>
 /// <param name="tables">обьект класса UsersTables с открытым подключением</param>
 /// <returns>this</returns>
 public UserFromTable FillWithInfo(int UserId, UsersTables tables)
 {
     name = tables.Get_UserName(UserId);
     pass = tables.Get_UserPassword(UserId);
     userType = tables.Get_UserTypeStr(UserId);
     userRole = tables.Get_UserRoleName(UserId);
     timeConnection = tables.Get_TimeConnect(UserId);
     orgName = tables.Get_UserOrgName(UserId);
     id = UserId;
     return this;
 }
コード例 #3
0
ファイル: HistoryTable.cs プロジェクト: ruslan81/FIS
        /// <summary>
        /// Получает всю исторю для группы выбранных пользователей с выполнением некоторых условий
        /// </summary>
        /// <param name="usersIds">Массив ID пользователей</param>
        /// <param name="from">Дата с</param>
        /// <param name="to">Дата по</param>
        /// <param name="actionIdIns">ID типа действия</param>
        /// <param name="searchString">Строка, которая должна встречаться в логе</param>
        /// <returns>DataTable, который можно напрямую использовать как источник данных.</returns>
        public DataTable GetAllHistorysForUsers(List <int> usersIds, DateTime from, DateTime to, int actionIdIns, string searchString)
        {
            Exception   noValues         = new Exception("Нет значений для Журнала");
            DataTable   UsersHistoryData = new DataTable("UsersHistoryData");
            string      userName;
            UsersTables userTable = new UsersTables(connectionString, CurrentLanguage, sqlDb);
            DataRow     dr;
            List <List <KeyValuePair <string, string> > > gettedIdList = new List <List <KeyValuePair <string, string> > >();
            List <string> gettedDateTimes = new List <string>();

            UsersHistoryData.Columns.Add(new DataColumn("USER_ID", typeof(int)));
            UsersHistoryData.Columns.Add(new DataColumn("ACTION_ID", typeof(int)));
            UsersHistoryData.Columns.Add(new DataColumn("TABLE_ID", typeof(int)));
            UsersHistoryData.Columns.Add(new DataColumn("Дата и время", typeof(DateTime)));
            UsersHistoryData.Columns.Add(new DataColumn("Пользователь", typeof(string)));
            UsersHistoryData.Columns.Add(new DataColumn("Описание", typeof(string)));

            int      tableId  = -1;
            int      actionId = -1;
            string   description;
            DateTime date = new DateTime();

            foreach (int userId in usersIds)
            {
                //userTable.OpenConnection();
                userName = userTable.Get_UserName(userId);
                //userTable.CloseConnection();

                gettedIdList = sqlDb.GetHistoryActionIdAndTableId(userId, from, to, actionIdIns);

                tableId  = -1;
                actionId = -1;
                foreach (List <KeyValuePair <string, string> > record in gettedIdList)
                {
                    foreach (KeyValuePair <string, string> oneValue in record)
                    {
                        if (oneValue.Key == "ACTION_ID")
                        {
                            actionId = Convert.ToInt32(oneValue.Value);
                        }
                        if (oneValue.Key == "TABLE_ID")
                        {
                            tableId = Convert.ToInt32(oneValue.Value);
                        }
                        if (oneValue.Key == "ACTION_DATE")
                        {
                            date = DateTime.Parse(oneValue.Value);
                        }
                    }
                    if (actionId <= 0 || tableId <= 0)
                    {
                        throw noValues;
                    }
                    dr = UsersHistoryData.NewRow();
                    dr["Дата и время"] = date;//дата
                    dr["Пользователь"] = userName;
                    description        = GetActionString(actionId) + ". " + GetHistoryNote(userId, actionId, tableId, date) + ".";
                    if (searchString != "")//очень плохой способ. Если будет тормозить - переделать на выборку из базы или еще чего...
                    {
                        //if (description.Contains(searchString))
                        if (description.ToLower().Contains(searchString.ToLower()))
                        {
                            //description = Regex.Replace(description, searchString, "&lbb&rb&lbFONT COLOR=RED&rb" + searchString + "&lb&slFONT&rb&lb&slb&rb", RegexOptions.IgnoreCase);
                            description = description.Replace(searchString, "&lbb&rb&lbFONT COLOR=RED&rb" + searchString + "&lb&slFONT&rb&lb&slb&rb");
                            description = description.Replace(searchString.ToLower(), "&lbb&rb&lbFONT COLOR=RED&rb" + searchString.ToLower() + "&lb&slFONT&rb&lb&slb&rb");
                            String s = searchString.Substring(0, 1).ToUpper() + searchString.Substring(1);
                            description = description.Replace(s, "&lbb&rb&lbFONT COLOR=RED&rb" + s + "&lb&slFONT&rb&lb&slb&rb");
                        }
                        else
                        {
                            continue;
                        }
                    }
                    dr["Описание"]  = description;
                    dr["USER_ID"]   = userId;
                    dr["ACTION_ID"] = actionId;
                    dr["TABLE_ID"]  = tableId;

                    UsersHistoryData.Rows.Add(dr);
                }
            }
            UsersHistoryData.DefaultView.Sort = "Дата и время DESC";

            return(UsersHistoryData);
        }
コード例 #4
0
ファイル: HistoryTable.cs プロジェクト: ShunkevichDV/FIS
        /// <summary>
        /// Получает всю исторю для группы выбранных пользователей с выполнением некоторых условий
        /// </summary>
        /// <param name="usersIds">Массив ID пользователей</param>
        /// <param name="from">Дата с</param>
        /// <param name="to">Дата по</param>
        /// <param name="actionIdIns">ID типа действия</param>
        /// <param name="searchString">Строка, которая должна встречаться в логе</param>
        /// <returns>DataTable, который можно напрямую использовать как источник данных.</returns>
        public DataTable GetAllHistorysForUsers(List<int> usersIds, DateTime from, DateTime to, int actionIdIns, string searchString)
        {
            Exception noValues = new Exception("Нет значений для Журнала");
            DataTable UsersHistoryData = new DataTable("UsersHistoryData");
            string userName;
            UsersTables userTable = new UsersTables(connectionString, CurrentLanguage, sqlDb);
            DataRow dr;
            List<List<KeyValuePair<string, string>>> gettedIdList = new List<List<KeyValuePair<string, string>>>();
            List<string> gettedDateTimes = new List<string>();
            UsersHistoryData.Columns.Add(new DataColumn("USER_ID", typeof(int)));
            UsersHistoryData.Columns.Add(new DataColumn("ACTION_ID", typeof(int)));
            UsersHistoryData.Columns.Add(new DataColumn("TABLE_ID", typeof(int)));
            UsersHistoryData.Columns.Add(new DataColumn("Дата и время", typeof(DateTime)));
            UsersHistoryData.Columns.Add(new DataColumn("Пользователь", typeof(string)));
            UsersHistoryData.Columns.Add(new DataColumn("Описание", typeof(string)));

            int tableId = -1;
            int actionId = -1;
            string description;
            DateTime date = new DateTime();
            foreach (int userId in usersIds)
            {
                //userTable.OpenConnection();
                userName = userTable.Get_UserName(userId);
                //userTable.CloseConnection();

                gettedIdList = sqlDb.GetHistoryActionIdAndTableId(userId, from, to, actionIdIns);
                                
                tableId = -1;
                actionId = -1;
                foreach (List<KeyValuePair<string, string>> record in gettedIdList)
                {
                    foreach (KeyValuePair<string, string> oneValue in record)
                    {
                        if (oneValue.Key == "ACTION_ID")
                            actionId = Convert.ToInt32(oneValue.Value);
                        if (oneValue.Key == "TABLE_ID")
                            tableId = Convert.ToInt32(oneValue.Value);
                        if (oneValue.Key == "ACTION_DATE")
                            date = DateTime.Parse(oneValue.Value);
                    }
                    if (actionId <= 0 || tableId <= 0)
                        throw noValues;
                    dr = UsersHistoryData.NewRow();
                    dr["Дата и время"] = date;//дата
                    dr["Пользователь"] = userName;
                    description =  GetActionString(actionId) + ". " + GetHistoryNote(userId, actionId, tableId, date) + ".";
                    if (searchString != "")//очень плохой способ. Если будет тормозить - переделать на выборку из базы или еще чего...
                    {
                        //if (description.Contains(searchString))
                        if (description.ToLower().Contains(searchString.ToLower()))
                        {
                            //description = Regex.Replace(description, searchString, "&lbb&rb&lbFONT COLOR=RED&rb" + searchString + "&lb&slFONT&rb&lb&slb&rb", RegexOptions.IgnoreCase);
                            description = description.Replace(searchString, "&lbb&rb&lbFONT COLOR=RED&rb" + searchString + "&lb&slFONT&rb&lb&slb&rb");
                            description = description.Replace(searchString.ToLower(), "&lbb&rb&lbFONT COLOR=RED&rb" + searchString.ToLower() + "&lb&slFONT&rb&lb&slb&rb");
                            String s=searchString.Substring(0,1).ToUpper()+searchString.Substring(1);
                            description = description.Replace(s, "&lbb&rb&lbFONT COLOR=RED&rb" + s + "&lb&slFONT&rb&lb&slb&rb");
                        }
                        else
                            continue;
                    }
                    dr["Описание"] = description;
                    dr["USER_ID"] = userId;
                    dr["ACTION_ID"] = actionId;
                    dr["TABLE_ID"] = tableId;

                    UsersHistoryData.Rows.Add(dr);
                }
            }
            UsersHistoryData.DefaultView.Sort = "Дата и время DESC";
            
            return UsersHistoryData;
        }