Esempio n. 1
0
        /*--------------登录-----------*/
        public CommonOutputT <user> logon(string name, string password, string IC, string face)
        {
            RDDataContext        rd         = new RDDataContext();
            CommonOutputT <user> returnData = new CommonOutputT <user>();
            loginLog             log        = new loginLog();

            if (!String.IsNullOrEmpty(IC))
            {
                IQueryable <user> x = from a in rd.user
                                      where IC == a.IC
                                      select a;
                if (x.Count() != 0)
                {
                    log.id     = Guid.NewGuid().ToString();
                    log.isOK   = "success";
                    log.time   = DateTime.Now.ToString("");
                    log.userID = x.FirstOrDefault().id;

                    rd.loginLog.InsertOnSubmit(log);
                    rd.SubmitChanges();
                    returnData.success = true;
                    returnData.message = "success";
                    returnData.data    = x.FirstOrDefault();
                    rd.Dispose(); return(returnData);
                }
                return(returnData);
            }
            if (!String.IsNullOrEmpty(face))
            {
                IQueryable <user> x = from a in rd.user
                                      where face == a.face
                                      select a;
                if (x.Count() != 0)
                {
                    log.id     = Guid.NewGuid().ToString();
                    log.isOK   = "success";
                    log.time   = DateTime.Now.ToString("");
                    log.userID = x.FirstOrDefault().id;
                    rd.loginLog.InsertOnSubmit(log);
                    rd.SubmitChanges();
                    returnData.success = true;
                    returnData.message = "success";
                    returnData.data    = x.FirstOrDefault();
                    rd.Dispose(); return(returnData);
                }
                return(returnData);
            }
            if (!String.IsNullOrEmpty(name) && !String.IsNullOrEmpty(password))
            {
                IQueryable <user> x = from a in rd.user
                                      where (name == a.name && password == a.password)
                                      select a;
                if (x.Count() != 0)
                {
                    log.id     = Guid.NewGuid().ToString();
                    log.isOK   = "success";
                    log.time   = DateTime.Now.ToString("");
                    log.userID = x.FirstOrDefault().id;
                    rd.loginLog.InsertOnSubmit(log);
                    rd.SubmitChanges();
                    returnData.success = true;
                    returnData.message = "success";
                    returnData.data    = x.FirstOrDefault();
                    rd.Dispose(); return(returnData);
                }
                return(returnData);
            }
            else
            {
                returnData.success = false;
                returnData.message = "账号为空,请重新登录!";
                rd.Dispose(); return(returnData);
            }
        }
        public static List<loginLog> GetLoginLogDetail(string userName, string roleName, DateTime dateFrom, DateTime dateTo)
        {
            List<loginLog> resloginLog = new List<loginLog>();
               loginLog objloginLogGet = null;

               if (dateFrom == Convert.ToDateTime("01/01/1900") && dateTo == Convert.ToDateTime("01/01/1900"))
               {
               var result = from userLock in DbContextHelper.DbContext.SecLoginLog
                            join user in DbContextHelper.DbContext.SecUser on userLock.UserId equals user.UserId
                            join role in DbContextHelper.DbContext.SecRole on user.RoleId equals role.RoleId
                            where (user.UserName == (userName == string.Empty ? user.UserName : userName)
                            || role.RoleName == (userName == string.Empty ? role.RoleName : userName))
                            orderby user.UserId
                            select new
                            {
                                UserName = user.UserName,
                                RoleName = role.RoleName,
                                UserId = userLock.UserId,
                                LoginTime = userLock.LoginTime,
                                LogoutTime = userLock.LogoutTime,
                                Sucess = userLock.Sucess
                            };

               foreach (var get in result)
               {
                   objloginLogGet = new loginLog();

                   objloginLogGet.UserId = (int?)get.UserId;
                   objloginLogGet.UserName = get.UserName;
                   objloginLogGet.RoleName = get.RoleName;
                   objloginLogGet.LoginTime = get.LoginTime;
                   objloginLogGet.LogoutTime = get.LogoutTime;
                   resloginLog.Add(objloginLogGet);
               }
               }
               else
               {
               string DateFrom = dateFrom.ToShortDateString();
               var dtf=dateFrom.ToShortDateString();
               //DateTime dtf = new DateTime(Convert.ToInt32(DateFrom.Substring(6, 4)), Convert.ToInt32(DateFrom.Substring(3, 2)), Convert.ToInt32(DateFrom.Substring(0, 2)));
               DateTime rangeStart = new DateTime(dateFrom.Year, dateFrom.Month, dateFrom.Day, 0, 0, 0);
               DateTime rangeEnd = new DateTime(dateTo.Year, dateTo.Month, dateTo.Day, 23, 59, 59);

               var result = from userLock in DbContextHelper.DbContext.SecLoginLog
                            join user in DbContextHelper.DbContext.SecUser on userLock.UserId equals user.UserId
                            join role in DbContextHelper.DbContext.SecRole on user.RoleId equals role.RoleId
                            where (user.UserName == (userName == string.Empty ? user.UserName : userName)
                            || role.RoleName == (userName == string.Empty ? role.RoleName : userName))
                            && userLock.LoginTime >= rangeStart
                            && userLock.LogoutTime <= rangeEnd
                            //&& userLock.LogoutTime >= dateFrom
                            //&& userLock.LogoutTime <= dateTo
                            orderby user.UserId
                            select new
                            {
                                UserName = user.UserName,
                                RoleName = role.RoleName,
                                UserId = userLock.UserId,
                                LoginTime = userLock.LoginTime,
                                LogoutTime = userLock.LogoutTime,
                                Sucess = userLock.Sucess
                            };

               foreach (var get in result)
               {
                   objloginLogGet = new loginLog();

                   objloginLogGet.UserId = (int?)get.UserId;
                   objloginLogGet.UserName = get.UserName;
                   objloginLogGet.RoleName = get.RoleName;
                   objloginLogGet.LoginTime = get.LoginTime;
                   objloginLogGet.LogoutTime = get.LogoutTime;
                   resloginLog.Add(objloginLogGet);
               }
               }

               return resloginLog;
        }
        public static List <loginLog> GetLoginLogDetail(string userName, string roleName, DateTime dateFrom, DateTime dateTo)
        {
            List <loginLog> resloginLog    = new List <loginLog>();
            loginLog        objloginLogGet = null;

            if (dateFrom == Convert.ToDateTime("01/01/1900") && dateTo == Convert.ToDateTime("01/01/1900"))
            {
                var result = from userLock in DbContextHelper.DbContext.SecLoginLog
                             join user in DbContextHelper.DbContext.SecUser on userLock.UserId equals user.UserId
                             join role in DbContextHelper.DbContext.SecRole on user.RoleId equals role.RoleId
                             where (user.UserName == (userName == string.Empty ? user.UserName : userName) ||
                                    role.RoleName == (userName == string.Empty ? role.RoleName : userName))
                             orderby user.UserId
                             select new
                {
                    UserName   = user.UserName,
                    RoleName   = role.RoleName,
                    UserId     = userLock.UserId,
                    LoginTime  = userLock.LoginTime,
                    LogoutTime = userLock.LogoutTime,
                    Sucess     = userLock.Sucess
                };

                foreach (var get in result)
                {
                    objloginLogGet = new loginLog();


                    objloginLogGet.UserId     = (int?)get.UserId;
                    objloginLogGet.UserName   = get.UserName;
                    objloginLogGet.RoleName   = get.RoleName;
                    objloginLogGet.LoginTime  = get.LoginTime;
                    objloginLogGet.LogoutTime = get.LogoutTime;
                    resloginLog.Add(objloginLogGet);
                }
            }
            else
            {
                string DateFrom = dateFrom.ToShortDateString();
                var    dtf      = dateFrom.ToShortDateString();
                //DateTime dtf = new DateTime(Convert.ToInt32(DateFrom.Substring(6, 4)), Convert.ToInt32(DateFrom.Substring(3, 2)), Convert.ToInt32(DateFrom.Substring(0, 2)));
                DateTime rangeStart = new DateTime(dateFrom.Year, dateFrom.Month, dateFrom.Day, 0, 0, 0);
                DateTime rangeEnd   = new DateTime(dateTo.Year, dateTo.Month, dateTo.Day, 23, 59, 59);

                var result = from userLock in DbContextHelper.DbContext.SecLoginLog
                             join user in DbContextHelper.DbContext.SecUser on userLock.UserId equals user.UserId
                             join role in DbContextHelper.DbContext.SecRole on user.RoleId equals role.RoleId
                             where (user.UserName == (userName == string.Empty ? user.UserName : userName) ||
                                    role.RoleName == (userName == string.Empty ? role.RoleName : userName)) &&
                             userLock.LoginTime >= rangeStart &&
                             userLock.LogoutTime <= rangeEnd
                             //&& userLock.LogoutTime >= dateFrom
                             //&& userLock.LogoutTime <= dateTo
                             orderby user.UserId
                             select new
                {
                    UserName   = user.UserName,
                    RoleName   = role.RoleName,
                    UserId     = userLock.UserId,
                    LoginTime  = userLock.LoginTime,
                    LogoutTime = userLock.LogoutTime,
                    Sucess     = userLock.Sucess
                };

                foreach (var get in result)
                {
                    objloginLogGet = new loginLog();


                    objloginLogGet.UserId     = (int?)get.UserId;
                    objloginLogGet.UserName   = get.UserName;
                    objloginLogGet.RoleName   = get.RoleName;
                    objloginLogGet.LoginTime  = get.LoginTime;
                    objloginLogGet.LogoutTime = get.LogoutTime;
                    resloginLog.Add(objloginLogGet);
                }
            }


            return(resloginLog);
        }