Beispiel #1
0
        public ActionResult Index(ProposalModel model)
        {
            List <OptionModel> lst = new List <OptionModel>();

            foreach (var item in model.SelectedOptions)
            {
                lst.Add(new OptionModel {
                    IdOption = Convert.ToInt32(item)
                });
            }

            VotesModel vote = new VotesModel {
                Email = ((UserModel)Session["User"]).Email, Options = lst, ContracEthereumProposal = Session["propId"].ToString()
            };

            ProposalBussiness propBuss = new ProposalBussiness();

            bool resp = propBuss.DoVote(vote);

            //save
            if (resp)
            {
                return(RedirectToAction("Proposal", "ProposalList"));
            }

            return(RedirectToAction("Proposal", "ProposalList"));
        }
Beispiel #2
0
        private static string BuildButtons(VotesModel votesModel, int pictureId)
        {
            var likeButton = BuildButton("Like", votesModel.Likes, pictureId, "likes", "likeButton");

            var dislikeButton = BuildButton("Dislike", votesModel.Dislikes, pictureId, "dislikes", "dislikeButton");

            return(likeButton + dislikeButton);
        }
Beispiel #3
0
 public RequestResult <VotesModel> SaveVoters(string sessionToken, VotesModel model)
 {
     try
     {
         return(_repository.SaveVoters(sessionToken, model));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #4
0
        public RequestResult <VotesModel> SaveVoters(string sessionToken, VotesModel model)
        {
            string parameters = $"/savecommonfunctionality/savevote?sessionToken={sessionToken}";

            try
            {
                var serilizedData = JsonConvert.SerializeObject(model);
                return(PostAndGetData <RequestResult <VotesModel> >(sessionToken, parameters, serilizedData));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #5
0
        public static MvcHtmlString LikeDislike(this AjaxHelper helper,
                                                int pictureId, string updateTargetId,
                                                VotesModel votesModel)
        {
            var panel = new TagBuilder("div")
            {
                InnerHtml = votesModel.IsOwner
                ? BuildOwnerPanel(votesModel.Likes, votesModel.Dislikes)
                : BuildButtons(votesModel, pictureId)
            };

            panel.MergeAttribute("class", "likesPanel");

            return(new MvcHtmlString(panel.ToString()));
        }
        public ActionResult UpvotesDownvotes(VotesModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.message = "Parameters Not Found";
                    return(View());
                }

                string ipaddr = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
                var    User   = UserDB.Users.Where(x => x.ApiToken == model.AuthToken && x.ServerIP == ipaddr);
                if (User.Count() == 0)
                {
                    ViewBag.message = "Request not Validated";
                    return(View());
                }

                string reviewID  = model.reviewID;
                string productID = model.productID;
                int    upvotes   = model.upvotes;
                int    downvotes = model.downvotes;


                var update = AzureDB.ReviewSet.Where(x => x.reviewID == reviewID && x.productID == productID && x.AuthToken == model.AuthToken);
                if (update.Count() == 0)
                {
                    ViewBag.message = "Invalid ReviewID or ProductID";
                    return(View());
                }

                var idx = update.First();

                idx.upvotes             += upvotes;
                idx.downvotes           += downvotes;
                idx.Status               = true;
                AzureDB.Entry(idx).State = EntityState.Modified;
                AzureDB.SaveChanges();
                ViewBag.message = "Updated Successfully";

                return(View());
            }
            catch (Exception)
            {
                return(View("Error"));
            }
        }
Beispiel #7
0
        public ActionResult SaveVoters(bool status, Guid?id, Guid?Eventid)
        {
            VotesModel model = new VotesModel();

            model.VoteStatus = status;
            model.PostId     = id;
            model.EventId    = Eventid;
            model.userid     = User.Identity.GetUserId();
            try
            {
                var value = data.SaveVoters(SessionToken, model);

                return(Json(value, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(View("~/Views/Errorpage/Errorpage.cshtml"));
            }
        }
Beispiel #8
0
        public bool DoVote(VotesModel vote)
        {
            if (vote != null && vote.ContracEthereumProposal != null && vote.ContracEthereumProposal != string.Empty && vote.Options != null && vote.Options.Count > 0 &&
                ((vote.Email != null && vote.Email != string.Empty) || (vote.AccountNumber != null && vote.AccountNumber != string.Empty)))
            {
                foreach (OptionModel option in vote.Options)
                {
                    InsertVote(vote.ContracEthereumProposal, option.IdOption.ToString(), vote.AccountNumber, vote.Email);
                }

                using (ProposalDataAccess proposalDataAccess = new ProposalDataAccess())
                {
                    proposalDataAccess.UserVoted(vote.Email, vote.ContracEthereumProposal);
                }

                return(true);
            }
            return(false);
        }
Beispiel #9
0
        public bool DoVote(VotesModel vote)
        {
            ProposalBussiness bussiness = new ProposalBussiness();

            return(bussiness.DoVote(vote));
        }