コード例 #1
0
 public SelfAuthenticatedUser(SystemEnum systemID, Organization organization, string officialIDNo, string loginName, string languageCode,
                              string firstName, string lastName, string middleName, string emailAddress, string mobilePhone, string position, string division)
 //: base(systemID, organization, officialIDNo, loginName, languageCode, firstName, lastName, middleName, emailAddress, mobilePhone, position)
     : base(systemID, organization, officialIDNo, loginName, languageCode, firstName, lastName, middleName, emailAddress, mobilePhone)
 {
     this.MustChangePasswordAfterFirstLogon = true;
 }
コード例 #2
0
 public SelfAuthenticatedUser(SystemEnum systemID,
                              Organization organization,
                              OrgUnit orgUnit,
                              string officialIDNo,
                              string loginName,
                              string firstNameTh, string firstNameEn,
                              string lastNameTh, string lastNameEn,
                              string middleNameTh, string middleNameEn,
                              string emailAddress,
                              string mobilePhone, string phoneCenter, string phoneCenterTo, string phoneDirect, string address, bool isBulidin = false)
     : base(systemID,
            organization,
            officialIDNo,
            loginName,
            firstNameTh, firstNameEn,
            lastNameTh, lastNameEn,
            middleNameTh, middleNameEn,
            emailAddress,
            mobilePhone)
 {
     this.OrgUnit       = orgUnit;
     this.PhoneCenter   = phoneCenter;
     this.PhoneCenterTo = phoneCenterTo;
     this.PhoneDirect   = phoneDirect;
     this.MustChangePasswordAfterFirstLogon = false;
     this.EffectivePeriod     = TimeInterval.EffectiveNow;
     this.ResponsibleOrgUnits = new List <UserOrgUnit>();
     this.Address             = address;
     this.IsBuiltin           = isBulidin;
 }
コード例 #3
0
        // 获取连接字符串
        private static string GetConnectionString(SystemEnum systemEnum)
        {
            switch (systemEnum)
            {
            case SystemEnum.HCIS_HR:
                return(ConfigHelper.HcisHrMqUri);

            case SystemEnum.HCIS_Employee:
                return(ConfigHelper.HcisEmployeeMqUri);

            case SystemEnum.TMS:
                return(ConfigHelper.TMSMqUri);

            case SystemEnum.SIS:
                return(ConfigHelper.SISMqUri);

            case SystemEnum.UnityAccount:
                return(ConfigHelper.UnityAccountMqUri);

            case SystemEnum.SMS:
                return(ConfigHelper.SMSMqUri);

            default:
                throw new ArgumentOutOfRangeException("systemEnum", "SystemEnum传入了不存在的值");
            }
        }
コード例 #4
0
ファイル: User.cs プロジェクト: NiponJaiboon/RiskEval
 public User(SystemEnum systemID,
             Organization organization,
             string officialIDNo,
             string loginName,
             string firstNameTh, string firstNameEn,
             string lastNameTh, string lastNameEn,
             string middleNameTh, string middleNameEn,
             string emailAddress,
             string mobilePhone)
     : this(loginName)
 {
     this.SystemID     = systemID;
     this.Organization = organization;
     this.Person       = new Person
     {
         EffectivePeriod = new TimeInterval(DateTime.Now),
         OfficialIDNo    = officialIDNo,
         CurrentName     = new PersonName
         {
             EffectivePeriod = new TimeInterval(DateTime.Now),
             FirstName       = null == firstNameTh ? null : new MultilingualString("th-TH", firstNameTh, "en-US", firstNameEn),
             LastName        = null == lastNameTh ? null : new MultilingualString("th-TH", lastNameTh, "en-US", lastNameEn),
             MiddleName      = null == middleNameTh ? null : new MultilingualString("th-TH", middleNameTh, "en-US", middleNameEn),
         }
     };
     this.EMailAddress      = emailAddress;
     this.MobilePhoneNumber = mobilePhone;
 }
