public bool Aktivasi_Mengganti_Topik(string npm, int id_topik) { var mhs = db.mahasiswas.SingleOrDefault(m => m.NPM == npm); var topik = db.topiks.SingleOrDefault(t => t.id == id_topik); //check validity //<no validity checking, always can ganti topik> //create new skripsi entry skripsi baru = new skripsi(); baru.jenis = 1; baru.pengambilan_ke = 1; baru.NIK_dosen_pembimbing = topik.NIK_pembimbing; baru.NPM_mahasiswa = npm; baru.id_semester_pengambilan = db.semesters.SingleOrDefault(s => s.isCurrent == 1).id; baru.id_topik = id_topik; db.skripsis.Add(baru); //topik is now unavailable topik.keterangan = "tidak tersedia"; //activate mahasiswa mhs.status = "aktif"; try { db.Entry(topik).State = System.Data.EntityState.Modified; db.Entry(mhs).State = System.Data.EntityState.Modified; db.SaveChanges(); } catch (Exception e) { return false; } return true; }
public bool Aktivasi_Melanjutkan(string npm) { var mhs = db.mahasiswas.SingleOrDefault(m => m.NPM == npm); var max_skripsi_idx = db.skripsis.Where(s => s.NPM_mahasiswa == npm).Max(s => s.id); var skripsi = db.skripsis.SingleOrDefault(s => s.id == max_skripsi_idx); //check validity if (skripsi.nilai_akhir == null || skripsi.nilai_akhir == "E") return false; //create new skripsi entry skripsi lanjutan = new skripsi(); if (skripsi.jenis == 1) { lanjutan.jenis = 2; //activate mahasiswa mhs.status = "aktif"; } else if (skripsi.jenis == 2) lanjutan.jenis = 3; lanjutan.pengambilan_ke = 1; lanjutan.NIK_dosen_pembimbing = skripsi.NIK_dosen_pembimbing; lanjutan.NPM_mahasiswa = npm; lanjutan.id_semester_pengambilan = db.semesters.SingleOrDefault(sem => sem.isCurrent == 1).id; lanjutan.id_topik = skripsi.id_topik; db.skripsis.Add(lanjutan); try { db.Entry(mhs).State = System.Data.EntityState.Modified; db.SaveChanges(); } catch (Exception e) { return false; } return true; }
public string _InsertMahasiswa1(MahasiswaContainer model) { if (model.NPM == null) { return "Registrasi mahasiswa gagal! \nField NPM harus diisi!"; } else if (model.NPM.Length != 10) { return "Registrasi mahasiswa gagal! \nField NPM tidak valid! \nField NPM yang valid memiliki 10 karakter!"; } else if (model.idTopik == 0) { return "Registrasi mahasiswa gagal! \nBelum ada topik yang dipilih."; } skripsi s = new skripsi(); s.jenis = 1; s.pengambilan_ke = 1; string username = (string)Session["username"]; var d = db.dosens.Where(dosenTemp => dosenTemp.username == username).SingleOrDefault(); s.NIK_dosen_pembimbing = d.NIK; s.id_semester_pengambilan = int.Parse(Session["id-semester"].ToString()); //topik var topik = db.topiks.Where(topikTemp => topikTemp.id == model.idTopik).SingleOrDefault(); topik.keterangan = "tidak tersedia"; s.id_topik = topik.id; if (TryUpdateModel(topik)) { //db.topiks.Add(topik); db.SaveChanges(); } //mahasiswa string result = ""; var mahasiswa = db.mahasiswas.Where(mahasiswaTemp => mahasiswaTemp.NPM == model.NPM); if (mahasiswa.Count() == 0) { mahasiswa m = new mahasiswa(); m.nama = " "; string temp = model.NPM.Substring(4, 2) + model.NPM.Substring(2, 2) + model.NPM.Substring(7, 3); m.email = temp + "@student.unpar.ac.id"; var akun = db.akuns.Where(akunTemp => akunTemp.username == model.NPM).SingleOrDefault(); if (akun == null) { akun a = new akun(); a.username = temp; result += "\nAkun baru untuk mahasiswa berhasil dibuat. \nusername : "******"\npassword : "******"nonaktif"; if (TryUpdateModel(m)) { db.mahasiswas.Add(m); db.SaveChanges(); } mahasiswa = db.mahasiswas.Where(mahasiswaTemp => mahasiswaTemp.NPM == model.NPM); } s.NPM_mahasiswa = mahasiswa.SingleOrDefault().NPM; if (TryUpdateModel(s)) { db.skripsis.Add(s); db.SaveChanges(); } return "Registrasi berhasil! " + result; }