Example #1
0
        public HttpResponseMessage VoteToIdea(int ideaId, [FromBody] VoteDetailDto voteDetailDto)
        {
            string username = "******";//get it from token
            var    res      = _business.VoteToIdea(ideaId, voteDetailDto, username);

            if (res.Value == true)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, res.Content));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.PreconditionFailed, res.Content));
            }
        }
        //-------------------------------------------------------------------------------------------------

        public Result VoteToIdea(int ideaId, VoteDetailDto voteDetailDto)
        {
            Result res = new Result();

            using (_db = new IdeaManagmentDatabaseEntities())
            {
                if (!_db.IDEAS.Any(x => x.ID == ideaId))
                {
                    res.content = "ایده ی مورد نظر پیدا نشد";
                    res.value   = false;
                    return(res);
                }

                if (!_db.COMMITTEE_VOTE_DETAIL.Any(x => x.IDEAS_ID == ideaId))
                {
                    var newVote = new COMMITTEE_VOTE_DETAIL()
                    {
                        COMMITTEE_MEMBER       = voteDetailDto.COMMITTEE_MEMBER_USER_NAME,
                        IDEAS_ID               = ideaId,
                        PROFIT_AMOUNT          = voteDetailDto.PROFIT_AMOUNT,
                        SAVING_RESOURCE_AMOUNT = voteDetailDto.SAVING_RESOURCE_AMOUNT,
                        SAVE_DATE              = DateTime.Now
                    };
                    _db.COMMITTEE_VOTE_DETAIL.Add(newVote);
                    _db.IDEAS.First(x => x.ID == ideaId).STATUS_ID = Convert.ToByte(voteDetailDto.Vote);
                    _db.SaveChanges();
                    res.value   = true;
                    res.content = "رای کمیته اعمال شد";
                }
                else
                {//update it is impossible do to bussines
                    var vote = _db.COMMITTEE_VOTE_DETAIL.First(x => x.IDEAS_ID == ideaId);
                    vote.PROFIT_AMOUNT          = voteDetailDto.PROFIT_AMOUNT;
                    vote.SAVING_RESOURCE_AMOUNT = voteDetailDto.SAVING_RESOURCE_AMOUNT;
                    vote.SAVE_DATE        = DateTime.Now;
                    vote.COMMITTEE_MEMBER = voteDetailDto.COMMITTEE_MEMBER_USER_NAME;
                    _db.IDEAS.First(x => x.ID == ideaId).STATUS_ID = Convert.ToByte(voteDetailDto.Vote);
                    _db.SaveChanges();
                    res.value   = true;
                    res.content = "رای کمیته اعمال شد";
                }
            }
            return(res);
        }
        //-------------------------------------------------------------------------------------------------

        public Result VoteToIdea(int ideaId, VoteDetailDto voteDetailDto)
        {
            if (voteDetailDto.Vote > 1)
            {
                voteDetailDto.Vote = 2;
            }
            else
            {
                voteDetailDto.Vote = 1;
            }
            if (_repositoryUsers.IsCommitteMember(voteDetailDto.COMMITTEE_MEMBER_USER_NAME))
            {
                return(_repository.VoteToIdea(ideaId, voteDetailDto));
            }
            else
            {
                return(new Result()
                {
                    value = false,
                    content = "متاسفانه شما به این امکان دسترسی ندارید"
                });
            }
        }
        //-------------------------------------------------------------------------------------------------

        public Result VoteToIdea(int ideaId, VoteDetailDto voteDetailDto, string username)
        {
            if (voteDetailDto.Vote > 1)
            {
                voteDetailDto.Vote = 2;
            }
            else
            {
                voteDetailDto.Vote = 1;
            }
            if (_repositoryUsers.IsCommitteMember(username))
            {
                return(_repository.VoteToIdea(ideaId, voteDetailDto, username));
            }
            else
            {
                return(new Result()
                {
                    Value = false,
                    Content = "متاسفانه شما به این امکان دسترسی ندارید"
                });
            }
        }