コード例 #5
0
ファイル: ConnectionHelper.cs プロジェクト: taobaohi/demo
        public static string GetConnectionString(SystemEnum systemEnum)
        {
            //var app_status = ConfigurationManager.AppSettings["application_status"];

            //switch (systemEnum)
            //{
            //    case SystemEnum.HCIS_HR:
            //        return ConfigurationManager.AppSettings[$"{app_status}_hcis_mq_uri"];

            //    case SystemEnum.TMS:
            //        return ConfigurationManager.AppSettings[$"{app_status}_tms_mq_uri"];

            //    case SystemEnum.SIS:
            //        return ConfigurationManager.AppSettings[$"{app_status}_sis_mq_uri"];

            //    case SystemEnum.HCIS_Employee:
            //        return ConfigurationManager.AppSettings[$"{app_status}_hcis_Employee_mq_uri"];

            //    case SystemEnum.UnityAccount:
            //        return ConfigurationManager.AppSettings[$"{app_status}_UnityAccount_uri"];
            //    case SystemEnum.SMS:
            //        return ConfigurationManager.AppSettings[$"{app_status}_sms_mq_uri"];
            //    default:

            return(null);
        }
コード例 #6
0
ファイル: ConnectionHelper.cs プロジェクト: taobaohi/demo
        /// <summary>
        /// 服务发现
        /// </summary>
        /// <param name="systemEnum"></param>
        /// <returns></returns>
        public static IModel GetChannel(SystemEnum systemEnum)
        {
            var connectionUri = GetConnectionString(systemEnum);
            var conn          = GetConnection(connectionUri, systemEnum);
            var channel       = conn?.CreateModel();

            return(channel);
        }
コード例 #7
0
ファイル: User.cs プロジェクト: NiponJaiboon/RiskEval
        public static User GetEffective(Context context, string loginName, SystemEnum systemID)
        {
            DateTime now = DateTime.Now;

            return(context.PersistenceSession
                   .QueryOver <User>()
                   .Where(u => u.LoginName == loginName && u.SystemID == systemID &&
                          u.EffectivePeriod.From <= now && u.EffectivePeriod.To >= now)
                   .SingleOrDefault());
        }
コード例 #8
0
ファイル: SystemUser.cs プロジェクト: NiponJaiboon/RiskEval
        public static IList <SystemUser> ListEffective(Context context, SystemEnum applicationID)
        {
            DateTime date = DateTime.Today;

            return(context.PersistenceSession.QueryOver <SystemUser>()
                   .Where(u => u.SystemID == applicationID &&
                          u.EffectivePeriod.From <= date &&
                          u.EffectivePeriod.To >= date)
                   .List());
        }
コード例 #9
0
        private static BudgetConfiguration GetConfiguration(SessionContext context, SystemEnum systemID)
        {
            DateTime            today  = DateTime.Now;
            BudgetConfiguration config = context.PersistenceSession.QueryOver <BudgetConfiguration>()
                                         .Where(c => c.SystemID == systemID &&
                                                c.EffectivePeriod.From <= today && today <= c.EffectivePeriod.To)
                                         .SingleOrDefault();

            config.Session = context.PersistenceSession;
            return(config);
        }
コード例 #10
0
        public void GetSystemID_Test()
        {
            //Arrage
            SystemEnum sys = BudgetConfiguration.GetConfiguration(context).SystemID;

            //Act
            SystemEnum system = SystemEnum.RiskAssessmentAdminSystem;

            //Assert
            Assert.AreEqual(sys, system);
        }
