public void AddBookComment(BookCommentDto commentDto)
        {
            _bookRepository.Add(QsMapper.CreateMap <BookCommentDto, BookComment>(commentDto));
            _bookRepository.UnitOfWork.Commit();
            IncreaseCommentNumsOf("Book", commentDto.BookId);
            var sb   = new StringBuilder();
            var type = string.Empty;

            switch (commentDto.ReadStatus)
            {
            case (ReadStatus.Wish):
            {
                break;
            }

            case (ReadStatus.Reading):
            {
                break;
            }

            case (ReadStatus.Already):
            {
                break;
            }
            }
            if (commentDto.ReadStatus != ReadStatus.Wish && commentDto.Score > 0)
            {
            }
        }
Beispiel #2
0
        public ActionResult Personal([Bind(Exclude = "RealName, StuNumber, Identification")] AcntWithoutPsw userAcnt)
        {
            var result = new QsResult {
                Success = false
            };

            if (ModelState.IsValid)
            {
                var userInCookie = CustomAuthorizeAttribute.GetUser();
                if (userAcnt.UserId != userInCookie.UserId)
                {
                    result.Message = @"请不要尝试修改您不允许改动的内容";
                    return(Json(result));
                }
                var original = _userService.GetUserById(userInCookie.UserId);
                if (TryUpdateModel(original, null, null, new [] { "RealName", "StuNumber", "Identification", "Roles" }))
                {
                    _userService.UpdateUserInformation(original);
                    SafeOutAuthCookie();
                    SetAuthCookie(QsMapper.CreateMap <UserDto, UserSafetyModel>(original));
                    result.Success = true;
                    return(Json(result));
                }
            }
            return(Json(result));
        }
Beispiel #3
0
        public ActionResult Confirmation(AccountModel model)
        {
            var userDto = CustomAuthorizeAttribute.GetUser();

            if (ModelState.IsValid)
            {
                var initUser = _userService.GetUserById(userDto.UserId);
                if (TryUpdateModel(initUser, null, null, new[] { "UserId", "RealName", "StuNumber", "Identification", "State", "PhotoUrl", "Roles" }))
                {
                    if (initUser.State == UserState.Activated || initUser.State == UserState.Retire)
                    {
                        ModelState.AddModelError("duplicate", @"用户的状态出现错误:" + initUser.State);
                    }
                    else
                    {
                        //将用户状态设为激活状态,此种情况下才能执行查看其他页面
                        initUser.State = UserState.Activated;
                        if (!String.IsNullOrEmpty(model.Password))
                        {
                            initUser.Password = Utilities.MD5(model.Password);
                        }
                        _userService.UpdateUserInformation(initUser);
                        SafeOutAuthCookie();
                        SetAuthCookie(QsMapper.CreateMap <UserDto, UserSafetyModel>(initUser));
                        return(Content("<script>alert('填写成功!');window.location='/Account/ProfileDetail'</script>"));
                    }
                }
            }
            BindSelectListDataSource((int)userDto.Gender);
            return(View(model));
        }
        public void AddUser(UserDto userDto)
        {
            User user = QsMapper.CreateMap <UserDto, User>(userDto);

            _userRepository.Add(user);
            _userRepository.UnitOfWork.Commit();
        }
Beispiel #5
0
        public ActionResult _Personal()
        {
            var user = CustomAuthorizeAttribute.GetUser();

            BindSelectListDataSource((int)user.Gender);
            var result = _userService.GetUserById(user.UserId);

            return(PartialView(QsMapper.CreateMap <UserDto, AcntWithoutPsw>(result)));
        }
        public UserDto GetUserByStuNumber(string stuNumber)
        {
            if (String.IsNullOrWhiteSpace(stuNumber))
            {
                throw new ArgumentNullException(Message.warning_InvalidArgumentForFindUsers);
            }
            var currentUser = _userRepository.FirstOrDefault(e => e.StuNumber.Equals(stuNumber));

            return(currentUser == null ? null : QsMapper.CreateMap <User, UserDto>(currentUser));
        }
        public UserDto GetUserFindPassword(string realName, string email)
        {
            if (string.IsNullOrEmpty(realName) || string.IsNullOrEmpty(email))
            {
                return(null);
            }
            var user = _userRepository.FirstOrDefault(m => m.RealName.Equals(realName) && m.Email.Equals(email));

            return(QsMapper.CreateMap <User, UserDto>(user));
        }
 public ActionResult Preregistration(ReserveModel model)
 {
     if (ModelState.IsValid)
     {
         _reservationService.AddReservation(QsMapper.CreateMap <ReserveModel, ReservationDto>(model));
         TempData["Message"] = "您的预约信息已成功提交,索子会在2到3个工作日内处理,接下来将电话邀约核实,期间请保持通讯工具畅通";
         return(RedirectToAction("Preregistration"));
     }
     return(View(model));
 }
        public OutMsg UpdateUserInformation(int id, UserDto userDto)
        {
            if (userDto == null)
            {
                throw new ArgumentException(Message.warning_CannotAddUserWithNullInformation);
            }

            var currentUser = _userRepository.Get(id);
            var updateUser  = QsMapper.CreateMap <UserDto, User>(userDto);

            return(this.UpdateUser(currentUser, updateUser));
        }
        public ActionResult Login(LoginModel model)
        {
            model.ValidateCode = model.ValidateCode.ToLower();

            if (Session["ValidateCode"].ToString() != model.ValidateCode)
            {
                ModelState.AddModelError("ValidateCode", @"验证码错误");
                model.Password     = String.Empty;
                model.ValidateCode = String.Empty;
                return(View(model));
            }
            var result = _userService.CheckUserInLogin(model.NameOrNumber, Utilities.MD5(model.Password));

            if (!result.Success)
            {
                ModelState.AddModelError(result.Message.Contains("用户") ? "NameOrNumber" : "Password", result.Message);
                model.Password     = String.Empty;
                model.ValidateCode = String.Empty;
                return(View(model));
            }
            var user = _userService.GetUserById(Convert.ToInt32(result.Message));
            var temp = QsMapper.CreateMap <UserDto, UserSafetyModel>(user);

            temp.RememberMe = model.RememberMe;
            //首先去除先前的登陆信息
            SafeOutAuthCookie();
            SetAuthCookie(temp);

            //记录入登录日志中

            var ip           = QsRequest.GetIp();
            var computerName = QsRequest.GetDnsSafeHost();
            var platform     = Request.Browser.Platform;
            var userAgent    = Request.UserAgent;

            _userService.RecordUserLogin(temp.UserId, temp.UserName, ip, computerName, platform, userAgent);
            //结束记录

            if (user.State == UserState.Nonactivated)
            {
                return(RedirectToAction("Confirmation"));
            }
            //被限制要登录的页面会在url上带上上一访问的页面
            //FormsAuthentication.RedirectFromLoginPage(user.UserName, model.RememberMe);
            //return new EmptyResult();

            if (!String.IsNullOrEmpty(model.ReturnUrl))
            {
                return(Redirect(HttpUtility.UrlDecode(model.ReturnUrl)));
            }
            return(RedirectToAction("dashuiguai", "Home"));
        }
