using Longbow.Web.Mvc; using PetaPoco; using System; using System.Collections.Generic; namespace Bootstrap.DataAccess { /// /// /// [TableName("LoginLogs")] public class LoginUser { /// /// /// public string Id { get; set; } /// /// /// public string UserName { get; set; } /// /// /// public DateTime LoginTime { get; set; } /// /// /// public string Ip { get; set; } /// /// /// public string Browser { get; set; } /// /// /// public string OS { get; set; } /// /// /// public string City { get; set; } /// /// /// public string Result { get; set; } /// /// /// public string UserAgent { get; set; } /// /// /// /// /// public virtual bool Log(LoginUser user) { var db = DbManager.Create(); db.Save(user); return true; } /// /// /// /// /// /// /// /// public virtual Page RetrieveByPages(PaginationOption po, DateTime? startTime, DateTime? endTime, string ip) { var sql = new Sql("select UserName, LoginTime, Ip, Browser, OS, City, Result from LoginLogs"); if (startTime.HasValue) sql.Where("LoginTime >= @0", startTime.Value); if (endTime.HasValue) sql.Where("LoginTime < @0", endTime.Value.AddDays(1)); if (!string.IsNullOrEmpty(ip)) sql.Where("ip = @0", ip); sql.OrderBy($"{po.Sort} {po.Order}"); return DbManager.Create().Page(po.PageIndex, po.Limit, sql); } /// /// 获取所有登录数据 /// /// public virtual IEnumerable RetrieveAll(DateTime? startTime, DateTime? endTime, string ip) { var sql = new Sql("select UserName, LoginTime, Ip, Browser, OS, City, Result from LoginLogs"); if (startTime.HasValue) sql.Where("LoginTime >= @0", startTime.Value); if (endTime.HasValue) sql.Where("LoginTime < @0", endTime.Value.AddDays(1)); if (!string.IsNullOrEmpty(ip)) sql.Where("ip = @0", ip); sql.OrderBy($"LoginTime"); return DbManager.Create().Fetch(sql); } } }