public PostRateConfirmationDto Create(PostRateCreateDto dto)
        {
            Post post = PostMock.Posts.FirstOrDefault(e => e.Id == dto.PostId);

            if (post == null)
            {
                return(null);
            }

            PostRate newRate = new PostRate()
            {
                Id          = Guid.NewGuid(),
                Description = dto.Description,
                RateScale   = dto.RateScale,
                RateTypeId  = dto.RateTypeId,
                PostId      = dto.PostId
            };

            _context.PostRate.Add(newRate);
            _context.SaveChanges();

            _logger.Log("Create PostRate");

            return(_mapper.Map <PostRateConfirmationDto>(newRate));
        }
Exemple #2
0
        public bool RatePost(int postId, int profileId, RateType vote)
        {
            var post = _postRepository.GetPostById(postId);

            if ((post == null) ||
                (!_memberService.IsMember(profileId, post.GroupId)))
            {
                return(false);
            }

            var rate = post.Rating.FirstOrDefault(x => x.ProfileId == profileId);

            if (rate != null && rate.Value != vote)
            {
                rate.Value = vote;
            }
            else if (rate == null)
            {
                PostRate r = new PostRate
                {
                    ProfileId = profileId,
                    Value     = vote
                };
                post.Rating.Add(r);
            }
            return(_postRepository.UpdatePost(post) != null);
        }
        public bool Update(PostRate model)
        {
            try
            {
                //Get item PostRate with Id from database
                var item = context.PostRates.Where(i => i.Id == model.Id).FirstOrDefault();

                //Set value item with value from model
                item.Id        = model.Id;
                item.PostId    = model.PostId;
                item.RatedBy   = model.RatedBy;
                item.Mark      = model.Mark;
                item.RatedTime = model.RatedTime;

                //Save change to database
                context.SaveChanges();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
        public bool Create(PostRate model)
        {
            try
            {
                //Initialization empty item
                var item = new PostRate();

                //Set value for item with value from model
                item.Id        = model.Id;
                item.PostId    = model.PostId;
                item.RatedBy   = model.RatedBy;
                item.Mark      = model.Mark;
                item.RatedTime = model.RatedTime;
                //Add item to entity
                context.PostRates.Add(item);
                //Save to database
                context.SaveChanges();
                return(true);
            }
            catch
            {
                return(false);
            }
        }