public Task <KandidatBem> Post(KandidatBem model) { try { var periode = _db.Periode.Where(x => x.Aktif).FirstOrDefault(); if (periode == null) { throw new SystemException("Periode Aktif Belum Ada !"); } var kandidat = _db.KandidatBem.Include(x => x.Ketua) .ThenInclude(x => x.ProgramStudi) .Include(x => x.Wakil) .ThenInclude(x => x.ProgramStudi).Where(x => x.Ketua.NPM == model.Ketua.NPM || x.Wakil.NPM == model.Wakil.NPM).FirstOrDefault(); if (kandidat != null) { throw new SystemException("Kandidat Sudah Didaftarkan !"); } model.Periode = periode; _db.Entry(model.Periode).State = EntityState.Unchanged; _db.Entry(model.Ketua).State = EntityState.Unchanged; _db.Entry(model.Wakil).State = EntityState.Unchanged; _db.KandidatBem.Add(model); _db.SaveChanges(); return(Task.FromResult(model)); } catch (Exception ex) { throw new SystemException(ex.Message); } }
public async Task <bool> VoteBem(Mahasiswa pemilih, KandidatBem kandidat) { try { Periode periode = await _periodeService.GetActived(); if (periode == null) { throw new SystemException("Belum Ada Periode Aktif !"); } kandidat.Periode = periode; var model = new Models.VoteBem { Kandidat = kandidat, Periode = periode, Mahasiswa = pemilih, Waktu = DateTime.Now }; _dbContext.Entry(model.Kandidat).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; _dbContext.Entry(model.Periode).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; _dbContext.Entry(model.Mahasiswa).State = Microsoft.EntityFrameworkCore.EntityState.Unchanged; _dbContext.VoteBem.Add(model); _dbContext.SaveChanges(); //Send To SignalR await _hubContext.Clients.All.SendAsync("onVoteBem", kandidat.Id); return(true); } catch (Exception ex) { throw new SystemException(ex.Message); } }
public async Task <IActionResult> Put(int id, KandidatBem model) { try { var response = await _bemService.Put(id, model); return(Ok(response)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> VoteBem(KandidatBem model) { try { var userid = User.UserId().Value; var mahasiswa = await _mahasiswaService.GetById(userid); var response = await _voteService.VoteBem(mahasiswa, model); return(Ok(response)); } catch (System.Exception ex) { return(BadRequest(ex.Message)); } }
public Task <bool> Put(int id, KandidatBem model) { try { var oldData = _db.KandidatBem.Where(x => x.Id == id).FirstOrDefault(); if (oldData == null) { throw new SystemException("Data tidak ditemukan !"); } _db.Entry(oldData).CurrentValues.SetValues(model); _db.SaveChanges(); return(Task.FromResult(true)); } catch (Exception ex) { throw new SystemException(ex.Message); } }