public async Task <IActionResult> GetCommentByPostId(long postId, int pageIndex = 1, int pageDataCount = 5)
        {
            ListModel <ListPostCommentDTO> Comments = await CommentSvc.GetByPostIdAsync(postId, pageIndex, pageDataCount);

            if (Comments == null)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = CommentSvc.ErrorMsg
                }));
            }
            List <long> userIds = Comments.Datas.Select(e => e.CommentUserId).ToList();
            var         users   = await UserSvc.GetByIdsAsync(userIds);

            if (users == null)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = UserSvc.ErrorMsg
                }));
            }
            PostDetailCommentModel model = new PostDetailCommentModel();

            model.Comments   = Comments.Datas;
            model.TotalCount = Comments.TotalCount;
            model.Users      = users;
            return(Json(new AjaxResult {
                Status = "ok", Data = model
            }));
        }
        public static void ConfigureApp(RegistrationApp app, string eventNamespace, string eventAssembly)
        {
            var settings = ConnectionSettings.Create()
                           .SetDefaultUserCredentials(new UserCredentials("admin", "changeit"))
                           .KeepReconnecting()
                           .KeepRetrying()
                           //.UseConsoleLogger()
                           .Build();
            var conn = EventStoreConnection.Create(settings, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1113));

            conn.ConnectAsync().Wait();


            var repo = new SimpleRepo(conn, eventNamespace, eventAssembly);

            var userRm = new RegisteredUsers(() => conn, repo.Deserialize);

            var mainBus = new SimpleBus();

            var userSvc = new UserSvc(repo);

            mainBus.Subscribe <RegisterUser>(userSvc);
            mainBus.Subscribe <ChangeName>(userSvc);

            //application wire up
            //app.CommandPublisher = mainBus;
            //userRm.Subscribe(app.DisplayUsers);
            //start
            userRm.Start();
        }
        public async Task <IActionResult> LoadUserSendPost(int pageIndex, int pageDataCount)
        {
            long userId = Convert.ToInt64(HttpContext.Session.GetString(ConstList.USERID));
            var  user   = await UserSvc.GetByIdAsync(userId);

            var posts = await PostSvc.GetByUserIdAsync(userId, pageIndex, pageDataCount);

            if (posts == null)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = PostSvc.ErrorMsg
                }));
            }
            List <long> looks   = new List <long>();
            var         postIds = posts.Datas.Select(e => e.Id).ToList();

            foreach (var item in postIds)
            {
                long look = await RedisHelper.IncrByAsync("post_" + item, 0);

                looks.Add(look);
            }
            return(Json(new AjaxResult {
                Status = "ok", Data = new { Posts = posts, LookCounts = looks }
            }));
        }
Beispiel #4
0
        public ActionResult Add(UserAddModel model)
        {
            if (!ModelState.IsValid)
            {
                string msg = mvchelper.GetValiMsg(ModelState);
                return(Json(new AjaxResult {
                    status = "error", errorMsg = msg
                }));
            }
            //服务器端的校验必不可少
            bool exists = UserSvc.GetByPhoneNum(model.phonenum) != null;

            if (exists)
            {
                return(Json(new AjaxResult
                {
                    status = "error",
                    errorMsg = "手机号已经存在"
                }));
            }

            long userId = UserSvc.AddUser(model.account, model.nickname,
                                          model.phonenum, model.gender, model.password, model.email);

            UserRoleSvc.AddUserRole(userId, model.RoleIds);
            //roleService.AddRoleIds(userId, model.RoleIds);
            return(Json(new AjaxResult {
                status = "ok"
            }));
        }
Beispiel #5
0
        public ActionResult EditPersonal(EditPersonalModel model)
        {
            var  userid = UserHelper.GetUserId(HttpContext);
            long gid    = GuideUserSvc.GetGid((long)userid);
            bool isok   = UserSvc.UpdateUser((long)userid, model.nickname, model.phonenum, model.gender, model.password, model.email);

            if (gid == null)
            {
                if (isok)
                {
                    return(Json(new AjaxResult {
                        status = "ok"
                    }));
                }
                return(Json(new AjaxResult {
                    status = "error", errorMsg = "保存失败"
                }));
            }

            bool issuccess = GuideSvc.UpdateGuide(gid, model.school, model.intro);

            if (issuccess && isok)
            {
                return(Json(new AjaxResult {
                    status = "ok"
                }));
            }
            return(Json(new AjaxResult {
                status = "error", errorMsg = "保存失败"
            }));
        }
