public async Task <IActionResult> SumbitCandidacy(int?election_id, int?user_id) { if (election_id != null || user_id != null) { Election election = db.Elections.FirstOrDefault(x => x.Id == election_id); User user = db.Users.FirstOrDefault(x => x.Id == user_id); if (election != null || user != null) { Candidate candidate = db.Candidates.FirstOrDefault(x => x.ElectionId == election_id && x.UserId == user_id); SumbitCandidacy sumbit = db.SumbitCandidacies.FirstOrDefault(x => x.ElectionId == election_id && x.UserId == user_id); if (candidate != null) { return(Content("Ви вже додані до кандидатів даних виборів")); } else if (sumbit != null) { return(Content("Ви вже подали заявку. Чекайте відповіді")); } else { SumbitCandidacy sumbitCandidacy = new SumbitCandidacy { Id = db.SumbitCandidacies.Count() + (new Random()).Next(10, 100000), ElectionId = election.Id, Election = election, UserId = user.Id, User = user }; db.SumbitCandidacies.Add(sumbitCandidacy); await db.SaveChangesAsync(); return(Content("Ваша заявка прийнята. Чекайте відповіді")); } } } return(NotFound()); }
public async Task <IActionResult> AnswerCandidacy(bool?answer, int?sumbitCandidacy_id) { if (answer != null || sumbitCandidacy_id != null) { SumbitCandidacy sumbitCandidacy = db.SumbitCandidacies.FirstOrDefault(x => x.Id == sumbitCandidacy_id); if (sumbitCandidacy != null) { if (answer == true) { Candidate candidate = new Candidate { Id = db.Candidates.Count() + (new Random()).Next(10, 10000), ElectionId = sumbitCandidacy.ElectionId, Election = sumbitCandidacy.Election, User = sumbitCandidacy.User, UserId = sumbitCandidacy.UserId }; db.Candidates.Add(candidate); await db.SaveChangesAsync(); db.SumbitCandidacies.Remove(sumbitCandidacy); await db.SaveChangesAsync(); return(View("Candidacy", db.SumbitCandidacies.Include(x => x.Election).Include(x => x.User).ToList())); } else { db.SumbitCandidacies.Remove(sumbitCandidacy); await db.SaveChangesAsync(); return(View("Candidacy", db.SumbitCandidacies.Include(x => x.Election).Include(x => x.User).ToList())); } } } return(NotFound()); }