コード例 #1
0
        public void Update(PostModel model)
        {
            var post = GetPostById(model.Id);

            post.Status = (int)PostStatus.NeedVerify;
            Mapper.Map(model, post);
            _repository.RemoveRange <PostTag>(x => x.PostId == model.Id);
            foreach (var tagId in model.SelectedTags)
            {
                _repository.Add <PostTag>(new PostTag {
                    PostId = post.Id, TagId = tagId
                });
            }

            if (model.Images.Count != 0)
            {
                _repository.Remove <PostMediaContent>(x => x.PostId == post.Id);
                var savedFileId = FileSaverService.SaveModelFile(model.Images, _repository);

                _repository.Add(new PostMediaContent()
                {
                    MediaContentId = savedFileId, PostId = model.Id
                });
                _repository.Commit();
            }
            _repository.Update(post);
            _repository.Commit();
        }
コード例 #2
0
        public UserPrivateInfoViewModel ChangeUserInfo(AccountModel model)
        {
            var user = _repository.Get <User>(model.Id);

            if (user != null)
            {
                if (!string.IsNullOrEmpty(model.NewEmail))
                {
                    user.Email = model.NewEmail;
                }
                if (!string.IsNullOrEmpty(model.NewPassword))
                {
                    if (CryptoHelper.EnctyptPassword(model.OldPassword) == user.Password)
                    {
                        user.Password = model.NewPassword;
                    }
                    else
                    {
                        throw new HttpResponseException(HttpStatusCode.BadRequest);
                    }
                }
                if (model.Images.Count() != 0)
                {
                    var fileId = FileSaverService.SaveModelFile(model.Images, _repository);
                    user.AvatarId = fileId;
                }
                _repository.Commit();
            }
            else
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }
            return(new UserPrivateInfoViewModel()
            {
                UserInfo = CreateUserInfo(user)
            });
        }
コード例 #3
0
        public int AddPost(PostModel post)
        {
            //post.SelectedTags = new List<int>() {1, 2};
            var status = (int)PostStatus.NeedVerify;
            //if (_repository.Any<UserToRole>(x => x.UserId == UserId && x.RoleId == (int)Enums.UserRole.Admin))
            //{
            //    status = (int)PostStatus.Approved;
            //}
            var tags  = _repository.GetList <Tag>(x => post.SelectedTags.Contains(x.Id)).ToList();
            var entry = new Post()
            {
                Tittle = post.Header, ContentText = post.Message, Status = status
            };

            _repository.Add(entry);
            _repository.Commit();
            foreach (var tag in tags)
            {
                _repository.Add <PostTag>(new PostTag()
                {
                    PostId = entry.Id, TagId = tag.Id
                });
            }
            _repository.Commit();
            if (post.Images.Count() != 0)
            {
                var fileId = FileSaverService.SaveModelFile(post.Images, _repository);

                _repository.Add(new PostMediaContent()
                {
                    MediaContentId = fileId, PostId = entry.Id
                });
                _repository.Commit();
            }
            return(entry.Id);
        }