public CandidateDataModel Register(CandidateRequest candidateRequest) { var response = _context.Candidates.Add(new CandidateDataModel() { FirstName = candidateRequest.FirstName, LastName = candidateRequest.LastName, Email = candidateRequest.Email, Guid = Guid.NewGuid().ToString(), CandidateTests = new List <CandidateTestModel> { new CandidateTestModel { TestId = 1, }, new CandidateTestModel { TestId = 2, }, new CandidateTestModel { TestId = 3, }, }, }); _context.SaveChanges(); return(response.Entity); }
public IActionResult AddCandidate([FromBody] CandidateRequest candidateRequest) { try { var user = HttpContext.User; string message; bool status; if (user.HasClaim(linq => linq.Type == "Email")) { int adminId = Convert.ToInt32(user.Claims.FirstOrDefault(linq => linq.Type == "AdminId").Value); var data = this.candidateBusiness.AddCandidate(candidateRequest, adminId); if (data != null) { status = true; message = "Candidate added successfully"; return(this.Ok(new { status, message, data })); } } status = false; message = "candidate already exists"; return(this.BadRequest(new { status, message })); } catch (Exception e) { return(this.BadRequest(e.Message)); } }
public Candidate AddCandidate(CandidateRequest candidateRequest, int adminId) { try { var candidateData = this.dBContext.candidates.FirstOrDefault(linq => linq.CandidateFirstName == candidateRequest.CandidateFirstName); if (candidateData == null) { Candidate candidate = new Candidate() { CandidateFirstName = candidateRequest.CandidateFirstName, CandidateLastName = candidateRequest.CandidateLastName, CandidatePhoneNumber = candidateRequest.CandidatePhoneNumber, ConstituencyId = candidateRequest.ConstituencyId, Created = DateTime.Now, Modified = DateTime.Now, PartyId = candidateRequest.PartyId, AdminId = adminId }; this.dBContext.candidates.Add(candidate); this.dBContext.SaveChanges(); return(candidate); } return(null); } catch (Exception e) { throw new Exception(e.Message); } }
public Candidate AddCandidate(CandidateRequest candidateRequest, int adminId) { if (candidateRequest != null && adminId != 0) { return(this.candidateRepository.AddCandidate(candidateRequest, adminId)); } return(null); }
/// <summary> /// Time to become a candidate /// </summary> /// <param name="userToken"></param> public void ElectionTimeout(object userToken) { CandidateRequest req = null; try { lock (this.stateMachine.lock_Operations) { if (this.TM.Election_TimerId == 0) //Timer was switched off and we don't need to run it again { return; } this.TM.Election_TimerId = 0; if (this.stateMachine.States.NodeState == eNodeState.Leader) { return; } this.stateMachine.VerbosePrint("Node {0} election timeout", this.stateMachine.NodeAddress.NodeAddressId); this.stateMachine.States.NodeState = eNodeState.Candidate; this.stateMachine.LeaderNodeAddress = null; this.stateMachine.VerbosePrint("Node {0} state is {1} _ElectionTimeout", this.stateMachine.NodeAddress.NodeAddressId, this.stateMachine.States.NodeState); //Voting for self //VotesQuantity = 1; this.stateMachine.States.VotesQuantity.Clear(); //Increasing local term number this.stateMachine.NodeTerm++; req = new CandidateRequest() { TermId = this.stateMachine.NodeTerm, LastLogId = this.stateMachine.NodeStateLog.StateLogId, LastTermId = this.stateMachine.NodeStateLog.StateLogTerm }; //send to all was here //Setting up new Election Timer EnterElectionTimeLoop(); } this.stateMachine.network.SendToAll(eRaftSignalType.CandidateRequest, req, this.stateMachine.NodeAddress, entitySettings.EntityName); } catch (Exception ex) { this.stateMachine.Log.Log(new WarningLogEntry() { Exception = ex, Method = "Raft.RaftNode.ElectionTimeout" }); } }
public ActionResult <CandidateDataModel> RegisterCandidate([FromForm] CandidateRequest candidateRequest) { var sessionIdValid = _sessionService.RequestHasValidSessionId(HttpContext); if (!sessionIdValid) { return(Unauthorized()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var newCandidate = _candidates.Register(candidateRequest); return(newCandidate); }
public async Task OnRecieve(IChannelHandlerContext context, string msgstr) { // if (!string.IsNullOrEmpty(msgstr)) { //RaftCommand msgObj = Newtonsoft.Json.JsonConvert.DeserializeObject<RaftCommand>(msgstr, new JsonSerializerSettings() //{ // NullValueHandling = NullValueHandling.Ignore, // TypeNameHandling = TypeNameHandling.All, // TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Full //} //); int index = msgstr.IndexOf(','); string num = msgstr.Substring(0, index); string base64 = msgstr.Substring(index + 1); byte[] data = Convert.FromBase64String(base64); RaftCommand cmd = new RaftCommand(); cmd.Code = Convert.ToInt32(num); switch (cmd.Code) { case RaftCommand.Handshake: cmd.Message = TcpMsgHandshake.BiserDecode(data); break; case RaftCommand.HandshakeACK: cmd.Message = TcpMsgHandshake.BiserDecode(data); break; case RaftCommand.RaftMessage: cmd.Message = TcpMsgRaft.BiserDecode(data); TcpMsgRaft t = (TcpMsgRaft)cmd.Message; switch (t.RaftSignalType) { case eRaftSignalType.LeaderHearthbeat: t.orginalObject = LeaderHeartbeat.BiserDecode(t.Data); break; case eRaftSignalType.CandidateRequest: t.orginalObject = CandidateRequest.BiserDecode(t.Data); break; case eRaftSignalType.StateLogEntryAccepted: t.orginalObject = StateLogEntryApplied.BiserDecode(t.Data); break; case eRaftSignalType.StateLogEntryRequest: t.orginalObject = StateLogEntryRequest.BiserDecode(t.Data); break; case eRaftSignalType.StateLogEntrySuggestion: t.orginalObject = StateLogEntrySuggestion.BiserDecode(t.Data); break; case eRaftSignalType.StateLogRedirectRequest: t.orginalObject = StateLogEntryRedirectRequest.BiserDecode(t.Data); break; case eRaftSignalType.VoteOfCandidate: t.orginalObject = VoteOfCandidate.BiserDecode(t.Data); break; } break; case RaftCommand.FreeMessage: cmd.Message = TcpMsg.BiserDecode(data); break; } this.packetParser(cmd as RaftCommand); } }