Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }