public ActionResultVM QueryNoteOne(int id) { var vm = new ActionResultVM(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var mo = db.Notepad.Find(id); if (mo == null) { vm.Set(ARTag.invalid); } else if (mo.Uid == uinfo.UserId) { vm.Set(ARTag.success); vm.data = mo; } else { vm.Set(ARTag.unauthorized); } } return(vm); }
public ActionResultVM AddTag(string tagName) { var vm = new ActionResultVM(); if (string.IsNullOrWhiteSpace(tagName)) { vm.msg = "标签名不可为空值"; vm.code = -1; return(vm); } else { var uinfo = new Func.UserAuthAid(HttpContext).Get(); var now = DateTime.Now; Tags newtag = new Tags() { createTime = now, updateTime = now, TagName = tagName, TagOwner = uinfo.UserId, TagStatus = 1 }; _context.Tags.Add(newtag); int num = _context.SaveChanges(); vm.Set(num > 0); vm.data = newtag.TagName; } return(vm); }
public QueryDataOutputVM QueryNoteList(QueryDataInputVM ivm) { var ovm = new QueryDataOutputVM(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var query = from a in db.Notepad join b in db.UserInfo on a.Uid equals b.UserId orderby a.NoteCreateTime descending where a.Uid == uinfo.UserId select new Domain.Notepad { NoteId = a.NoteId, NoteTitle = a.NoteTitle, NoteCreateTime = a.NoteCreateTime, NoteUpdateTime = a.NoteUpdateTime, Uid = a.Uid, Spare3 = b.Nickname }; if (!string.IsNullOrWhiteSpace(ivm.pe1)) { query = query.Where(x => x.NoteTitle.Contains(ivm.pe1)); } Func.Common.QueryJoin(query, ivm, ref ovm); } return(ovm); }
public ActionResultVM UserInfo() { var vm = new ActionResultVM(); try { var uinfo = new Func.UserAuthAid(HttpContext).Get(); if (uinfo.UserId != 0) { vm.data = uinfo; vm.Set(ARTag.success); } else { vm.Set(ARTag.unauthorized); } } catch (Exception ex) { vm.Set(ex); Core.ConsoleTo.Log(ex); } return(vm); }
public ActionResultVM ListUserConn(int a) { var vm = new ActionResultVM(); int wid = Convert.ToInt32(RouteData.Values["id"]?.ToString()); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var uw = db.UserWriting.Find(wid); var uc = db.UserConnection.Where(x => x.Uid == uinfo.UserId && x.UconnTargetId == wid.ToString() && x.UconnAction == a).FirstOrDefault(); if (uc == null) { uc = new UserConnection() { UconnId = Core.UniqueTo.LongId().ToString(), UconnAction = a, UconnCreateTime = DateTime.Now, UconnTargetId = wid.ToString(), UconnTargetType = Func.EnumAid.ConnectionType.UserWriting.ToString(), Uid = uinfo.UserId }; db.UserConnection.Add(uc); if (a == 1) { uw.UwLaud += 1; } if (a == 2) { uw.UwMark += 1; } db.UserWriting.Update(uw); vm.data = "1"; } else { db.UserConnection.Remove(uc); if (a == 1) { uw.UwLaud -= 1; } if (a == 2) { uw.UwMark -= 1; } db.UserWriting.Update(uw); vm.data = "0"; } int num = db.SaveChanges(); vm.Set(num > 0); } return(vm); }
public ActionResultVM WriteDel(int id) { var vm = new ActionResultVM(); int uid = new Func.UserAuthAid(HttpContext).Get().UserId; using (var db = new ContextBase()) { var mo1 = db.UserWriting.Where(x => x.Uid == uid && x.UwId == id).FirstOrDefault(); if (mo1.UwStatus == -1) { vm.Set(ARTag.unauthorized); } else { db.UserWriting.Remove(mo1); var mo2 = db.UserWritingTags.Where(x => x.UwId == id).ToList(); db.UserWritingTags.RemoveRange(mo2); var mo3 = db.UserReply.Where(x => x.UrTargetId == id.ToString()).ToList(); db.UserReply.RemoveRange(mo3); vm.Set(db.SaveChanges() > 0); } } return(vm); }
public ActionResultVM UpdatePassword(string oldpwd, string newpwd) { var vm = new ActionResultVM(); int uid = new Func.UserAuthAid(HttpContext).Get().UserId; using (var db = new ContextBase()) { var userinfo = db.UserInfo.Find(uid); if (userinfo.UserPwd == Core.CalcTo.MD5(oldpwd)) { userinfo.UserPwd = Core.CalcTo.MD5(newpwd); db.UserInfo.Update(userinfo); var num = db.SaveChanges(); vm.Set(num > 0); } else { vm.Set(ARTag.unauthorized); } }; return(vm); }
/// <summary> /// 用户 /// </summary> /// <param name="q"></param> /// <param name="lang"></param> /// <param name="page"></param> /// <returns></returns> public IActionResult Index(string q, string lang, int page = 1) { string id = RouteData.Values["id"]?.ToString(); if (string.IsNullOrWhiteSpace(id)) { return(Redirect("/gist")); } int uid = Convert.ToInt32(id); using (var db = new ContextBase()) { var mu = db.UserInfo.Find(uid); if (mu == null) { return(Content("Account is empty")); } ViewData["Nickname"] = mu.Nickname; } var uinfo = new Func.UserAuthAid(HttpContext).Get(); var ps = Func.Common.GistQuery(q, lang, uid, uinfo.UserId, page); ps.Route = Request.Path; ViewData["lang"] = lang; ViewData["q"] = q; return(View("_PartialGistList", ps)); }
public IActionResult Edit(string dsdid) { var code = RouteData.Values["id"]?.ToString(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var ds = db.DocSet.Find(code); if (ds?.Uid != uinfo.UserId) { return(Content("unauthorized")); } } var mo = new DocSetDetail { DsCode = code }; if (!string.IsNullOrWhiteSpace(dsdid)) { using var db = new ContextBase(); mo = db.DocSetDetail.Where(x => x.DsdId == dsdid).FirstOrDefault(); } return(View(mo)); }
public ActionResultVM Detail(string id) { var vm = new ActionResultVM(); try { if (string.IsNullOrWhiteSpace(id)) { vm.Set(ARTag.invalid); } else { var ctype = Func.EnumAid.ConnectionType.GuffRecord.ToString(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using var db = new ContextBase(); var query = from a in db.GuffRecord join b in db.UserInfo on a.Uid equals b.UserId join c in db.UserConnection.Where(x => x.UconnTargetType == ctype && x.UconnAction == 1 && x.Uid == uinfo.UserId) on a.GrId equals c.UconnTargetId into cg from c1 in cg.DefaultIfEmpty() where a.GrId == id select new { a, c1.UconnTargetId, b.Nickname }; var qm = query.FirstOrDefault(); if (qm == null) { vm.Set(ARTag.invalid); } else { if (qm.a.GrOpen == 1 || uinfo.UserId == qm.a.Uid) { qm.a.Spare1 = string.IsNullOrEmpty(qm.UconnTargetId) ? "" : "laud"; qm.a.Spare2 = (uinfo.UserId == qm.a.Uid) ? "owner" : ""; qm.a.Spare3 = qm.Nickname; vm.data = qm.a; vm.Set(ARTag.success); } else { vm.Set(ARTag.unauthorized); } } } } catch (Exception ex) { vm.Set(ex); Core.ConsoleTo.Log(ex); } return(vm); }
public ActionResultVM SaveRun(Blog.Data.Models.Run mo) { var vm = new ActionResultVM(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { //add if (string.IsNullOrWhiteSpace(mo.RunCode)) { mo.RunId = Guid.NewGuid().ToString(); mo.RunCreateTime = DateTime.Now; mo.RunStatus = 1; mo.RunOpen = 1; mo.Uid = uinfo.UserId; mo.RunCode = UniqueTo.LongId().ToString(); db.Run.Add(mo); int num = db.SaveChanges(); vm.data = mo.RunCode; vm.Set(num > 0); } else { var oldmo = db.Run.Where(x => x.RunCode == mo.RunCode).FirstOrDefault(); if (oldmo != null) { if (oldmo.Uid == uinfo.UserId) { oldmo.RunContent1 = mo.RunContent1; oldmo.RunContent2 = mo.RunContent2; oldmo.RunContent3 = mo.RunContent3; oldmo.RunRemark = mo.RunRemark; oldmo.RunTheme = mo.RunTheme; db.Run.Update(oldmo); int num = db.SaveChanges(); vm.data = mo.RunCode; vm.Set(num > 0); } else { vm.Set(ARTag.refuse); } } else { vm.Set(ARTag.invalid); } } } return(vm); }
public IActionResult Index(string q, int page = 1) { var uinfo = new Func.UserAuthAid(HttpContext).Get(); var ps = Func.Common.DocQuery(q, 0, uinfo.UserId, page); ps.Route = Request.Path; ViewData["q"] = q; return(View("_PartialDocList", ps)); }
public IActionResult Setting() { var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var mo = db.UserInfo.Find(uinfo.UserId); return(View(mo)); }; }
public ActionResultVM WriteEditSave(Domain.UserWriting mo, int UwId, string TagIds) { var vm = new ActionResultVM(); var lisTagId = new List <int>(); TagIds.Split(',').ToList().ForEach(x => lisTagId.Add(Convert.ToInt32(x))); var lisTagName = Func.Common.TagsQuery().Where(x => lisTagId.Contains(x.TagId)).ToList(); int uid = new Func.UserAuthAid(HttpContext).Get().UserId; using (var db = new ContextBase()) { var oldmo = db.UserWriting.Where(x => x.Uid == uid && x.UwId == UwId).FirstOrDefault(); if (oldmo.UwStatus == -1) { vm.Set(ARTag.unauthorized); } else if (oldmo != null) { oldmo.UwTitle = mo.UwTitle; oldmo.UwCategory = mo.UwCategory; oldmo.UwContentMd = mo.UwContentMd; oldmo.UwContent = mo.UwContent; oldmo.UwUpdateTime = DateTime.Now; db.UserWriting.Update(oldmo); var wt = db.UserWritingTags.Where(x => x.UwId == UwId).ToList(); db.UserWritingTags.RemoveRange(wt); var listwt = new List <Domain.UserWritingTags>(); foreach (var tag in lisTagId) { var wtmo = new Domain.UserWritingTags { UwId = mo.UwId, TagId = tag, TagName = lisTagName.Where(x => x.TagId == tag).FirstOrDefault().TagName }; listwt.Add(wtmo); } db.UserWritingTags.AddRange(listwt); int num = db.SaveChanges(); vm.Set(num > 0); } } return(vm); }
public ActionResultVM WriteSave(UserWriting mo, string TagIds) { var vm = new ActionResultVM(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var lisTagId = new List <int>(); TagIds.Split(',').ToList().ForEach(x => lisTagId.Add(Convert.ToInt32(x))); var lisTagName = Func.Common.TagsQuery().Where(x => lisTagId.Contains(x.TagId)).ToList(); mo.Uid = uinfo.UserId; mo.UwCreateTime = DateTime.Now; mo.UwUpdateTime = mo.UwCreateTime; mo.UwLastUid = mo.Uid; mo.UwLastDate = mo.UwCreateTime; mo.UwReplyNum = 0; mo.UwReadNum = 0; mo.UwOpen = 1; mo.UwLaud = 0; mo.UwMark = 0; mo.UwStatus = 1; db.UserWriting.Add(mo); db.SaveChanges(); var listwt = new List <UserWritingTags>(); foreach (var tag in lisTagId) { var wtmo = new UserWritingTags { UwId = mo.UwId, TagId = tag, TagName = lisTagName.Where(x => x.TagId == tag).FirstOrDefault().TagName }; listwt.Add(wtmo); } db.UserWritingTags.AddRange(listwt); //标签热点+1 var listTagId = listwt.Select(x => x.TagId.Value); var listTags = db.Tags.Where(x => listTagId.Contains(x.TagId)).ToList(); listTags.ForEach(x => x.TagHot += 1); db.Tags.UpdateRange(listTags); int num = db.SaveChanges(); vm.Set(num > 0); } return(vm); }
public ActionResultVM Delete(string id) { var vm = new ActionResultVM(); try { if (string.IsNullOrWhiteSpace(id)) { vm.Set(ARTag.invalid); } else { var uinfo = new Func.UserAuthAid(HttpContext).Get(); if (uinfo.UserId != 0) { using var db = new ContextBase(); var mo = db.GuffRecord.Find(id); if (mo == null) { vm.Set(ARTag.invalid); } else { if (mo.Uid != uinfo.UserId) { vm.Set(ARTag.unauthorized); } else if (mo.GrStatus == -1) { vm.Set(ARTag.refuse); } else { db.Remove(mo); int num = db.SaveChanges(); vm.Set(num > 0); } } } else { vm.Set(ARTag.unauthorized); } } } catch (Exception ex) { vm.Set(ex); Core.ConsoleTo.Log(ex); } return(vm); }
public ActionResultVM List(string category, string q, int uid, string nv, string tag, string obj, int page = 1) { var vm = new ActionResultVM(); try { //所属用户 var OwnerId = 0; if (uid != 0) { OwnerId = uid; } var uinfo = new Func.UserAuthAid(HttpContext).Get(); if (new List <string> { "me", "melaud", "mereply" }.Contains(category)) { if (uinfo.UserId == 0) { vm.Set(ARTag.unauthorized); } else { if (category == "me") { OwnerId = uinfo.UserId; } var pvm = Func.Common.GuffQuery(category, q, nv, tag, obj, OwnerId, uinfo.UserId, page); vm.data = pvm; vm.Set(ARTag.success); } } else { var pvm = Func.Common.GuffQuery(category, q, nv, tag, obj, OwnerId, uinfo.UserId, page); vm.data = pvm; vm.Set(ARTag.success); } } catch (Exception ex) { vm.Set(ex); Core.ConsoleTo.Log(ex); } return(vm); }
public ActionResultVM Save(DocSetDetail mo) { var vm = new ActionResultVM(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var ds = db.DocSet.Find(mo.DsCode); if (ds?.Uid != uinfo.UserId) { vm.Set(ARTag.unauthorized); } else { mo.DsdUpdateTime = DateTime.Now; mo.Uid = uinfo.UserId; if (string.IsNullOrWhiteSpace(mo.DsdPid)) { mo.DsdPid = Guid.Empty.ToString(); } if (!mo.DsdOrder.HasValue) { mo.DsdOrder = 99; } if (string.IsNullOrWhiteSpace(mo.DsdId)) { mo.DsdId = Core.UniqueTo.LongId().ToString(); mo.DsdCreateTime = mo.DsdUpdateTime; db.DocSetDetail.Add(mo); } else { //查询原创建时间 var currmo = db.DocSetDetail.AsNoTracking().FirstOrDefault(x => x.DsdId == mo.DsdId); mo.DsdCreateTime = currmo.DsdCreateTime; db.DocSetDetail.Update(mo); } int num = db.SaveChanges(); vm.Set(num > 0); vm.data = mo.DsdId; } } return(vm); }
public void OnActionExecuting(ActionExecutingContext context) { var mo = new Func.UserAuthAid(context.HttpContext).Get(); if (mo.UserId == 0) { context.Result = new ContentResult() { Content = "unauthorized", StatusCode = 401 }; } }
public ActionResultVM SaveNote(Notepad mo) { var vm = new ActionResultVM(); if (string.IsNullOrWhiteSpace(mo.NoteTitle) || string.IsNullOrWhiteSpace(mo.NoteContent)) { vm.Set(ARTag.lack); } else { var uinfo = new Func.UserAuthAid(HttpContext).Get(); using var db = new ContextBase(); var now = DateTime.Now; if (mo.NoteId == 0) { mo.NoteCreateTime = now; mo.NoteUpdateTime = now; mo.Uid = uinfo.UserId; db.Notepad.Add(mo); int num = db.SaveChanges(); vm.Set(num > 0); vm.data = mo.NoteId; } else { var currmo = db.Notepad.Find(mo.NoteId); if (currmo.Uid == uinfo.UserId) { currmo.NoteTitle = mo.NoteTitle; currmo.NoteContent = mo.NoteContent; currmo.NoteUpdateTime = now; db.Notepad.Update(currmo); int num = db.SaveChanges(); vm.Set(num > 0); } else { vm.Set(ARTag.unauthorized); } } } return(vm); }
public void OnAuthorization(AuthorizationFilterContext context) { //验证登录标记是最新,不是则注销登录(即同一用户不允许同时在线,按缓存时间生效) if (context.HttpContext.User.Identity.IsAuthenticated) { var uinfo = new Func.UserAuthAid(context.HttpContext).Get(); string ServerSign = HelpFuncTo.GetLogonSign(uinfo.UserId); if (uinfo.UserSign != ServerSign) { context.HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); } } }
public string WriteList(string sort, string order, int page = 1, int rows = 30, string pe1 = null) { string result = string.Empty; var pag = new PaginationVM { PageNumber = page, PageSize = rows }; int uid = new Func.UserAuthAid(HttpContext).Get().UserId; using var db = new ContextBase(); var query = from a in db.UserWriting where a.Uid == uid select new { a.UwId, a.UwTitle, a.UwCreateTime, a.UwUpdateTime, a.UwReadNum, a.UwReplyNum, a.UwOpen, a.UwStatus, a.UwLaud, a.UwMark, a.UwCategory }; if (!string.IsNullOrWhiteSpace(pe1)) { query = query.Where(x => x.UwTitle.Contains(pe1)); } query = Fast.QueryableTo.OrderBy(query, sort, order); pag.Total = query.Count(); var list = query.Skip((pag.PageNumber - 1) * pag.PageSize).Take(pag.PageSize).ToList(); result = new { data = list, total = pag.Total }.ToJson(); return(result); }
public IActionResult Catalog() { var code = RouteData.Values["id"]?.ToString(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var ds = db.DocSet.Find(code); if (ds?.Uid != uinfo.UserId) { return(Content("unauthorized")); } } return(View()); }
public ActionResultVM SaveCatalog(DocSetDetail mo) { var vm = new ActionResultVM(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using var db = new ContextBase(); var ds = db.DocSet.Find(mo.DsCode); if (ds?.Uid != uinfo.UserId) { vm.Set(ARTag.unauthorized); return(vm); } mo.DsdOrder ??= 99; mo.DsdUpdateTime = DateTime.Now; if (string.IsNullOrWhiteSpace(mo.DsdPid)) { mo.DsdPid = Guid.Empty.ToString(); } if (string.IsNullOrWhiteSpace(mo.DsdId)) { mo.DsdId = Guid.NewGuid().ToString(); mo.DsdCreateTime = mo.DsdUpdateTime; mo.Uid = uinfo.UserId; db.DocSetDetail.Add(mo); } else { var currmo = db.DocSetDetail.Where(x => x.DsdId == mo.DsdId).FirstOrDefault(); currmo.DsdTitle = mo.DsdTitle; currmo.DsdOrder = mo.DsdOrder; currmo.DsdPid = mo.DsdPid; db.DocSetDetail.Update(currmo); } int num = db.SaveChanges(); vm.Set(num > 0); return(vm); }
public override void OnActionExecuting(ActionExecutingContext context) { //日志 try { var hc = context.HttpContext; string controller = context.RouteData.Values["controller"].ToString().ToLower(); string action = context.RouteData.Values["action"].ToString().ToLower(); string url = hc.Request.Path.ToString() + hc.Request.QueryString.Value; var referer = hc.Request.Headers["referer"].ToString(); var requestid = Core.UniqueTo.LongId().ToString(); hc.Response.Headers.Add("_qid", requestid); //客户端信息 var ct = new Core.ClientTo(hc); //用户信息 var userinfo = new Func.UserAuthAid(hc).Get(); //日志保存 var mo = new Func.LogsAid.LogsVM() { LogName = userinfo?.UserName, LogNickname = userinfo?.Nickname, LogRequestId = requestid, LogAction = controller + "/" + action, LogUrl = url, LogIp = ct.IPv4, LogReferer = referer, LogCreateTime = DateTime.Now, LogBrowserName = ct.BrowserName, LogSystemName = ct.SystemName, LogGroup = 1, LogLevel = "info" }; mo.LogContent = DicDescription[mo.LogAction.ToLower()]; Func.LogsAid.Insert(mo); } catch (Exception) { } base.OnActionExecuting(context); }
public string WriteOne(int id) { string result = string.Empty; int uid = new Func.UserAuthAid(HttpContext).Get().UserId; using (var db = new ContextBase()) { var mo = db.UserWriting.Where(x => x.Uid == uid && x.UwId == id).FirstOrDefault(); var listTags = db.UserWritingTags.Where(x => x.UwId == id).ToList(); result = new { item = mo, tags = listTags }.ToJson(); } return(result); }
public IActionResult Setting() { string code = RouteData.Values["id"]?.ToString(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using var db = new ContextBase(); var mo = db.DocSet.Find(code); if (mo.Uid == uinfo.UserId) { return(View(mo)); } else { return(Content("unauthorized")); } }
public IActionResult List(int page = 1) { if (int.TryParse(RouteData.Values["Id"]?.ToString(), out int wid)) { var uwo = Func.Common.UserWritingOneQuery(wid); if (uwo == null) { return(Redirect("/")); } var pag = new PaginationVM { PageNumber = Math.Max(page, 1), PageSize = 10 }; var vm = new PageSetVM() { Rows = Func.Common.ReplyOneQuery(Func.EnumAid.ReplyType.UserWriting, wid.ToString(), pag), Pag = pag, Temp = uwo, Route = "/home/list/" + wid.ToString() }; if (User.Identity.IsAuthenticated) { var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var listuc = db.UserConnection.Where(x => x.Uid == uinfo.UserId && x.UconnTargetType == Func.EnumAid.ConnectionType.UserWriting.ToString() && x.UconnTargetId == wid.ToString()).ToList(); ViewData["uca1"] = listuc.Any(x => x.UconnAction == 1) ? "yes" : ""; ViewData["uca2"] = listuc.Any(x => x.UconnAction == 2) ? "yes" : ""; } } return(View(vm)); } else { return(Redirect("/")); } }
public void OnActionExecuting(ActionExecutingContext context) { bool isv = false; if (context.HttpContext.User.Identity.IsAuthenticated) { var uinfo = new Func.UserAuthAid(context.HttpContext).Get(); isv = uinfo.UserId == GlobalTo.GetValue <int>("AdminId"); } if (!isv) { context.Result = new ContentResult() { Content = "unauthorized", StatusCode = 401 }; } }
public ActionResultVM UpdateUserSay(Domain.UserInfo mo) { var vm = new ActionResultVM(); var uinfo = new Func.UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var currmo = db.UserInfo.Find(uinfo.UserId); currmo.UserSay = mo.UserSay; db.UserInfo.Update(currmo); int num = db.SaveChanges(); vm.Set(num > 0); } return(vm); }