public IActionResult AddVote(AddVoteRequestModel addVote) { try { bool status = false; string message; AddVoteResponseModel VoteResponse = _voteBusiness.AddVote(addVote); if (VoteResponse != null) { if (VoteResponse.ErrorResponse.ErrorStatus) { message = VoteResponse.ErrorResponse.Message; return(Ok(new { status, message })); } else { status = true; message = "Your Votes has Been Successfully Added."; VoteAddResponseModel data = VoteResponse.VoteAdd; return(Ok(new { status, message, data })); } } message = "Unable to add your Vote"; return(Ok(new { status, message })); } catch (Exception e) { return(BadRequest(new { e.Message })); } }
/// <summary> /// It Add a vote to the candidate. /// </summary> /// <param name="addVote">CandidateId and EvmVote or PostalVote</param> /// <returns>Add Vote Response Model</returns> public AddVoteResponseModel AddVote(AddVoteRequestModel addVote) { try { SqlDataReader reader; int statusCode, CandidatePresent; string errorMsg = ""; bool errorFlag = false; AddVoteResponseModel VoteResponse = null; using (SqlConnection connection = new SqlConnection(sqlConnection)) { SqlCommand sqlCommand = new SqlCommand("spVotes", connection) { CommandType = System.Data.CommandType.StoredProcedure }; sqlCommand.Parameters.AddWithValue("@VotesId", -1); sqlCommand.Parameters.AddWithValue("@CandidateId", addVote.CandidateId); sqlCommand.Parameters.AddWithValue("@EvmVote", addVote.EvmVote); sqlCommand.Parameters.AddWithValue("@PostalVote", addVote.PostalVote); sqlCommand.Parameters.AddWithValue("@ActionType", "Add"); SqlParameter CandidatePresentParameter = sqlCommand.Parameters.Add("@CandidatePresentCount", System.Data.SqlDbType.Int); CandidatePresentParameter.Direction = System.Data.ParameterDirection.ReturnValue; SqlParameter cmdExecuteSuccess = sqlCommand.Parameters.Add("@return_value", System.Data.SqlDbType.Int); cmdExecuteSuccess.Direction = System.Data.ParameterDirection.ReturnValue; connection.Open(); reader = sqlCommand.ExecuteReader(); CandidatePresent = Convert.ToInt32(sqlCommand.Parameters["@CandidatePresentCount"].Value); statusCode = Convert.ToInt32(sqlCommand.Parameters["@return_Value"].Value); if (CandidatePresent == -1) { errorFlag = true; errorMsg = "This Candidate is Not Present"; } if (errorFlag) { VoteResponse = new AddVoteResponseModel { ErrorResponse = new ErrorResponseModel { ErrorStatus = errorFlag, Message = errorMsg } }; return(VoteResponse); } if (statusCode == 0) { if (reader.HasRows) { VoteResponse = new AddVoteResponseModel(); while (reader.Read()) { VoteResponse.VoteAdd = new VoteAddResponseModel { VotesId = Convert.ToInt32(reader[0]), CandidateId = Convert.ToInt32(reader[1]), EvmVote = Convert.ToBoolean(reader[2]), PostalVote = Convert.ToBoolean(reader[3]), CreatedAt = Convert.ToDateTime(reader[4]), ModifiedAt = Convert.ToDateTime(reader[5]) }; VoteResponse.ErrorResponse = new ErrorResponseModel() { ErrorStatus = false }; } } } } return(VoteResponse); } catch (Exception e) { throw new Exception(e.Message); } }