Beispiel #6
0
 public ActionResult Recovery(long id)
 {
     UserSvc.RecoveryDeleted(id);
     return(Json(new AjaxResult {
         status = "ok"
     }));
 }
        public async Task <IActionResult> Message()
        {
            long userId = Convert.ToInt64(HttpContext.Session.GetString(ConstList.USERID));
            var  user   = await UserSvc.GetByIdAsync(userId);

            return(View(user));
        }
Beispiel #8
0
        /// <summary>
        /// 我的路线(针对导游)
        /// </summary>
        /// <returns></returns>
        public ActionResult MyLines(long userid)
        {
            var user    = UserSvc.GetById((long)userid);//user表
            var roleids = UserRoleSvc.GetById(user.Id);
            int i       = Array.IndexOf(roleids, 6);

            if (i == -1)
            {
                return(Redirect("~/Guide/RegisterGuide"));
            }
            else
            {
                var guide = GuideSvc.GetByUid(user.Id);
                var lids  = GuidLinesSvc.GetLid(guide.Id);
                var lines = LineSvc.GetByLids(lids);

                var            uids  = GuideUserSvc.GetUid(guide.Id);
                List <UserDTO> users = new List <UserDTO>();
                //List<OrderUserDTO> ou = new List<OrderUserDTO>();
                foreach (var id in uids)
                {
                    users.Add(UserSvc.GetById(id));
                }
                LinesAndUser model = new LinesAndUser();

                //ViewBag.Time=
                model.Line       = lines;
                model.User       = users.ToArray();
                ViewBag.phonenum = user.PhoneNum;
                ViewBag.gid      = guide.Id;
                return(View(model));
            }
        }
Beispiel #9
0
 public ActionResult Delete(long id)
 {
     UserSvc.MarkDeleted(id);
     return(Json(new AjaxResult {
         status = "ok"
     }));
 }
        public async Task <IActionResult> List(int pageIndex = 1, int pageDataCount = 10)
        {
            var pers = await PostSvc.GetAdminWebPageDataAsync(pageIndex, pageDataCount);

            if (pers == null)
            {
                return(Content(PostSvc.ErrorMsg));
            }
            List <long> userIds = pers.Datas.Select(e => e.UserId).ToList();
            var         users   = await UserSvc.GetByIdsAsync(userIds);

            AdminWebListPostModel model = new AdminWebListPostModel();

            model.Posts      = pers.Datas;
            model.TotalCount = pers.TotalCount;
            model.Users      = users;

            NoRainPage page = new NoRainPage();

            page.DataCount = pers.TotalCount;
            page.PageIndex = pageIndex;
            page.Url       = "/Post/List?pageIndex=@parms";
            model.Page     = page.GetPaging();
            return(View(model));
        }
Beispiel #11
0
        /// <summary>
        /// 个人资料
        /// </summary>
        /// <returns></returns>
        public ActionResult personinformation()
        {
            long userid = (long)UserHelper.GetUserId(HttpContext);
            var  user   = UserSvc.GetById(userid);

            personViewModel model = new personViewModel();

            model.account  = user.Account;
            model.phonenum = user.PhoneNum;
            model.nickname = user.NickName;
            model.gender   = user.Gender;
            model.email    = user.Email;

            long guideid = GuideUserSvc.GetGid(userid);
            var  guide   = GuideSvc.GetById(guideid);

            if (guide != null)
            {
                model.allschool = schoolSvc.GetAll();
                model.school    = guide.school;
                model.intro     = guide.intro;
            }

            ViewBag.guideid  = guide;
            ViewBag.phonenum = user.PhoneNum;
            return(View(model));
        }
Beispiel #12
0
 public ActionResult Edit(UserEditModel model)
 {
     UserSvc.UpdateUser(model.id, model.nickname, model.phonenum
                        , model.gender, model.password, model.email);
     UserRoleSvc.AddUserRole(model.id, model.RoleIds);
     return(Json(new AjaxResult {
         status = "ok"
     }));
 }
Beispiel #13
0
        public ActionResult AddLines(long gid)
        {
            ViewBag.gid = gid;
            var user = UserSvc.GetById(UserHelper.GetUserId(HttpContext).Value);

            ViewBag.phonenum = user.PhoneNum;
            //ViewBag.lid = GuideLineSvc.GetLid(gid);
            return(View());
        }
Beispiel #14
0
 public ActionResult BatchRecovery(long[] selectedIds)
 {
     foreach (long id in selectedIds)
     {
         UserSvc.RecoveryDeleted(id);
     }
     return(Json(new AjaxResult {
         status = "ok"
     }));
 }
Beispiel #15
0
        public ActionResult Index(int page = 1)
        {
            var user      = UserSvc.GetById(UserHelper.GetUserId(HttpContext).Value);
            int count     = 0;
            int totalpage = 0;
            var guide     = LineSvc.Page(page, out count, out totalpage);

            ViewData["totalpage"] = totalpage;
            ViewBag.phonenum      = user.PhoneNum;
            return(View(guide));
        }
        /// <summary>
        /// Constructor
        /// </summary>
        public ApiBaseController()
        {
            //Inicializa instancia de Mapper
            mapper = AutoMapperConfig.Instance.MapperConfiguration.CreateMapper();

            userSvc      = IoC.Resolve <UserSvc>();
            userGroupSvc = IoC.Resolve <UserGroupSvc>();
            userRoleSvc  = IoC.Resolve <UserRoleSvc>();
            newsSvc      = IoC.Resolve <NewsSvc>();
            newsSentSvc  = IoC.Resolve <NewsSentSvc>();
        }
Beispiel #17
0
        public ActionResult Edit(int id)
        {
            var guide = GuideSvc.GetById(id);
            var user  = UserSvc.GetById(guide.Users_Id);
            GuideEditViewModel model = new GuideEditViewModel();

            model.guide   = guide;
            model.Account = user.Account;
            model.email   = user.Email;
            return(View(model));
        }
Beispiel #18
0
        /// <summary>
        /// 首页
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            var user  = UserSvc.GetById(UserHelper.GetUserId(HttpContext).Value);
            var Lines = LineSvc.GetByFour();
            var model = new LinesAndTime();

            model.Lines      = Lines;
            model.Now        = DateTime.Now;
            ViewBag.phonenum = user.PhoneNum;

            return(View(model));
        }
Beispiel #19
0
        public ActionResult Info(long id)
        {
            var   user      = UserSvc.GetById(UserHelper.GetUserId(HttpContext).Value);
            var   lines     = LineSvc.GetByLid(id);
            var   linesinfo = LineInfoSvc.GetById(id);
            LInfo model     = new LInfo();

            model.Lines      = lines;
            model.LineInfo   = linesinfo;
            ViewBag.phonenum = user.PhoneNum;
            return(View(model));
        }
Beispiel #20
0
        public ActionResult Edit(long id)
        {
            var user                = UserSvc.GetById(id);
            var roles               = roleService.GetAll();
            var userRoles           = roleService.GetByUserId(id);//获得用户拥有的角色
            UserEditViewModel model = new UserEditViewModel();

            model.User        = user;
            model.UserRoleIds = userRoles.Select(r => r.Id).ToArray();
            model.Roles       = roles;
            return(View(model));
        }
Beispiel #21
0
        public ActionResult Index(string search, int page = 1)
        {
            int count     = 0;
            int totalpage = 0;
            var guide     = GuideSvc.GetTitle(search, page, out count, out totalpage);
            var user      = UserSvc.GetById(UserHelper.GetUserId(HttpContext).Value);

            ViewBag.nickname      = user.NickName;
            ViewBag.phonenum      = user.PhoneNum;
            ViewData["totalpage"] = totalpage;
            return(View(guide));
        }
        public async Task <IActionResult> Index(RegisterModel model)
        {
            if (!string.IsNullOrEmpty(HttpContext.Session.GetString(ConstList.USERID)))
            {
                return(Json(new AjaxResult {
                    Status = "redirect", Data = "/User/Home"
                }));
            }
            if (TempData[ConstList.EMAILVALIDCODE] == null)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "验证码过期"
                }));
            }
            if (TempData[ConstList.REGISTERORFOUNDPASSEMAIL] == null)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "表单过期"
                }));
            }
            string email     = (string)TempData[ConstList.REGISTERORFOUNDPASSEMAIL];
            string emailCode = (string)TempData[ConstList.EMAILVALIDCODE];

            TempData[ConstList.EMAILVALIDCODE]           = null;
            TempData[ConstList.REGISTERORFOUNDPASSEMAIL] = null;
            if (!emailCode.Equals(model.EmailCode, StringComparison.InvariantCultureIgnoreCase))
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "验证码错误"
                }));
            }
            if (!email.Equals(model.Email, StringComparison.InvariantCultureIgnoreCase))
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "邮箱不一致"
                }));
            }
            AddUserModel addUser = new AddUserModel();

            addUser.Email    = model.Email;
            addUser.Gender   = model.Gender;
            addUser.NickName = model.NickName;
            addUser.Password = model.Password;
            if (await UserSvc.AddNewAsync(addUser) < 1)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = UserSvc.ErrorMsg
                }));
            }
            return(Json(new AjaxResult {
                Status = "ok"
            }));
        }