コード例 #11
0
        // 获取RabbitMQ连接
        public static IConnection GetConnection(SystemEnum systemEnum)
        {
            var connUri = GetConnectionString(systemEnum);

            switch (systemEnum)
            {
            case SystemEnum.HCIS_HR:
                if (null == HcisHrConn)
                {
                    HcisHrConn = CreateConnection(connUri);
                }
                return(HcisHrConn);

            case SystemEnum.HCIS_Employee:
                if (null == HcisEmployeeConn)
                {
                    HcisEmployeeConn = CreateConnection(connUri);
                }
                return(HcisEmployeeConn);

            case SystemEnum.TMS:
                if (null == TmsConn)
                {
                    TmsConn = CreateConnection(connUri);
                }
                return(TmsConn);

            case SystemEnum.SIS:
                if (null == SisConn)
                {
                    SisConn = CreateConnection(connUri);
                }
                return(SisConn);

            case SystemEnum.UnityAccount:
                if (null == UnityAccountConn)
                {
                    UnityAccountConn = CreateConnection(connUri);
                }
                return(UnityAccountConn);

            case SystemEnum.SMS:
                if (null == SmsConn)
                {
                    SmsConn = CreateConnection(connUri);
                }
                return(SmsConn);

            default:
                throw new ArgumentOutOfRangeException("systemEnum", "SystemEnum传入了不存在的值");
            }
        }
コード例 #12
0
ファイル: DynamicMenu.cs プロジェクト: NiponJaiboon/RiskEval
 public static DynamicMenu Find(Context context, String url, SystemEnum system)
 {
     return(context.PersistenceSession
            .QueryOver <DynamicMenu>()
            .Where(m => m.SystemID == system)
            .WhereRestrictionOn(m => m.LinkURL)
            .IsInsensitiveLike(url)
            .SingleOrDefault());
     //return context.PersistenceSession.CreateCriteria<DynamicMenu>()
     //                .Add(Expression.InsensitiveLike("LinkURL", url))
     //                .Add(Expression.Eq("SystemID", SystemID))
     //                .UniqueResult<DynamicMenu>();
 }
コード例 #13
0
ファイル: DynamicMenu.cs プロジェクト: NiponJaiboon/RiskEval
 public static IList <DynamicMenu> GetTopMenus(Context context, SystemEnum system)
 {
     return(context.PersistenceSession
            .QueryOver <DynamicMenu>()
            .Where(m => m.SystemID == system && m.IsObsolete == false && m.IsTop == true)
            .OrderBy(m => m.SeqNo)
            .Asc()
            .List());
     //return context.PersistenceSession.CreateCriteria<DynamicMenu>()
     //            .Add(Expression.Eq("SystemID", (int)system))
     //            .Add(Expression.Eq("IsObsolete", false))
     //            .Add(Expression.Eq("IsTop", true))
     //            .AddOrder(Order.Asc("SeqNo"))
     //            .List<DynamicMenu>();
 }
コード例 #14
0
ファイル: User.cs プロジェクト: NiponJaiboon/RiskEval
        public static IList <User> ListEffective(Context context, SystemEnum applicationID)
        {
            IList <SystemUser> systemUsers = SystemUser.ListEffective(context, applicationID);
            IList <User>       users       = new List <User>();

            foreach (SystemUser su in systemUsers)
            {
                User user = su.User;
                if (!user.IsDisable && user.EffectivePeriod.IsEffective())
                {
                    users.Add(user);
                }
            }
            return(users);
        }
コード例 #15
0
ファイル: SystemUser.cs プロジェクト: NiponJaiboon/RiskEval
        public static SystemUser Find(Context context, SystemEnum applicationID, String userName)
        {
            IList <SystemUser> systemUsers = context.PersistenceSession.QueryOver <SystemUser>()
                                             .Where(u => u.SystemID == applicationID &&
                                                    u.User.LoginName == userName)
                                             .List();
            SystemUser sytemUser = null;

            foreach (SystemUser u in systemUsers)
            {
                if (u.User.Organization == context.SystemOwnerOrg)
                {
                    sytemUser = u;
                    break;
                }
            }
            return(sytemUser);
        }
