Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        /// <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));
        }
Beispiel #9
0
        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));
        }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        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);
        }
Beispiel #12
0
        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));
        }
Beispiel #13
0
        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));
            };
        }
Beispiel #14
0
        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);
        }
Beispiel #15
0
        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);
        }
Beispiel #16
0
        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);
        }
Beispiel #17
0
        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);
        }
Beispiel #18
0
        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);
        }
Beispiel #19
0
            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
                    };
                }
            }
Beispiel #20
0
        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);
        }
Beispiel #21
0
            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);
                    }
                }
            }
Beispiel #22
0
        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);
        }
Beispiel #23
0
        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());
        }
Beispiel #24
0
        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);
        }
Beispiel #25
0
            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);
            }
Beispiel #26
0
        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);
        }
Beispiel #27
0
        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"));
            }
        }
Beispiel #28
0
        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("/"));
            }
        }
Beispiel #29
0
            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
                    };
                }
            }
Beispiel #30
0
        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);
        }