Beispiel #23
0
        /// <summary>
        /// 个人中心
        /// </summary>
        /// <returns></returns>
        public ActionResult Center()
        {
            var           user   = UserSvc.GetById((long)UserHelper.GetUserId(HttpContext));
            var           ids    = OrderUserSvc.GetById(user.Id).LastOrDefault();
            var           orders = OrderSvc.GetById(ids);
            UserOrderInfo info   = new UserOrderInfo();

            info.user        = user;
            info.orders      = orders;
            ViewBag.phonenum = user.PhoneNum;
            ViewBag.userid   = UserHelper.GetUserId(HttpContext);
            ViewBag.IsGuide  = new UserService().IsGuide((long)Session["LoginUserId"]);
            return(View(info));
        }
        public void Login([DataBind("loginInfo")]LoginInfo loginInfo)
        {
            bool isValid = new UserSvc().IsValidUser(loginInfo.Email, loginInfo.Password);

            if (isValid)
            {
                ApplicationSecurityContext applicationSecurityContext = HttpContext.Application["securityContext"] as ApplicationSecurityContext;
                UserSecurityContext userSecurityContext = new UserSecurityContext(loginInfo.Email, applicationSecurityContext);
                this.Context.Session["userSecurityContext"] = userSecurityContext;
                this.Context.Session["userSecurityPrincipal"] = new Principal(userSecurityContext);
                this.Redirect(loginInfo.RedirectUrl);
                return;
            }

            this.PropertyBag["loginInfo"] = loginInfo;
        }
        public async Task <IActionResult> Detail(long postId)
        {
            ListContentPostDTO post;
            ListUserDTO        user;
            string             postCache = await RedisHelper.GetAsync($"postDetail_{postId}");

            string userCache = await RedisHelper.GetAsync($"user_{postId}");

            if (!string.IsNullOrEmpty(postCache) && !string.IsNullOrEmpty(userCache))
            {
                post = JsonConvert.DeserializeObject <ListContentPostDTO>(postCache);
                user = JsonConvert.DeserializeObject <ListUserDTO>(userCache);
            }
            else
            {
                post = await PostSvc.GetByIdAsync(postId);

                user = await UserSvc.GetByIdAsync(post.UserId);

                if (post == null)
                {
                    return(Json(new AjaxResult {
                        Status = "redirect", Data = "/Error/Error404"
                    }));
                }
                if (user == null)
                {
                    return(Json(new AjaxResult {
                        Status = "error", Data = UserSvc.ErrorMsg
                    }));
                }
                await RedisHelper.SetAsync($"postDetail_{postId}", post);

                await RedisHelper.SetAsync($"user_{postId}", user);
            }
            long count = await RedisHelper.IncrByAsync("post_" + postId);

            PostDetailModel model = new PostDetailModel();

            model.Post      = post;
            model.User      = user;
            model.LookCount = count;

            return(Json(new AjaxResult {
                Status = "ok", Data = model
            }));
        }
Beispiel #26
0
        // GET: Examine
        public ActionResult GuideList()
        {
            var            guides = GuideSvc.GetByshenhe();
            List <UserDTO> list   = new List <UserDTO>();

            foreach (var item in guides)
            {
                var userid = item.Users_Id;
                var user   = UserSvc.GetById(userid);
                list.Add(user);
            }
            GuideListViewModel model = new GuideListViewModel();

            model.guide = guides;
            model.users = list.ToArray();
            return(View(model));
        }