コード例 #16
0
        public static AuthenState Authenticate(Context context, SystemEnum systemID, String IDCard, string FirstNameEn, ref User us)
        {
            AuthenState result = AuthenState.AuthenticationSuccess;

            IList <SelfAuthenticatedUser> users = context.PersistenceSession.QueryOver <SelfAuthenticatedUser>().List();
            IList <SelfAuthenticatedUser> user  = users.Where(s => s.LoginName.ToLowerInvariant() == FirstNameEn.ToLowerInvariant() &&
                                                              s.Person.OfficialIDNo == IDCard &&
                                                              s.UserRoles[0].Role.SystemID == systemID &&
                                                              !s.IsDisable &&
                                                              s.IsEffective).ToList();

            if (0 < user.Count)
            {
                if (user.Count != 1)
                {
                    throw new Exception("User have more than one. System error.");
                }

                if (!user[0].IsBuiltin)
                {
                    IList <iSabaya.UserSession> userSessions = context.PersistenceSession
                                                               .QueryOver <iSabaya.UserSession>()
                                                               .Where(u => u.User.ID == user[0].ID &&
                                                                      u.SessionPeriod.To == iSabaya.TimeInterval.MaxDate)
                                                               .List();

                    if (userSessions.Any(u => u.User.ID == user[0].ID))
                    {
                        result = AuthenState.AlreadyLogin;
                    }
                }

                us = user[0];
            }
            else
            {
                result = AuthenState.AuthenticationFail;
            }

            return(result);
        }
コード例 #17
0
ファイル: SystemUser.cs プロジェクト: NiponJaiboon/RiskEval
        public static SystemUser FindEffective(Context context, SystemEnum applicationID, String orgCode, String userName)
        {
            DateTime           now         = DateTime.Today;
            IList <SystemUser> systemUsers = context.PersistenceSession.QueryOver <SystemUser>()
                                             .Where(u => u.SystemID == applicationID &&
                                                    u.EffectivePeriod.From <= now &&
                                                    u.EffectivePeriod.To >= now &&
                                                    u.User.LoginName == userName)
                                             .List();
            SystemUser sytemUser = null;

            foreach (SystemUser u in systemUsers)
            {
                if (u.User.Organization.Code == orgCode)
                {
                    sytemUser = u;
                    break;
                }
            }
            return(sytemUser);
        }
コード例 #18
0
ファイル: ConnectionHelper.cs プロジェクト: taobaohi/demo
        private static void CreateConnection(string uri, SystemEnum systemEnum)
        {
            var factory = new ConnectionFactory
            {
                Uri = new Uri(uri),
                RequestedHeartbeat       = 60,
                AutomaticRecoveryEnabled = true
            };
            var conn = factory.CreateConnection("sis_subscription_service");

            conn.ConnectionShutdown += RabbitMqConnectionShutdownEvent;

            switch (systemEnum)
            {
            case SystemEnum.HCIS_HR:
                HcisHrConn = conn;
                break;

            case SystemEnum.TMS:
                TmsConn = conn;
                break;

            case SystemEnum.SIS:
                SisConn = conn;
                break;

            case SystemEnum.HCIS_Employee:
                HcisEmployeeConn = conn;
                break;

            case SystemEnum.UnityAccount:
                UnityAccountConn = conn;
                break;

            case SystemEnum.SMS:
                SMSConn = conn;
                break;
            }
        }
コード例 #19
0
ファイル: Role.cs プロジェクト: NiponJaiboon/RiskEval
 public static IList <Role> List(Context context, SystemEnum applicationID)
 {
     return(context.PersistenceSession.QueryOver <Role>()
            .Where(r => r.SystemID == applicationID)
            .List());
 }
コード例 #20
0
ファイル: iSystem.cs プロジェクト: NiponJaiboon/RiskEval
 public iSystem(SystemEnum systemID)
 {
     this.SystemID = systemID;
 }
コード例 #21
0
ファイル: iSystem.cs プロジェクト: NiponJaiboon/RiskEval
        //public iSystem(SystemEnum systemID, TakeSystemAndISessionFactoryReturnContextDelegate contextCreator)
        //{
        //    this.SystemID = systemID;
        //    this.ContextCreator = contextCreator;
        //}

        public iSystem(ISession session, SystemEnum systemID)
        {
            this.session  = session;
            this.SystemID = systemID;
        }
コード例 #22
0
 partial void OnSystemEnumChanging(SystemEnum value);
