예제 #1
0
        /// <summary>
        /// 按日期获取日志
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="beginDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <returns>数据表</returns>
        public DataTable GetDataTableByDate(BaseUserInfo userInfo, string beginDate, string endDate, string userId, string moduleId)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            DataTable dataTable = new DataTable(BaseLogEntity.TableName);
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseLogManager logManager = new BaseLogManager(dbHelper, userInfo);
                    if (!string.IsNullOrEmpty(userId))
                    {
                        dataTable = logManager.GetDataTableByDateByUserIds(new string[] { userId }, BaseLogEntity.FieldProcessId, moduleId, beginDate, endDate);
                    }
                    else
                    {
                        if (userInfo.IsAdministrator)
                        {
                            dataTable = logManager.GetDataTableByDate(BaseLogEntity.FieldProcessId, moduleId, beginDate, endDate);
                        }
                        else
                        {
                            BasePermissionScopeManager BasePermissionScopeManager = new BasePermissionScopeManager(dbHelper, userInfo);
                            string[] userIds = BasePermissionScopeManager.GetUserIds(userInfo.Id, "Resource.ManagePermission");
                            dataTable = logManager.GetDataTableByDateByUserIds(userIds, BaseLogEntity.FieldProcessId, moduleId, beginDate, endDate);
                        }
                    }
                    dataTable.TableName = BaseLogEntity.TableName;
                    // 添加访问日志
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.LogService_GetDataTableByDate, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif
            return(dataTable);
        }
예제 #2
0
        /// <summary>
        /// 查询日志
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="search">查询</param>
        /// <param name="OnlyOnLine">是否在线</param>
        /// <returns>数据表</returns>
        public DataTable Search(BaseUserInfo userInfo, string searchValue, bool OnlyOnLine)
        {
            // 写入调试信息
#if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
#endif

            // 加强安全验证防止未授权匿名调用
#if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
#endif

            DataTable dataTable = new DataTable(BaseLogEntity.TableName);
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseLogManager             logManager             = new BaseLogManager(dbHelper, userInfo);
                    BasePermissionScopeManager permissionScopeManager = new BasePermissionScopeManager(dbHelper, userInfo);
                    string[] userIds = permissionScopeManager.GetUserIds(userInfo.Id, "Resource.ManagePermission");
                    dataTable           = logManager.Search(userIds, searchValue, OnlyOnLine, true);
                    dataTable.TableName = BaseLogEntity.TableName;
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.UserService_Search, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
#if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
#endif

            return(dataTable);
        }
예제 #3
0
        /// <summary>
        /// 按日期获取日志(业务)
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="beginDate">开始时间</param>
        /// <param name="endDate">结束时间</param>
        /// <returns>数据表</returns>
        public DataTable GetDataTableApplicationByDate(BaseUserInfo userInfo, string beginDate, string endDate)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            DataTable dataTable = new DataTable(BaseLogEntity.TableName);
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(BusinessDbConnection);
                    BaseLogManager logManager = new BaseLogManager(dbHelper, userInfo);
                    dataTable           = logManager.GetDataTableByDate(string.Empty, string.Empty, beginDate, endDate);
                    dataTable.TableName = BaseLogEntity.TableName;
                    // 添加访问日志
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.LogService_GetDataTableApplicationByDate, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif
            return(dataTable);
        }
예제 #4
0
        /// <summary>
        /// 批量删除日志(业务)
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <param name="ids">主键数组</param>
        /// <returns>影响行数</returns>
        public int BatchDeleteApplication(BaseUserInfo userInfo, string[] ids)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            int returnValue = 0;
            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(BusinessDbConnection);
                    BaseLogManager logManager = new BaseLogManager(dbHelper, userInfo);
                    returnValue = logManager.Delete(BaseLogEntity.FieldId, ids);
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.LogService_BatchDeleteApplication, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif
            return(returnValue);
        }