Beispiel #11
0
        public bool ChangePhotoDetail(Guid photoId, PhotoDto updatedPhotoDto)
        {
            var original = _photoRepository.Get(photoId);
            var recent   = QsMapper.CreateMap <PhotoDto, Photo>(updatedPhotoDto);

            if (original != null && recent != null)
            {
                _photoRepository.Merge(original, recent);
                _photoRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
Beispiel #12
0
        public bool ChangeMyMessageDescription(Int64 myMessageId, MyMessageDto updatedMyMessageDto)
        {
            var original = _myMessageRepository.Get(myMessageId);
            var recent   = QsMapper.CreateMap <MyMessageDto, Core.Module.MyMessage>(updatedMyMessageDto);

            if (original != null && recent != null)
            {
                _myMessageRepository.Merge(original, recent);
                _myMessageRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
        public bool ChangeAtlasDetail(Guid atlasId, AtlasDto updatedAtlasDto)
        {
            var original = _atlasRepository.Get(atlasId);
            var recent   = QsMapper.CreateMap <AtlasDto, Atlas>(updatedAtlasDto);

            if (original != null && recent != null)
            {
                _atlasRepository.Merge(original, recent);
                _atlasRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
Beispiel #14
0
        public bool ChangeArticleDescription(Int64 articleId, ArticleDto updatedArticleDto)
        {
            var original = _articleRepository.Get(articleId);
            var recent   = QsMapper.CreateMap <ArticleDto, Article>(updatedArticleDto);

            if (original != null && recent != null)
            {
                _articleRepository.Merge(original, recent);
                _articleRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
        public bool ChangeBookDetail(long bookId, BookDto updatedBookDto)
        {
            var original = _bookRepository.Get(bookId);
            var recent   = QsMapper.CreateMap <BookDto, Book>(updatedBookDto);

            if (original != null && recent != null)
            {
                _bookRepository.Merge(original, recent);
                _bookRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
Beispiel #16
0
        public bool ChangeRecentActivityDescription(Int64 activityId, RecentActivityDto updatedRecentActivityDto)
        {
            var original = _activityRepository.Get(activityId);
            var recent   = QsMapper.CreateMap <RecentActivityDto, RecentActivity>(updatedRecentActivityDto);

            if (original != null && recent != null)
            {
                _activityRepository.Merge(original, recent);
                _activityRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
Beispiel #17
0
        public bool ChangeVideoDetail(Int64 videoId, VideoDto updatedVideoDto)
        {
            var original = _videoRepository.Get(videoId);
            var recent   = QsMapper.CreateMap <VideoDto, Video>(updatedVideoDto);

            if (original != null && recent != null)
            {
                _videoRepository.Merge(original, recent);
                _videoRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
Beispiel #18
0
        public bool ChangeTagDescription(int tagId, TagDto updatedTagDto)
        {
            var original = _tagRepository.Get(tagId);
            var recent   = QsMapper.CreateMap <TagDto, Core.Module.Tag>(updatedTagDto);

            if (original != null && recent != null)
            {
                _tagRepository.Merge(original, recent);
                _tagRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
        public bool ChangeNewsDescription(Int64 newsId, NewsDto updatedNewsDto)
        {
            var original = _newsRepository.Get(newsId);
            var recent   = QsMapper.CreateMap <NewsDto, News>(updatedNewsDto);

            if (original != null && recent != null)
            {
                _newsRepository.Merge(original, recent);
                _newsRepository.UnitOfWork.Commit();
                return(true);
            }
            return(false);
        }
        public FeedbackDto FeedbackToDto(Feedback from)
        {
            if (from == null)
            {
                return(null);
            }
            var aimFeedback = QsMapper.CreateMap <Feedback, FeedbackDto>(from);

            //Mapper.CreateMap<FbDocument, FbDocumentDto>()
            //    .ForMember(dto => dto.UploaderName, opt => opt.MapFrom(entity => entity.Uploader.RealName))
            //    .ForMember(dto => dto.FeedbackName, opt => opt.MapFrom(entity => entity.Feedback.FeedbackName));
            //aimFeedback.FbDocumentDtos = Mapper.Map<List<FbDocument>, List<FbDocumentDto>>(from.FbDocuments.ToList());
            return(aimFeedback);
        }
        public NewsCommentDto GetNewestCommentInNewsWithFilter(string uniqueKey)
        {
            var temp   = _newsRepository.FirstOrDefault(nc => nc.UniqueKey.Equals(uniqueKey));
            var result = QsMapper.CreateMap <NewsComment, NewsCommentDto>(temp);

            if (result == null || result.IsMember <= 0)
            {
                return(result);
            }
            var user = _userRepository.Get(result.IsMember);

            result.NickName       = user.UserName;
            result.PhotoUrl       = user.PhotoUrl;
            result.Identification = user.Identification;
            return(result);
        }
Beispiel #22
0
        public ActionResult Create(UserCreateModel model)
        {
            if (ModelState.IsValid == false)
            {
                return(View(model));
            }
            if (_userService.GetUserByStuNumber(model.StuNumber) != null)
            {
                ModelState.AddModelError("StuNumber", @"该学号已存在");
                return(View(model));
            }
            var userDto = QsMapper.CreateMap <UserCreateModel, UserDto>(model);

            userDto = InitUserDtoInfor(userDto);
            _userService.AddUser(userDto);
            return(RedirectToAction("Index"));
        }
Beispiel #23
0
        public ActionResult Login(LoginModel model)
        {
            model.ValidateCode = model.ValidateCode.ToLower();
            //不要验证码了
            //if (Session["ValidateCode"].ToString() != model.ValidateCode)
            //{
            //    ModelState.AddModelError("ValidateCode", @"验证码错误");
            //    model.Password = String.Empty;
            //    model.ValidateCode = String.Empty;
            //    return View(model);
            //}
            var result = _userService.CheckUserInLogin(model.NameOrNumber, Utilities.MD5(model.Password), true);

            if (!result.Success)
            {
                ModelState.AddModelError(result.Message.Contains("用户") ? "NameOrNumber" : "Password", result.Message);
                model.Password     = String.Empty;
                model.ValidateCode = String.Empty;
                return(View(model));
            }
            var user = _userService.GetUserById(Convert.ToInt32(result.Message));
            var temp = QsMapper.CreateMap <UserDto, UserSafetyModel>(user);

            temp.RememberMe = model.RememberMe;
            //首先去除先前的登陆信息
            SafeOutAuthCookie();
            //记录入登录日志中
            var ip           = QsRequest.GetIp();
            var computerName = QsRequest.GetHost();
            var platform     = Request.Browser.Platform;
            var userAgent    = Request.UserAgent;

            _userService.RecordUserLogin(temp.UserId, temp.UserName, ip, computerName, platform, userAgent, true, false);
            //结束记录
            SetAuthCookie(temp);
            if (user.State == UserState.Nonactivated)
            {
                ModelState.AddModelError("NameOrNumber", @"该用户状态出现异常,请联系管理员");
            }

            if (!String.IsNullOrEmpty(model.ReturnUrl))
            {
                return(Redirect(HttpUtility.UrlDecode(model.ReturnUrl)));
            }
            return(RedirectToAction("Index", "OAuth"));
        }
        public void UpdateUserInformation(UserDto userInformation)
        {
            if (userInformation == null)
            {
                return;
            }
            var currentUser = _userRepository.Get(userInformation.UserId);

            if (currentUser == null)
            {
                return;
            }
            var updatedUser = QsMapper.CreateMap <UserDto, User>(userInformation);

            _userRepository.Merge(currentUser, updatedUser);
            _userRepository.UnitOfWork.Commit();
        }
        private static IEnumerable <ArticleSummaryModel> DtoToModel(IEnumerable <ArticleDto> origin, int leave = 250)
        {
            var          articleView = new List <ArticleSummaryModel>();
            const string noImage     = @"/assets/img/bg/noarticle_photo_400x300.jpg";

            foreach (var item in origin)
            {
                var temp = QsMapper.CreateMap <ArticleDto, ArticleSummaryModel>(item);
                temp.ArticleContent = Utilities.DropHtml(item.ArticleContent, leave);
                temp.ViewImage      = !String.IsNullOrEmpty(item.ThumbPath) ? item.ThumbPath : Utilities.GetImgUrl(item.ArticleContent);
                if (String.IsNullOrEmpty(temp.ViewImage))
                {
                    temp.ViewImage = noImage;
                }
                articleView.Add(temp);
            }
            return(articleView);
        }
Beispiel #26
0
        public ActionResult Confirmation()
        {
            var userDto = _userService.GetUserById(GetUserInCookie().UserId);

            if (userDto.State == UserState.Activated || userDto.State == UserState.Retire)
            {
                var log = LogManager.GetLogger("用户相关");
                log.Info(String.Format("[编号:{0}]{1}尝试访问Comfirmation页面", userDto.UserId, userDto.UserName));
                return(Content("<script type='text/javascript'>alert('抱歉,无阅读此页面的权限!');history.go(-1);</script>"));
            }

            BindSelectListDataSource((int)userDto.Gender);

            //为页面验证消息而进行的处理
            var userAcnt = QsMapper.CreateMap <UserDto, AccountModel>(userDto);

            return(View(userAcnt));
        }
        public OutMsg UpdateFeedbackDetail(int id, FeedbackDto feedbackDto)
        {
            if (feedbackDto == null)
            {
                throw new ArgumentNullException();
            }

            var message = new OutMsg {
                Status = false, Msg = "修改信息失败"
            };

            var currentFeedback = _feedbackRepository.Get(id);
            var updateFeedback  = QsMapper.CreateMap <FeedbackDto, Feedback>(feedbackDto);

            _feedbackRepository.Merge(currentFeedback, updateFeedback);
            _feedbackRepository.UnitOfWork.Commit();
            message.Msg    = "成功修改信息";
            message.Status = true;
            return(message);
        }
        public ActionResult Register(AccountModel model)
        {
            var userDto = CustomAuthorizeAttribute.GetUser();

            if (ModelState.IsValid)
            {
                {
                    model.StuNumber = DateTime.Now.ToShortTimeString();
                    if (!String.IsNullOrEmpty(model.Password))
                    {
                        model.Password = Utilities.MD5(model.Password);
                    }
                    model.State = UserState.Activated;
                    var _userDto = QsMapper.CreateMap <AccountModel, UserDto>(model);
                    _userService.AddUser(_userDto);
                    return(Content("<script>alert('填写成功!');window.location='/Account/ProfileDetail'</script>"));
                }
            }
            BindSelectListDataSource((int)userDto.Gender);
            return(View(model));
        }
Beispiel #29
0
        public ActionResult ChangeImage()
        {
            var result = new QsResult {
                Success = false
            };
            var user = _userService.GetUserById(GetUserInCookie().UserId);
            var file = Request.Files["ImageInput"];

            if (file != null && file.ContentLength > 0)
            {
                var fileName      = file.FileName;
                var fileExtension = fileName.Substring(fileName.IndexOf('.'), fileName.Length - fileName.IndexOf('.'));
                if (!String.IsNullOrWhiteSpace(user.PhotoUrl))
                {
                    if (!user.PhotoUrl.Equals("no-image.png"))
                    {
                        var deleteFileName = Server.MapPath("~/Profiles/HeadImage/" + user.PhotoUrl);
                        System.IO.File.Delete(deleteFileName);
                    }
                    //物理存储头像
                    result.Message = user.PhotoUrl = user.StuNumber + "_" + DateTime.Now.Ticks + fileExtension;
                    file.SaveAs(System.IO.Path.Combine(Server.MapPath("~/Profiles/HeadImage"), user.PhotoUrl));
                    result.Message = "/Profiles/HeadImage/" + result.Message;
                    //修改用户信息

                    _userService.UpdateUserInformation(user);
                    //更新Cookie中用户的信息
                    SafeOutAuthCookie();
                    user = _userService.GetUserById(user.UserId);
                    SetAuthCookie(QsMapper.CreateMap <UserDto, UserSafetyModel>(user));
                    //更新完成
                    result.Success = true;
                    return(Json(result));
                }
            }
            result.Message = @"请选择想要上传的头像";
            ModelState.AddModelError("PhotoUrl", @"请选择想要上传的头像");
            return(Json(result));
        }
        public FbDocumentDto GetDocumentById(Guid documentId)
        {
            var temp = _respository.Get(documentId);

            return(temp == null ? null : QsMapper.CreateMap <FbDocument, FbDocumentDto>(temp));
        }