コード例 #23
0
        public static bool Send(string mailFrom, string mailTo, string mailCC, string mailBCC, string subject, string body, string attachment, bool isBodyHtml, EmailType emailType = EmailType.NoMaster, Stream attachmentstream = null, string fileExtension = null, string filename = null, bool istest = false, string testemail = "")
        {
            if (istest == true)
            {
                mailTo = testemail;
            }

            string str = string.Empty;

            System.Net.Mail.MailMessage mailMesg = new System.Net.Mail.MailMessage(mailFrom, mailTo);
            ////System.Net.Mail.MailMessage MailMesg = new System.Net.Mail.MailMessage(mailFrom, " [email protected]");

            if (mailCC != string.Empty)
            {
                string[] arrayMailCC = mailCC.Split(';');
                foreach (string email in arrayMailCC)
                {
                    if (email != string.Empty)
                    {
                        mailMesg.CC.Add(email);
                    }
                }
            }

            if (mailBCC != string.Empty)
            {
                mailBCC = mailBCC.Replace(";", ",");
                mailMesg.Bcc.Add(mailBCC);
            }

            if (attachmentstream != null)
            {
                if (fileExtension == SystemEnum.GetEnumDescription(typeof(SystemEnum.FileExtensionTypes), (int)SystemEnum.FileExtensionTypes.jpg))
                {
                    System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Image.Jpeg);
                    Attachment attach = new System.Net.Mail.Attachment(attachmentstream, ct);
                    attach.ContentDisposition.FileName = filename;
                    mailMesg.Attachments.Add(attach);
                }

                if (fileExtension == SystemEnum.GetEnumDescription(typeof(SystemEnum.FileExtensionTypes), (int)SystemEnum.FileExtensionTypes.pdf))
                {
                    System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Application.Pdf);
                    Attachment attach = new System.Net.Mail.Attachment(attachmentstream, ct);
                    attach.ContentDisposition.FileName = filename;
                    mailMesg.Attachments.Add(attach);
                }
            }

            ////if (!string.IsNullOrEmpty(attachment))
            ////{
            ////    string[] arrayAttachment = attachment.Split(';');
            ////    foreach (string attachFile in arrayAttachment)
            ////    {
            ////        try
            ////        {
            ////            System.Net.Mail.Attachment attach = new System.Net.Mail.Attachment(attachFile);
            ////            MailMesg.Attachments.Add(attach);
            ////        }
            ////        catch
            ////        { }
            ////    }
            ////}

            mailMesg.Subject    = subject;
            mailMesg.Body       = body;
            mailMesg.IsBodyHtml = isBodyHtml;

            var objSMTP = new SmtpClient
            {
                Host                  = System.Configuration.ConfigurationManager.AppSettings["Host"],
                Port                  = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Port"]),
                EnableSsl             = Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["EnableSsl"]),
                DeliveryMethod        = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials           = new NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["FromMail"], System.Configuration.ConfigurationManager.AppSettings["Password"])
            };

            try
            {
                ////var objSMTP1 = new SmtpClient
                ////{
                ////    Host = "smtp.gmail.com",
                ////    Port = 587,
                ////    EnableSsl =true,
                ////    DeliveryMethod = SmtpDeliveryMethod.Network,
                ////    UseDefaultCredentials = false,
                ////    Credentials = new NetworkCredential("*****@*****.**","sit@1234")
                ////};

                objSMTP.Send(mailMesg);
                return(true);
            }
            catch (Exception ex)
            {
                str = ex.Message;
                mailMesg.Dispose();
                mailMesg = null;
            }

            return(false);
        }
コード例 #24
0
 partial void OnSystemEnumChanging(SystemEnum value);
コード例 #25
0
        //public static int ApplicationID
        //{
        //    get
        //    {
        //        int applicationID = 0;
        //        int.TryParse(System.Configuration.ConfigurationManager.AppSettings["SystemID"], out applicationID);
        //        return applicationID;
        //    }
        //}

        public static void SetThisSystem(SystemEnum applicationID)
        {
            ThisSystem       = new iSystem(applicationID);
            ThisSystem.Title = System.Configuration.ConfigurationManager.AppSettings["ApplicationTitle"].ToString();
        }
