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(); }
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) }); }
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); }