public ActionResult FavouritePost(FavouritePostViewModel viewModel)
        {
            if (Request.IsAjaxRequest() && CurrentMember != null)
            {
                using (var unitOfwork = UnitOfWorkManager.NewUnitOfWork())
                {
                    try
                    {
                        var post = ServiceFactory.PostService.Get(viewModel.PostId);
                        string returnValue;

                        // See if this is a user adding or removing the favourite
                        var existingFavourite = ServiceFactory.FavouriteService.GetByMemberAndPost(CurrentMember.Id, post.Id);
                        if (existingFavourite != null)
                        {
                            ServiceFactory.FavouriteService.Delete(existingFavourite);
                            returnValue = Lang("Post.Favourite");
                        }
                        else
                        {
                            var favourite = new Favourite
                            {
                                DateCreated = DateTime.UtcNow,
                                MemberId = CurrentMember.Id,
                                PostId = post.Id,
                                TopicId = post.Topic.Id
                            };
                            ServiceFactory.FavouriteService.Add(favourite);
                            returnValue = Lang("Post.Favourited");
                        }
                        unitOfwork.Commit();
                        return Content(returnValue);
                    }
                    catch (Exception ex)
                    {
                        unitOfwork.Rollback();
                        LogError(ex);
                        throw new Exception(Lang("Errors.Generic"));
                    }
                }
            }
            return Content("error");
        }
Ejemplo n.º 2
0
 public Favourite Delete(Favourite dialogueFavourite)
 {
     return ContextPerRequest.Db.DialogueFavourite.Remove(dialogueFavourite);
 }
Ejemplo n.º 3
0
 public Favourite Add(Favourite dialogueFavourite)
 {
     return ContextPerRequest.Db.DialogueFavourite.Add(dialogueFavourite);
 }