/// <summary> /// 保存一篇文章(管理) /// </summary> /// <param name="mo"></param> /// <returns></returns> public ActionResultVM WriteAdminSave(UserWriting mo) { var vm = new ActionResultVM(); var uinfo = new UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var oldmo = db.UserWriting.FirstOrDefault(x => x.UwId == mo.UwId); if (oldmo != null) { oldmo.UwStatus = mo.UwStatus; oldmo.UwReplyNum = mo.UwReplyNum; oldmo.UwReadNum = mo.UwReadNum; oldmo.UwLaud = mo.UwLaud; oldmo.UwMark = mo.UwMark; oldmo.UwOpen = mo.UwOpen; db.UserWriting.Update(oldmo); int num = db.SaveChanges(); vm.Set(num > 0); } } return(vm); }
/// <summary> /// 保存一条回复(管理) /// </summary> /// <param name="mo"></param> /// <returns></returns> public ActionResultVM ReplyAdminSave(UserReply mo) { var vm = new ActionResultVM(); var uinfo = new UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var oldmo = db.UserReply.FirstOrDefault(x => x.UrId == mo.UrId); if (oldmo != null) { oldmo.UrAnonymousName = mo.UrAnonymousName; oldmo.UrAnonymousMail = mo.UrAnonymousMail; oldmo.UrAnonymousLink = mo.UrAnonymousLink; oldmo.UrStatus = mo.UrStatus; db.UserReply.Update(oldmo); int num = db.SaveChanges(); vm.Set(num > 0); } } return(vm); }
/// <summary> /// 用户 /// </summary> /// <param name="q"></param> /// <param name="page"></param> /// <returns></returns> public IActionResult Index(string q, int page = 1) { string id = RouteData.Values["id"]?.ToString(); if (string.IsNullOrWhiteSpace(id)) { return(Redirect("/doc")); } 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 UserAuthAid(HttpContext).Get(); var ps = Func.Common.DocQuery(q, uid, uinfo.UserId, page); ps.Route = Request.Path; ViewData["q"] = q; return(View("_PartialDocList", ps)); }
public ActionResultVM WriteDel(int id) { var vm = new ActionResultVM(); int uid = new 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 UserInfo() { var vm = new ActionResultVM(); try { var uinfo = new 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); ConsoleTo.Log(ex); } return(vm); }
public ActionResultVM UpdatePassword(string oldpwd, string newpwd) { var vm = new ActionResultVM(); int uid = new UserAuthAid(HttpContext).Get().UserId; using (var db = new ContextBase()) { var userinfo = db.UserInfo.Find(uid); if (userinfo.UserPwd == CalcTo.MD5(oldpwd)) { userinfo.UserPwd = CalcTo.MD5(newpwd); db.UserInfo.Update(userinfo); var num = db.SaveChanges(); vm.Set(num > 0); } else { vm.Set(ARTag.unauthorized); } }; return(vm); }
public ActionResultVM ListUserConn(int a) { var vm = new ActionResultVM(); int wid = Convert.ToInt32(RouteData.Values["id"]?.ToString()); var uinfo = new 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 = UniqueTo.LongId().ToString(), UconnAction = a, UconnCreateTime = DateTime.Now, UconnTargetId = wid.ToString(), UconnTargetType = 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 DelCatalog(string code, string id) { var vm = new ActionResultVM(); var uinfo = new UserAuthAid(HttpContext).Get(); using var db = new ContextBase(); var ds = db.DocSet.Find(code); if (ds?.Uid != uinfo.UserId) { vm.Set(ARTag.unauthorized); return(vm); } var listdsd = db.DocSetDetail.Where(x => x.DsCode == code && string.IsNullOrEmpty(x.DsdContentMd)).ToList(); var removelist = TreeTo.FindToTree(listdsd, "DsdPid", "DsdId", new List <string> { id }); removelist.Add(listdsd.Where(x => x.DsdId == id).FirstOrDefault()); db.DocSetDetail.RemoveRange(removelist); int num = db.SaveChanges(); vm.Set(num > 0); return(vm); }
public IActionResult Edit(string dsdid) { var code = RouteData.Values["id"]?.ToString(); var uinfo = new 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 IActionResult Setting() { var uinfo = new UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var mo = db.UserInfo.Find(uinfo.UserId); return(View(mo)); }; }
/// <summary> /// Run列表 /// </summary> /// <param name="q"></param> /// <param name="page"></param> /// <returns></returns> public IActionResult Index(string q, int page = 1) { var uinfo = new UserAuthAid(HttpContext).Get(); var ps = Func.Common.RunQuery(q, 0, uinfo.UserId, page); ps.Route = Request.Path; ViewData["q"] = q; return(View("_PartialRunList", ps)); }
public ActionResultVM Delete(string id) { var vm = new ActionResultVM(); try { if (string.IsNullOrWhiteSpace(id)) { vm.Set(ARTag.invalid); } else { var uinfo = new 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); ConsoleTo.Log(ex); } return(vm); }
public ActionResultVM WriteEditSave(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 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 <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); int num = db.SaveChanges(); vm.Set(num > 0); } } 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 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); ConsoleTo.Log(ex); } return(vm); }
public ActionResultVM Save(DocSetDetail mo) { var vm = new ActionResultVM(); var uinfo = new 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 = 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 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 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 = 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 ActionResultVM SaveCatalog(DocSetDetail mo) { var vm = new ActionResultVM(); var uinfo = new 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 IActionResult Catalog() { var code = RouteData.Values["id"]?.ToString(); var uinfo = new 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 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 = UniqueTo.LongId().ToString(); hc.Response.Headers.Add("X-Request-Id", requestid); //客户端信息 var ct = new ClientTo(hc); //用户信息 var userinfo = new UserAuthAid(hc).Get(); //日志保存 var mo = new LogsAid.LogsVM() { LogName = userinfo?.UserName, LogNickname = userinfo?.Nickname, LogRequestId = requestid, LogAction = controller + "/" + action, LogUrl = url, LogIp = ct.IPv4.Split(',')[0].Trim(), LogReferer = referer, LogCreateTime = DateTime.Now, LogBrowserName = ct.BrowserName, LogSystemName = ct.SystemName, LogGroup = 1, LogLevel = "info" }; mo.LogContent = DicDescription[mo.LogAction.ToLower()]; LogsAid.Insert(mo); } catch (Exception) { } base.OnActionExecuting(context); }
public IActionResult Setting() { string code = RouteData.Values["id"]?.ToString(); var uinfo = new UserAuthAid(HttpContext).Get(); using var db = new ContextBase(); var mo = db.DocSet.Find(code); if (mo.Uid == uinfo.UserId) { return(View("_PartialItemForm", mo)); } else { return(Content("unauthorized")); } }
public ActionResultVM UpdateUserSay(UserInfo mo) { var vm = new ActionResultVM(); var uinfo = new 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); }
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 PageVM() { Rows = Func.Common.ReplyOneQuery(EnumAid.ReplyType.UserWriting, wid.ToString(), pag), Pag = pag, Temp = uwo, Route = "/home/list/" + wid.ToString() }; if (User.Identity.IsAuthenticated) { var uinfo = new UserAuthAid(HttpContext).Get(); using var db = new ContextBase(); var listuc = db.UserConnection.Where(x => x.Uid == uinfo.UserId && x.UconnTargetType == 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 ActionResultVM ReplyList(string id, int page = 1) { var vm = new ActionResultVM(); try { var uinfo = new UserAuthAid(HttpContext).Get(); var pag = new PaginationVM { PageNumber = Math.Max(page, 1), PageSize = 10 }; var list = Func.Common.ReplyOneQuery(EnumAid.ReplyType.GuffRecord, id, pag); //匿名用户,生成邮箱MD5加密用于请求头像 foreach (var item in list) { if (item.Uid == 0 && !string.IsNullOrWhiteSpace(item.UrAnonymousMail)) { item.Spare3 = CalcTo.MD5(item.UrAnonymousMail); } } var pvm = new PageVM() { Rows = list, Pag = pag }; vm.data = pvm; vm.Set(ARTag.success); } catch (Exception ex) { vm.Set(ex); ConsoleTo.Log(ex); } return(vm); }
public IActionResult Del() { string code = RouteData.Values["id"]?.ToString(); var uinfo = new UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { var mo = db.DocSet.Find(code); if (mo.Uid == uinfo.UserId) { db.DocSet.Remove(mo); var moDetail = db.DocSetDetail.Where(x => x.DsCode == code).ToList(); db.DocSetDetail.RemoveRange(moDetail); db.SaveChanges(); return(Redirect("/doc/user/" + uinfo.UserId)); } } return(Content("Bad")); }
public ActionResultVM WriteOne(int id) { var vm = new ActionResultVM(); int uid = new 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(); vm.data = new { item = mo, tags = listTags }; vm.Set(ARTag.success); } return(vm); }
public IActionResult RidOAuth() { if (Enum.TryParse(RouteData.Values["id"]?.ToString().ToLower(), out AccountController.ValidateloginType vtype)) { int uid = new UserAuthAid(HttpContext).Get().UserId; using var db = new ContextBase(); var mo = db.UserInfo.Find(uid); switch (vtype) { case AccountController.ValidateloginType.qq: mo.OpenId1 = ""; break; case AccountController.ValidateloginType.weibo: mo.OpenId2 = ""; break; case AccountController.ValidateloginType.github: mo.OpenId3 = ""; break; case AccountController.ValidateloginType.taobao: mo.OpenId4 = ""; break; case AccountController.ValidateloginType.microsoft: mo.OpenId5 = ""; break; case AccountController.ValidateloginType.dingtalk: mo.OpenId6 = ""; break; } db.UserInfo.Update(mo); db.SaveChanges(); } return(Redirect("/user/setting")); }
public IActionResult Write(int?page) { var id = RouteData.Values["id"]?.ToString(); if (!string.IsNullOrWhiteSpace(id)) { int action = 1; if (id == "mark") { action = 2; } var uinfo = new UserAuthAid(HttpContext).Get(); var vm = Func.Common.UserConnWritingQuery(uinfo.UserId, EnumAid.ConnectionType.UserWriting, action, page ?? 1); vm.Route = Request.Path; vm.Other = id; return(View("_PartialViewWriting", vm)); } return(View()); }
public IActionResult Message(int page = 1) { int uid = new UserAuthAid(HttpContext).Get().UserId; var vm = Func.Common.MessageQuery(uid, EnumAid.MessageType.UserWriting, null, page); vm.Route = Request.Path; if (page == 1) { using var db = new ContextBase(); var listum = db.UserMessage.Where(x => x.UmType == EnumAid.MessageType.UserWriting.ToString() && x.UmAction == 2 && x.UmStatus == 1).ToList(); if (listum.Count > 0) { listum.ForEach(x => x.UmStatus = 2); db.UserMessage.UpdateRange(listum); db.SaveChanges(); } } return(View(vm)); }
public ActionResultVM SaveDocSet(DocSet mo) { var vm = new ActionResultVM(); var uinfo = new UserAuthAid(HttpContext).Get(); using (var db = new ContextBase()) { if (string.IsNullOrWhiteSpace(mo.DsCode)) { mo.DsCode = UniqueTo.LongId().ToString(); mo.Uid = uinfo.UserId; mo.DsStatus = 1; mo.DsCreateTime = DateTime.Now; db.DocSet.Add(mo); } else { var currmo = db.DocSet.Find(mo.DsCode); if (currmo.Uid != uinfo.UserId) { vm.Set(ARTag.unauthorized); } currmo.DsName = mo.DsName; currmo.DsRemark = mo.DsRemark; currmo.DsOpen = mo.DsOpen; currmo.Spare1 = mo.Spare1; db.DocSet.Update(currmo); } var num = db.SaveChanges(); vm.Set(num > 0); } return(vm); }
public IActionResult DelMessage() { var vm = new ActionResultVM(); var id = RouteData.Values["id"]?.ToString(); if (!string.IsNullOrWhiteSpace(id)) { var uinfo = new UserAuthAid(HttpContext).Get(); using var db = new ContextBase(); var um = db.UserMessage.Find(id); if (um == null) { vm.Set(ARTag.lack); } else if (um?.Uid != uinfo.UserId) { vm.Set(ARTag.unauthorized); } else { db.UserMessage.Remove(um); int num = db.SaveChanges(); vm.Set(num > 0); } } if (vm.code == 200) { return(Redirect("/user/message")); } else { return(Content(vm.ToJson())); } }