예제 #5
0
        /// <summary>
        /// 全部清除日志
        /// </summary>
        /// <param name="userInfo">用户</param>
        /// <returns>数据表</returns>
        public void Truncate(BaseUserInfo userInfo)
        {
            // 写入调试信息
            #if (DEBUG)
            int milliStart = BaseBusinessLogic.StartDebug(userInfo, MethodBase.GetCurrentMethod());
            #endif

            // 加强安全验证防止未授权匿名调用
            #if (!DEBUG)
            LogOnService.UserIsLogOn(userInfo);
            #endif

            using (IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType))
            {
                try
                {
                    dbHelper.Open(UserCenterDbConnection);
                    BaseLogManager logManager = new BaseLogManager(dbHelper, userInfo);
                    logManager.Truncate();
                    BaseLogManager.Instance.Add(dbHelper, userInfo, this.serviceName, AppMessage.LogService_Truncate, MethodBase.GetCurrentMethod());
                }
                catch (Exception ex)
                {
                    BaseExceptionManager.LogException(dbHelper, userInfo, ex);
                    throw ex;
                }
                finally
                {
                    dbHelper.Close();
                }
            }

            // 写入调试信息
            #if (DEBUG)
            BaseBusinessLogic.EndDebug(MethodBase.GetCurrentMethod(), milliStart);
            #endif
        }
예제 #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Engin Demiroğ'a Bu Eğitim Fırsatını Sunduğu İçin Sonsuz Teşekkürler.");
            Console.WriteLine("Endless Thanks to Engin Demiroğ for Presenting This Educational Opportunity.");

            ILogService      logManager       = new BaseLogManager();
            IGamerService    gamerManager     = new GamerRegisterManager(new AMernisServiceAdapter(), logManager);
            ICampaignService campaignManager  = new CampaignStartManager();
            List <Gamer>     registeredGamers = new List <Gamer>();

            #region Creating Gamers

            Gamer gamer1 = new Gamer();
            gamer1.Id              = 1;
            gamer1.Name            = "Ferhat";
            gamer1.Surname         = "OYGUR";
            gamer1.BirthDate       = new DateTime(1881, 1, 1);
            gamer1.NationalID      = "99999999999";
            gamer1.Professionality = "MMO-ARPG";
            gamer1.Registered      = false;

            Gamer gamer2 = new Gamer()
            {
                Id              = 2,
                Name            = "Dilek",
                Surname         = "OYGUR",
                BirthDate       = new DateTime(1919, 5, 19),
                NationalID      = "99999999999",
                Professionality = "Real Time Strategy",
                Registered      = false
            };

            Gamer gamer3 = new Gamer()
            {
                Id              = 3,
                Name            = "Esila",
                Surname         = "OYGUR",
                BirthDate       = new DateTime(1920, 4, 23),
                NationalID      = "99999999999",
                Professionality = "Sandbox",
                Registered      = false
            };

            Gamer gamer4 = new Gamer()
            {
                Id              = 4,
                Name            = "Ali Alp",
                Surname         = "OYGUR",
                BirthDate       = new DateTime(1923, 10, 29),
                NationalID      = "99999999999",
                Professionality = "Puzzle",
                Registered      = false
            };

            #endregion

            #region Campaigns

            Campaign campaign1 = new Campaign();
            campaign1.Id           = 1;
            campaign1.CampaignName = "Steam Halloween Event";
            campaign1.GameName     = "AA Games";
            campaign1.Platform     = "PC";
            campaign1.Active       = false;

            Campaign campaign2 = new Campaign()
            {
                Id           = 2,
                CampaignName = "Global Game Jam Online 2021",
                GameName     = "MOBA Games: Lol-HOTS-DOTA2",
                Platform     = "PC, Console",
                Active       = false
            };

            Campaign campaign3 = new Campaign()
            {
                Id           = 3,
                CampaignName = "Origin & Intel Org ShowCase",
                GameName     = "Star Wars:BattleFront II",
                Platform     = "PC",
                Active       = false
            };

            Campaign campaign4 = new Campaign()
            {
                Id           = 4,
                CampaignName = "Roberts Space Industry",
                GameName     = "StarCitizen",
                Platform     = "PC",
                Active       = false
            };


            #endregion

            gamerManager.Register(gamer1, registeredGamers);
            gamerManager.Register(gamer2, registeredGamers);
            gamerManager.Register(gamer3, registeredGamers);
            gamerManager.Register(gamer4, registeredGamers);

            campaignManager.StartCampaign(campaign1);
            campaignManager.StartCampaign(campaign2);
            campaignManager.StartCampaign(campaign4);

            campaignManager.JoinGamers(campaign3, registeredGamers);
            campaignManager.JoinGamers(campaign2, registeredGamers);
            campaignManager.JoinGamers(campaign1, registeredGamers);

            //herşeyi ayaraldıktan sonra burda istemsiz derin bir nefes aldım Start butonunun uzerinde beklerken
            //sonra bi baktım ReadLine eklememişim. ulan dedim noluyor.

            Console.ReadLine();
        }