Beispiel #27
0
        //
        // GET: /Guide/
        public ActionResult List()
        {
            var            guide = GuideSvc.GetAll().Where(e => e.shenhe == true).ToArray();
            List <UserDTO> list  = new List <UserDTO>();

            foreach (var item in guide)
            {
                var userid = item.Users_Id;
                var user   = UserSvc.GetById(userid);
                list.Add(user);
            }
            GuideListViewModel model = new GuideListViewModel();

            model.guide = guide;
            model.users = list.ToArray();
            return(View(model));
        }
        public async Task <IActionResult> Comment(AddCommentModel model)
        {
            long userId = Convert.ToInt64(HttpContext.Session.GetString(ConstList.USERID));

            model.CommentUserId = userId;
            var replyUserId = await UserSvc.GetByIdAsync(model.ReplyUserId);

            if (replyUserId == null)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "您所回复的用户不存在"
                }));
            }
            if (await CommentSvc.AddNewAsync(model) < 1)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = CommentSvc.ErrorMsg
                }));
            }
            ListUserDTO commentUser = await UserSvc.GetByIdAsync(userId);

            ListContentPostDTO post;

            if (RedisHelper.Exists($"postDetail_{model.PostId}"))
            {
                post = JsonConvert.DeserializeObject <ListContentPostDTO>(await RedisHelper.GetAsync($"postDetail_{model.PostId}"));
            }
            else
            {
                post = await PostSvc.GetByIdAsync(model.PostId);

                await RedisHelper.SetAsync($"postDetail_{model.PostId}", post);
            }
            MessageModel msg = new MessageModel();

            msg.CommentUserName = commentUser.NickName;
            msg.PostId          = model.PostId;
            msg.ReplyUserId     = model.ReplyUserId;
            msg.PostTitle       = post.Title;
            await RedisHelper.SAddAsync($"msg_{model.ReplyUserId}", msg);

            return(Json(new AjaxResult {
                Status = "ok"
            }));
        }
        /// <summary>
        /// 修改默认语言
        /// </summary>
        /// <returns></returns>
        public ActionResult ChangeLanguage(string language)
        {
            ExceResult res     = new ExceResult();
            string     guid    = Session["CurrentUserGuid"].ToString();
            bool       rResult = new UserSvc().ChangeLanguage(guid, language);

            if (rResult)
            {
                res.success         = true;
                Session["Language"] = language;
            }
            else
            {
                res.success = false;
                res.msg     = "保存附件异常";
            }
            return(Content(Newtonsoft.Json.JsonConvert.SerializeObject(res)));
        }
        public async Task <IActionResult> Home(long userId)
        {
            var user = await UserSvc.GetByIdAsync(userId);

            if (user == null)
            {
                return(Json(new AjaxResult
                {
                    Data = "/Error/Error404" +
                           "",
                    Status = "redirect"
                }));
            }
            var posts = await PostSvc.GetQuestionPostByUserIdAsync(user.Id);

            var comments = await CommentSvc.GetByCommentUserIdAsync(userId);

            if (posts == null || comments == null)
            {
                return(Json(new AjaxResult
                {
                    Data = "/Error/Error500" +
                           "",
                    Status = "redirect"
                }));
            }
            ListUserHomeModel model = new ListUserHomeModel();
            var postIds             = posts.Select(e => e.Id).ToList();

            foreach (var item in postIds)
            {
                long look = await RedisHelper.IncrByAsync("post_" + item, 0);

                model.LookCount.Add(look);
            }

            model.Comments = comments;
            model.Posts    = posts;
            return(Json(new AjaxResult
            {
                Data = model,
                Status = "ok"
            }));
        }
        public async Task <IActionResult> FoundPassword(FoundPasswordModel model)
        {
            if (TempData[ConstList.EMAILVALIDCODE] == null)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "验证码过期"
                }));
            }
            if (TempData[ConstList.REGISTERORFOUNDPASSEMAIL] == null)
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "表单过期"
                }));
            }
            string email     = (string)TempData[ConstList.REGISTERORFOUNDPASSEMAIL];
            string emailCode = (string)TempData[ConstList.EMAILVALIDCODE];

            TempData[ConstList.EMAILVALIDCODE] = null;
            if (!emailCode.Equals(model.EmailCode, StringComparison.InvariantCultureIgnoreCase))
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "验证码错误"
                }));
            }
            if (!email.Equals(model.Email, StringComparison.InvariantCultureIgnoreCase))
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = "邮箱不一致"
                }));
            }
            RePasswordModel pass = new RePasswordModel();

            pass.Email       = model.Email;
            pass.NewPassword = model.NewPassword;
            if (!await UserSvc.EditPasswordAsync(pass))
            {
                return(Json(new AjaxResult {
                    Status = "error", ErrorMsg = UserSvc.ErrorMsg
                }));
            }
            return(Json(new AjaxResult {
                Status = "ok"
            }));
        }