/// <summary> /// Method to manage rating. /// </summary> /// <returns></returns> public bool ManageRating(string seedId, string memberId,string rate) { #region Business Logic bool actionComplete = false; Guid sId = new Guid(seedId); Guid memId = new Guid(memberId); try { Rating ratingData = repoObj.List<Rating>(x => x.Seed.id.Equals(sId) && x.Member.id.Equals(memId)).FirstOrDefault(); try { if (ratingData == null) { ratingData = new Rating(); ratingData.id = Guid.NewGuid(); ratingData.Seed = repoObj.List<Seed>(x => x.id.Equals(sId)).FirstOrDefault(); ratingData.Member = repoObj.List<Member>(x => x.id.Equals(memId)).FirstOrDefault(); ratingData.likes = rate; ratingData.isRead = false; ratingData.ratingDate = DateTime.Now; repoObj.Create<Rating>(ratingData); } else { if (rate == "DLike") repoObj.Delete<Rating>(ratingData); } actionComplete = true; } catch (Exception ex) { WriteError(ex); } } catch { } return actionComplete; #endregion }
/// <summary> /// Method to like or unlike posts /// </summary> /// <param name="memberId"></param> /// <param name="seedId"></param> /// <param name="action"></param> /// <returns></returns> public bool LikeUnlike(string memberId, string seedId, string action) { #region Business Logic bool actionCompleted = false; try { if (action == "Like") { Rating objRating = new Rating(); objRating.id = Guid.NewGuid(); objRating.likes = "Like"; objRating.seedId = new Guid(seedId); objRating.memberId = new Guid(memberId); objRating.isRead = false; objRating.ratingDate = DateTime.Now; repoObj.Create<Rating>(objRating); actionCompleted = true; } if (action == "Dislike") { Rating objRating = repoObj.List<Rating>(x => x.memberId == new Guid(memberId) && x.seedId == new Guid(seedId)).FirstOrDefault(); repoObj.Delete<Rating>(objRating); actionCompleted = true; } } catch (Exception ex) { WriteError(ex); } return actionCompleted; #endregion }