Пример #1
0
        public async Task <IHttpActionResult> CastVote(CastVoteModel vote)
        {
            if (vote == null)
            {
                return(BadRequest("Please provide valid inputs!"));
            }

            if (vote.ElectorID == 0)
            {
                return(BadRequest("Please provide valid elector ID!"));
            }

            if (vote.CandidateID == 0)
            {
                return(BadRequest("Please provide valid candidate ID!"));
            }

            if (string.IsNullOrEmpty(vote.Location))
            {
                return(BadRequest("Please provide valid location!"));
            }

            if (await AuthService.ValidateUserAndToken(vote.Token, vote.UserID, vote.Email, vote.Location))
            {
                if (await ElectorService.ElectorHasVoted(vote))
                {
                    return(BadRequest("Elector has already voted!"));
                }
                else
                {
                    BallotModel newVote = new BallotModel()
                    {
                        CandidateID = vote.CandidateID,
                        DistrictID  = vote.DistrictID,
                        CenterID    = vote.CenterID,
                        Location    = vote.Location
                    };

                    if (await BallotService.AddNewBallot(newVote))
                    {
                        if (await ElectorService.ElectorVoted(vote))
                        {
                            return(Ok("Vote Casted Successfully!"));
                        }
                        else
                        {
                            return(BadRequest("Error In Casting The Vote!"));
                        }
                    }
                    else
                    {
                        return(BadRequest("Error In Casting The Vote!"));
                    }
                }
            }
            else
            {
                return(Unauthorized());
            }
        }
Пример #2
0
        public async Task <IHttpActionResult> AddNewElector(ElectorModel elector)
        {
            if (elector == null)
            {
                return(BadRequest("Please provide valid inputs!"));
            }

            if (elector.CenterID == 0)
            {
                return(BadRequest("Please provide valid center ID!"));
            }

            if (string.IsNullOrEmpty(elector.Location))
            {
                return(BadRequest("Please provide valid location!"));
            }

            if (await AuthService.ValidateUserAndToken(elector.Token, elector.UserID, elector.Email, elector.Location))
            {
                if (await ElectorService.ElectorExists(elector))
                {
                    return(BadRequest("Elector Already Exists"));
                }
                else
                {
                    if (ElectorService.CheckIsVoterLegalAge(elector))
                    {
                        if (await ElectorService.AddNewElector(elector))
                        {
                            return(Ok("Elector Added Successfully!"));
                        }
                        else
                        {
                            return(BadRequest("Elector Adding Failed!"));
                        }
                    }
                    else
                    {
                        return(BadRequest("Elector Not Of Legal Age!"));
                    }
                }
            }
            else
            {
                return(Unauthorized());
            }
        }
Пример #3
0
        public async Task <IHttpActionResult> UpdateElector(ElectorModel elector)
        {
            if (elector == null)
            {
                return(BadRequest("Please provide valid inputs!"));
            }

            if (elector.ID == 0)
            {
                return(BadRequest("Please provide valid elector ID!"));
            }

            if (elector.CenterID == 0)
            {
                return(BadRequest("Please provide valid center ID!"));
            }

            if (string.IsNullOrEmpty(elector.Location))
            {
                return(BadRequest("Please provide valid location!"));
            }

            if (await AuthService.ValidateUserAndToken(elector.Token, elector.UserID, elector.Email, elector.Location))
            {
                if (await ElectorService.ElectorExists(elector))
                {
                    if (await ElectorService.UpdateElector(elector))
                    {
                        return(Ok("Elector Updated Successfully!"));
                    }
                    else
                    {
                        return(BadRequest("Failed To Update Elector!"));
                    }
                }
                else
                {
                    return(BadRequest("No Such Elector Exists!"));
                }
            }
            else
            {
                return(Unauthorized());
            }
        }
Пример #4
0
        public async Task <IHttpActionResult> GetElectors(ElectorModel elector)
        {
            if (await AuthService.ValidateUserAndToken(elector.Token, elector.UserID, elector.Email, elector.Location))
            {
                var electors = await ElectorService.GetElectors(elector);

                if (electors.Count > 0)
                {
                    return(Ok(electors));
                }
                else
                {
                    return(BadRequest("No Electors Exists!"));
                }
            }
            else
            {
                return(Unauthorized());
            }
        }