コード例 #26
0
ファイル: SystemUser.cs プロジェクト: NiponJaiboon/RiskEval
 public static IList <SystemUser> List(Context context, SystemEnum applicationID)
 {
     return(context.PersistenceSession.QueryOver <SystemUser>()
            .Where(u => u.SystemID == applicationID)
            .List <SystemUser>());
 }
コード例 #27
0
 public ActionResult Index(SystemEnum systemenum = SystemEnum.Standard)
 {
     ViewBag.Enum = systemenum;
     return(View());
 }
コード例 #28
0
ファイル: UserService.cs プロジェクト: NiponJaiboon/RiskEval
        public static SelfAuthenticatedUser CreateSelfAuthenticatedUser(SystemEnum systemId, Member member, Organization org, string officialIDNo, string loginName, string languageCcode, string firstName, string lastName, string middleName, string emailAddress, string mobilePhone, string division, string position) //, string password)
        {
            SelfAuthenticatedUser selfAuthenticatedUser = new SelfAuthenticatedUser(systemId, member, org, officialIDNo, loginName, languageCcode, firstName, lastName, middleName, emailAddress, mobilePhone, position, division);

            return(selfAuthenticatedUser);
        }
コード例 #29
0
ファイル: ActivityLog.cs プロジェクト: NiponJaiboon/RiskEval
        protected static IList <UserSessionLog> GetActivityLogsByUserSessionID(BizPortalSessionContext context, long userSessionID, SystemEnum system, DateTime fromDate, DateTime toDate)
        {
            switch (system)
            {
            case SystemEnum.BankSystem:
                return(context.PersistenceSession.QueryOver <UserSessionLog>()
                       //.Where(u => u.UserSessionID == userSessionID &&
                       //        u.FunctionID != SystemFunctionID.UserLoginFailed &&
                       //        u.FunctionID != SystemFunctionID.UserLoginSuccess &&
                       //        u.FunctionID != SystemFunctionID.UserLogout &&
                       //        u.FunctionID != SystemFunctionID.UserFailledLoginAttemp &&
                       //        u.FunctionID != SystemFunctionID.UserSessionEndForcedLogout &&
                       //        u.FunctionID != SystemFunctionID.UserSessionEndTimeout
                       //        && fromDate <= u.Timestamp && u.Timestamp <= toDate)
                       //        .OrderBy(u => u.Timestamp).Desc
                       .List <UserSessionLog>());

            case SystemEnum.ClientSystem:
                return(context.PersistenceSession.QueryOver <UserSessionLog>()
                       //.Where(u => u.UserSessionID == userSessionID &&
                       //        u.FunctionID != SystemFunctionID.UserLoginFailed &&
                       //        u.FunctionID != SystemFunctionID.UserLoginSuccess &&
                       //        u.FunctionID != SystemFunctionID.UserLogout &&
                       //        u.FunctionID != SystemFunctionID.UserFailledLoginAttemp &&
                       //        u.FunctionID != SystemFunctionID.UserSessionEndForcedLogout &&
                       //        u.FunctionID != SystemFunctionID.UserSessionEndTimeout &&
                       //        u.FunctionID != SystemFunctionID.SendMessageToMAPIIFailed &&
                       //        u.FunctionID != SystemFunctionID.SendMessageToMAPIISSuccess &&
                       //        u.FunctionID != SystemFunctionID.MAPIIError &&
                       //        u.FunctionID != SystemFunctionID.OnePError
                       //        && fromDate <= u.Timestamp && u.Timestamp <= toDate)
                       //        .OrderBy(u => u.Timestamp).Desc
                       .List <UserSessionLog>());

            default:
                throw new Exception("Invalid System");
            }
        }
