Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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));
            }
        }
Пример #4
0
        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));
            }
        }
Пример #5
0
 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);
     }
 }