コード例 #30
0
ファイル: ActivityLog.cs プロジェクト: NiponJaiboon/RiskEval
        public static IList <ActivityLog> GetActivitiesLogs(BizPortalSessionContext context, Member member, SystemEnum system,
                                                            MemberUserGroup memberUserGroup, DateTime fromDate, DateTime toDate)
        {
            IList <ActivityLog> atLogs = new List <ActivityLog>();
            IList <UserSession> usLogs = new List <UserSession>();

            fromDate = (fromDate == DateTime.MinValue) ? TimeInterval.MinDate : fromDate.Date;
            toDate   = (toDate == DateTime.MinValue) ? TimeInterval.MaxDate : toDate.AddDays(1).Date;

            //usLogs = context.PersistenceSession.QueryOver<UserSession>()
            //    .Where(us => us.SystemID == Framework.BizPortalClientSystemID)
            //    .OrderBy(us => us.UserSessionID).Desc
            //    .List<UserSession>().AsParallel().ToList();

            if (memberUserGroup != null)
            {
                IList <UserGroupUser> mug        = memberUserGroup.GroupUsers.Where(gu => gu.EffectivePeriod != null).ToList();
                List <long>           listOfUser = mug.Select(ugu => ugu.User.ID).ToList();
                usLogs = context.PersistenceSession
                         .QueryOver <UserSession>()
                         .Where(us => us.User.ID.IsIn(listOfUser) &&
                                us.SessionPeriod.EffectiveDate >= fromDate &&
                                us.SessionPeriod.EffectiveDate < toDate)
                         .List <UserSession>();
            }
            else if (member != null)
            {
                List <long> listOfUser = member.MemberUsers.Select(mu => mu.ID).ToList();
                usLogs = context.PersistenceSession
                         .QueryOver <UserSession>()
                         .Where(us => us.User.ID.IsIn(listOfUser) &&
                                us.SessionPeriod.EffectiveDate >= fromDate &&
                                us.SessionPeriod.EffectiveDate < toDate)
                         .List <UserSession>();

                //usLogs = context.PersistenceSession.CreateCriteria<UserSession>()
                //    .Add(Expression.In("User.ID", listOfUser))
                //    .AddOrder(Order.Desc("UserSessionID"))
                //    .List<UserSession>();
            }
            else
            {
                usLogs = context.PersistenceSession
                         .QueryOver <UserSession>()
                         .Where(us => us.SystemID == SystemEnum.ClientSystem &&
                                us.SessionPeriod.EffectiveDate >= fromDate &&
                                us.SessionPeriod.EffectiveDate < toDate)
                         .List();

                //string queryString = "SELECT DISTINCT UserSessionID FROM UserSessionLog ";
                //queryString += "WHERE '" + fromDate.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture) + " 00:00:00' <= [Timestamp] ";
                //queryString += "AND [Timestamp] <= '" + toDate.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture) + " 00:00:00'";

                //var fffff = context.PersistenceSession.CreateSQLQuery(queryString).List();

                //usLogs = context.PersistenceSession.CreateCriteria<UserSession>()
                //    .Add(Expression.Eq("SystemID", Framework.BizPortalClientSystemID))
                //    .Add(Expression.In("UserSessionID", fffff))
                //    .AddOrder(Order.Desc("UserSessionID")).List<UserSession>();
            }

            foreach (UserSession us in usLogs)
            {
                IList <UserSessionLog> usls = GetActivityLogsByUserSessionID(context, us.ID, system, fromDate, toDate);
                foreach (UserSessionLog usl in usls)
                {
                    atLogs.Add(CreateActivityLog(context, us, usl));
                }
            }

            return(atLogs.OrderByDescending(at => at.Timestamp).ToList <ActivityLog>());
        }
コード例 #31
0
 public ActiveDirectoryUser(SystemEnum systemID, Organization organization, string officialIDNo, string loginName, string languageCode, string firstName, string lastName, string middleName, string emailAddress, string mobilePhone, string position, string division)
     : base(systemID, organization, officialIDNo, loginName, languageCode, firstName, lastName, middleName, emailAddress, mobilePhone)
     //: base(systemID, organization, officialIDNo, loginName, languageCode, firstName, lastName, middleName, emailAddress, mobilePhone, position, division)
 {
 }