Beispiel #1
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            BaiBao baiBao = await db.BaiBaos.FindAsync(id);

            foreach (var item in baiBao.DSBaiBaoDeTais.ToList())
            {
                db.DSBaiBaoDeTais.Remove(item);
            }


            foreach (var item in baiBao.DSNguoiThamGiaBaiBaos.ToList())
            {
                db.DSNguoiThamGiaBaiBaos.Remove(item);
            }


            foreach (var item in baiBao.LinhVucs.ToList())
            {
                baiBao.LinhVucs.Remove(item);
            }


            db.BaiBaos.Remove(baiBao);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public IActionResult Edit([FromRoute(Name = "id")] long idBaiBao, BaiBao baiBao)
        {
            if (idBaiBao != baiBao.IdBaiBao)
            {
                return(BadRequest());
            }

            var entity = baiBaoRepository.Get(idBaiBao);

            if (entity == null)
            {
                return(NotFound());
            }

            ModelState.MarkFieldSkipped(nameof(BaiBao.ThoiGianTao));
            ModelState.MarkFieldSkipped(nameof(BaiBao.Username));

            if (ModelState.IsValid)
            {
                baiBao.HinhAnh = Regex.Match(baiBao.HinhAnh, "src=\"(.+?)\"").Groups[1].Value;

                baiBaoRepository.Update(entity, baiBao);
                return(RedirectToAction(nameof(Index)));
            }

            ViewBag.DanhMuc = danhMucRepository.GetAll();
            return(View(baiBao));
        }
Beispiel #3
0
        public async Task <ActionResult> Edit(HttpPostedFileBase linkUpload, [Bind(Include = "MaBaiBao,MaISSN,TenBaiBao,LaTrongNuoc,CQXuatBan,MaLoaiTapChi,MaCapTapChi,NamDangBao,TapPhatHanh,SoPhatHanh,TrangBaiBao,LienKetWeb,LinkFileUpLoad")] BaiBao baiBao)
        {
            if (ModelState.IsValid)
            {
                db.Entry(baiBao).State = EntityState.Modified;
                await db.SaveChangesAsync();

                if (linkUpload != null && linkUpload.ContentLength > 0)
                {
                    string filename = Path.GetFileNameWithoutExtension(linkUpload.FileName) + "_" + baiBao.MaBaiBao.ToString() + Path.GetExtension(linkUpload.FileName);
                    string path     = Path.Combine(Server.MapPath("~/App_Data/uploads/baibao_file"), filename);
                    if (!String.IsNullOrEmpty(baiBao.LinkFileUpLoad))
                    {
                        string oldpath = Path.Combine(Server.MapPath("~/App_Data/uploads/baibao_file"), baiBao.LinkFileUpLoad);
                        if (System.IO.File.Exists(oldpath))
                        {
                            System.IO.File.Delete(oldpath);
                        }
                    }
                    linkUpload.SaveAs(path);
                    baiBao.LinkFileUpLoad = filename;
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.MaCapTapChi  = new SelectList(db.CapTapChis, "MaCapTapChi", "TenCapTapChi", baiBao.MaCapTapChi);
            ViewBag.MaLoaiTapChi = new SelectList(db.PhanLoaiTapChis, "MaLoaiTapChi", "TenLoaiTapChi", baiBao.MaLoaiTapChi);
            return(View(baiBao));
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            BaiBao baiBao = await db.BaiBaos.FindAsync(id);

            db.BaiBaos.Remove(baiBao);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Beispiel #5
0
 public IHttpActionResult PostThem(BaiBao model)
 {
     if (!ModelState.IsValid)
     {
         return(Ok(new { status = false, message = "Sai dữ liệu đầu vào!" }));
     }
     db.BaiBaos.Add(model);
     db.SaveChanges();
     return(Ok(new { status = true, message = "Thêm mới Bài báo thành công!" }));
 }
Beispiel #6
0
        public IHttpActionResult DeleteBaiBao(int Id)
        {
            BaiBao dbEntry = db.BaiBaos.Find(Id);

            if (dbEntry == null)
            {
                return(Ok(new { status = false, message = "Không tồn tại Bài báo!" }));
            }
            db.BaiBaos.Remove(dbEntry);
            db.SaveChanges();
            return(Ok(new { status = true, message = "Xóa Bài báo thành công!" }));
        }
        // GET: BaiBaos/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaiBao baiBao = await db.BaiBaos.FindAsync(id);

            if (baiBao == null)
            {
                return(HttpNotFound());
            }
            return(View(baiBao));
        }
        // GET: BaiBaos/baibaols/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaiBao baiBao = await db.BaiBaos.FindAsync(id);

            if (baiBao == null)
            {
                return(HttpNotFound());
            }
            ViewBag.IdChuBien = db.DSNguoiThamGiaBaiBaos.Where(p => p.MaBaiBao == baiBao.MaBaiBao && p.LaTacGiaChinh == true).Select(p => p.MaNKH);
            return(View(baiBao));
        }
Beispiel #9
0
        // GET: AdminBaiBao/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaiBao baiBao = await db.BaiBaos.FindAsync(id);

            if (baiBao == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MaCapTapChi  = new SelectList(db.CapTapChis, "MaCapTapChi", "TenCapTapChi", baiBao.MaCapTapChi);
            ViewBag.MaLoaiTapChi = new SelectList(db.PhanLoaiTapChis, "MaLoaiTapChi", "TenLoaiTapChi", baiBao.MaLoaiTapChi);
            return(View(baiBao));
        }
        public IActionResult Create(BaiBao baiBao)
        {
            ModelState.MarkFieldSkipped(nameof(BaiBao.ThoiGianTao));
            ModelState.MarkFieldSkipped(nameof(BaiBao.Username));

            if (ModelState.IsValid)
            {
                baiBao.Username    = HttpContext.Session.GetString(DashboardController.AdminUsername);
                baiBao.ThoiGianTao = DateTime.Now;
                baiBao.HinhAnh     = Regex.Match(baiBao.HinhAnh, "src=\"(.+?)\"").Groups[1].Value;

                baiBaoRepository.Add(baiBao);

                return(RedirectToAction(nameof(Index)));
            }
            ViewBag.DanhMuc = danhMucRepository.GetAll();
            return(View(baiBao));
        }
Beispiel #11
0
        public async Task <ActionResult> CreateLinhVucBaiBao(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            BaiBao baiBao = await db.BaiBaos.FindAsync(id);

            if (baiBao == null)
            {
                return(HttpNotFound());
            }


            ViewBag.MaLinhVuc = new SelectList(db.LinhVucs, "MaLinhVuc", "TenLinhVuc");
            return(View(baiBao));
        }
Beispiel #12
0
        public async Task <ActionResult> DeleteLinhVucBaiBao(int?id, int?idBaiBao)
        {
            if (id == null || idBaiBao == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaiBao baibao = await db.BaiBaos.Where(p => p.MaBaiBao == idBaiBao).FirstOrDefaultAsync();

            LinhVuc linhvuc = await db.LinhVucs.Where(p => p.MaLinhVuc == id).FirstOrDefaultAsync();

            if (baibao == null || linhvuc == null)
            {
                return(HttpNotFound());
            }
            baibao.LinhVucs.Remove(linhvuc);
            await db.SaveChangesAsync();

            return(RedirectToAction("LinhVucBaiBao"));
        }
Beispiel #13
0
        public async Task <ActionResult> CreateLinhVucBaiBao(int id, int MaLinhVuc)
        {
            if (ModelState.IsValid)
            {
                BaiBao baiBao = await db.BaiBaos.FindAsync(id);

                LinhVuc lv = await db.LinhVucs.FindAsync(MaLinhVuc);

                baiBao.LinhVucs.Add(lv);
                await db.SaveChangesAsync();

                return(RedirectToAction("LinhVucBaiBao"));
            }

            BaiBao baibao = await db.BaiBaos.FindAsync(id);

            ViewBag.MaLinhVuc = new SelectList(db.LinhVucs, "MaLinhVuc", "TenLinhVuc");
            return(View(baibao));
        }
Beispiel #14
0
        // GET: AdminBaiBao/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaiBao baiBao = await db.BaiBaos.FindAsync(id);

            if (baiBao == null)
            {
                return(HttpNotFound());
            }


            var baibaodetai = db.DSBaiBaoDeTais.Where(p => p.MaBaiBao == id).ToList();

            foreach (var item in baibaodetai)
            {
                db.DSBaiBaoDeTais.Remove(item);
                db.SaveChanges();
            }

            var nguoithamgia = db.DSNguoiThamGiaBaiBaos.Where(p => p.MaBaiBao == id).ToList();

            foreach (var item in nguoithamgia)
            {
                db.DSNguoiThamGiaBaiBaos.Remove(item);
            }

            var linhvuc = baiBao.LinhVucs.ToList();

            foreach (var item in linhvuc)
            {
                baiBao.LinhVucs.Remove(item);
            }


            db.BaiBaos.Remove(baiBao);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Beispiel #15
0
        public IHttpActionResult PutSua(BaiBao model)
        {
            if (!ModelState.IsValid)
            {
                return(Ok(new { status = false, message = "Sai dữ liệu đầu vào!" }));
            }
            BaiBao dbEntry = db.BaiBaos.Find(model.Id);

            if (dbEntry == null)
            {
                return(Ok(new { status = false, message = "Không tồn tại Bài báo!" }));
            }
            dbEntry.Ten             = model.Ten;
            dbEntry.TenTapChiCongBo = model.TenTapChiCongBo;
            dbEntry.NamHoc          = model.NamHoc;
            dbEntry.KiHoc           = model.KiHoc;
            dbEntry.IdLoaiBaiBao    = model.IdLoaiBaiBao;
            db.SaveChanges();
            return(Ok(new { status = true, message = "Sửa Bài báo thành công!" }));
        }
        // GET: BaiBaos/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaiBao baiBao = await db.BaiBaos.FindAsync(id);

            if (baiBao == null)
            {
                return(HttpNotFound());
            }

            var lstAllNKH = db.NhaKhoaHocs.Where(p => p.MaNKH != 1).Select(p => new
            {
                p.MaNKH,
                TenNKH = p.HoNKH + " " + p.TenNKH
            }).ToList();
            var tacgiaphu     = db.NhaKhoaHocs.Where(p => p.DSNguoiThamGiaBaiBaos.Any(d => d.MaBaiBao == baiBao.MaBaiBao && d.LaTacGiaChinh == false)).Select(p => p.MaNKH).ToList();
            var detaibaibao   = db.DSBaiBaoDeTais.Where(p => p.MaBaiBao == baiBao.MaBaiBao).Select(p => p.MaDeTai).ToList();
            var linhvucbaibao = db.BaiBaos.Where(p => p.MaBaiBao == baiBao.MaBaiBao).Include(p => p.LinhVucs).FirstOrDefault();
            var linhvuc       = baiBao.LinhVucs.Select(p => p.MaLinhVuc).ToList();

            ViewBag.MaCapTapChi          = new SelectList(db.CapTapChis, "MaCapTapChi", "TenCapTapChi", baiBao.MaCapTapChi);
            ViewBag.MaLoaiTapChi         = new SelectList(db.PhanLoaiTapChis, "MaLoaiTapChi", "TenLoaiTapChi", baiBao.MaLoaiTapChi);
            ViewBag.DSNguoiThamGiaBaiBao = new MultiSelectList(lstAllNKH, "MaNKH", "TenNKH", tacgiaphu);
            ViewBag.DSLinhVuc            = new MultiSelectList(db.LinhVucs, "MaLinhVuc", "TenLinhVuc", linhvuc);
            ViewBag.DeTai = new MultiSelectList(db.DeTais, "MaDeTai", "TenDeTai", detaibaibao);

            ViewBag.NguonGoc = new List <SelectListItem> {
                new SelectListItem {
                    Text = "Trong nước", Value = "true"
                },
                new SelectListItem {
                    Text = "Ngoài nước", Value = "false"
                }
            };
            return(View(baiBao));
        }
Beispiel #17
0
        public void AddRecordFromCSV(string fileName)
        {
            using (StreamReader sr = new StreamReader(fileName))
            {
                try
                {
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        string[] resultArray;
                        BaiBao   baibao = new BaiBao();

                        Regex r = new Regex(",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))");
                        resultArray = r.Split(line);
                        string maissn      = resultArray[0];
                        BaiBao checkbaibao = db.BaiBaos.Where(p => p.MaISSN == maissn).FirstOrDefault();
                        if (checkbaibao == null)
                        {
                            //maissn,tenbaibao,cqxuatban,tapphathanh,sophathanh,trangbaibao,lienketweb
                            baibao.MaISSN      = resultArray[0];
                            baibao.TenBaiBao   = resultArray[1];
                            baibao.CQXuatBan   = resultArray[2];
                            baibao.TapPhatHanh = resultArray[3];
                            baibao.SoPhatHanh  = resultArray[4];
                            baibao.TrangBaiBao = resultArray[5];
                            baibao.LienKetWeb  = resultArray[6];

                            db.BaiBaos.Add(baibao);
                            db.SaveChanges();
                        }
                    }
                }
                catch (Exception exception)
                {
                    throw exception;
                }
            }
        }
Beispiel #18
0
        public async Task <ActionResult> Create(HttpPostedFileBase linkUpload, [Bind(Include = "MaBaiBao,MaISSN,TenBaiBao,LaTrongNuoc,CQXuatBan,MaLoaiTapChi,MaCapTapChi,NamDangBao,TapPhatHanh,SoPhatHanh,TrangBaiBao,LienKetWeb")] BaiBao baiBao)
        {
            if (ModelState.IsValid)
            {
                db.BaiBaos.Add(baiBao);
                await db.SaveChangesAsync();

                db.BaiBaos.Attach(baiBao);
                if (linkUpload != null && linkUpload.ContentLength > 0)
                {
                    string filename = Path.GetFileNameWithoutExtension(linkUpload.FileName) + "_" + baiBao.MaBaiBao.ToString() + Path.GetExtension(linkUpload.FileName);
                    string path     = Path.Combine(Server.MapPath("~/App_Data/uploads/baibao_file"), filename);
                    linkUpload.SaveAs(path);
                    baiBao.LinkFileUpLoad = filename;
                }
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            ViewBag.MaCapTapChi  = new SelectList(db.CapTapChis, "MaCapTapChi", "TenCapTapChi", baiBao.MaCapTapChi);
            ViewBag.MaLoaiTapChi = new SelectList(db.PhanLoaiTapChis, "MaLoaiTapChi", "TenLoaiTapChi", baiBao.MaLoaiTapChi);
            return(View(baiBao));
        }
        public async Task <ActionResult> Edit(List <int> LinhVuc, List <string> DeTaiBaiBao, List <string> DSNguoiThamGiaBaiBao, [Bind(Include = "MaBaiBao,MaISSN,TenBaiBao,LaTrongNuoc,CQXuatBan,MaLoaiTapChi,MaCapTapChi,NamDangBao,TapPhatHanh,SoPhatHanh,TrangBaiBao,LienKetWeb")] BaiBao baiBao, HttpPostedFileBase linkUpload)
        {
            if (ModelState.IsValid)
            {
                var baibao = db.BaiBaos.Where(p => p.MaBaiBao == baiBao.MaBaiBao).Include(p => p.LinhVucs).Include(p => p.DSBaiBaoDeTais).Include(p => p.DSNguoiThamGiaBaiBaos).FirstOrDefault();
                baiBao.LinhVucs              = baibao.LinhVucs;
                baiBao.DSBaiBaoDeTais        = baibao.DSBaiBaoDeTais;
                baiBao.DSNguoiThamGiaBaiBaos = baibao.DSNguoiThamGiaBaiBaos;
                /* xử lý ảnh upload*/
                if (linkUpload != null && linkUpload.ContentLength > 0)
                {
                    string filename = Path.GetFileNameWithoutExtension(linkUpload.FileName) + "_" + baiBao.MaBaiBao.ToString() + Path.GetExtension(linkUpload.FileName);
                    string path     = Path.Combine(Server.MapPath("~/App_Data/uploads/baibao_file"), filename);
                    if (!String.IsNullOrEmpty(baibao.LinkFileUpLoad))
                    {
                        string oldpath = Path.Combine(Server.MapPath("~/App_Data/uploads/baibao_file"), baibao.LinkFileUpLoad);
                        if (System.IO.File.Exists(oldpath))
                        {
                            System.IO.File.Delete(oldpath);
                        }
                    }
                    linkUpload.SaveAs(path);
                    baiBao.LinkFileUpLoad = filename;
                }
                else
                {
                    baiBao.LinkFileUpLoad = baibao.LinkFileUpLoad;
                }
                db.BaiBaos.AddOrUpdate(baiBao);
                /* phần xửa lý lĩnh vực*/

                if (LinhVuc != null)
                {
                    var deletedlinhvuc = baibao.LinhVucs.Where(p => !LinhVuc.Contains(p.MaLinhVuc)).ToList();
                    var addedlinhvuc   = LinhVuc.Except(baibao.LinhVucs.Select(p => p.MaLinhVuc).ToList <int>());
                    var addlinhvuc     = db.LinhVucs.Where(p => addedlinhvuc.Contains(p.MaLinhVuc)).ToList();
                    foreach (var d in deletedlinhvuc)
                    {
                        baibao.LinhVucs.Remove(d);
                    }
                    foreach (var a in addlinhvuc)
                    {
                        baibao.LinhVucs.Add(a);
                    }
                }
                else
                {
                    foreach (var x in baibao.LinhVucs)
                    {
                        baibao.LinhVucs.Remove(x);
                    }
                }


                /* xừ lý người tham gia bài báo*/
                if (DSNguoiThamGiaBaiBao != null)
                {
                    db.DSNguoiThamGiaBaiBaos.Where(p => p.MaBaiBao == baibao.MaBaiBao && p.LaTacGiaChinh == false).ForEach(z => db.DSNguoiThamGiaBaiBaos.Remove(z));
                    foreach (var mankh in DSNguoiThamGiaBaiBao)
                    {
                        DSNguoiThamGiaBaiBao nguoiTGBB = new DSNguoiThamGiaBaiBao
                        {
                            LaTacGiaChinh = false,
                            MaBaiBao      = baibao.MaBaiBao,
                            MaNKH         = Int32.Parse(mankh)
                        };
                        baibao.DSNguoiThamGiaBaiBaos.Add(nguoiTGBB);
                    }
                }

                /* xử lý đề tài bài báo*/
                if (DeTaiBaiBao != null)
                {
                    db.DSBaiBaoDeTais.Where(p => p.MaBaiBao == baibao.MaBaiBao).ForEach(z => db.DSBaiBaoDeTais.Remove(z));
                    foreach (var madetai in DeTaiBaiBao)
                    {
                        DSBaiBaoDeTai detai = new DSBaiBaoDeTai
                        {
                            MaBaiBao = baiBao.MaBaiBao,
                            MaDeTai  = Int32.Parse(madetai)
                        };
                        db.DSBaiBaoDeTais.Add(detai);
                    }
                }

                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            var lstAllNKH = db.NhaKhoaHocs.Where(p => p.MaNKH != 1).Select(p => new
            {
                p.MaNKH,
                TenNKH = p.HoNKH + " " + p.TenNKH
            }).ToList();
            var tacgiaphu   = db.NhaKhoaHocs.Where(p => p.DSNguoiThamGiaBaiBaos.Any(d => d.MaBaiBao == baiBao.MaBaiBao && d.LaTacGiaChinh == false)).Select(p => p.MaNKH).ToList();
            var detaibaibao = db.DSBaiBaoDeTais.Where(p => p.MaBaiBao == baiBao.MaBaiBao).Select(p => p.MaDeTai).ToList();

            ViewBag.MaCapTapChi          = new SelectList(db.CapTapChis, "MaCapTapChi", "TenCapTapChi", baiBao.MaCapTapChi);
            ViewBag.MaLoaiTapChi         = new SelectList(db.PhanLoaiTapChis, "MaLoaiTapChi", "TenLoaiTapChi", baiBao.MaLoaiTapChi);
            ViewBag.DSNguoiThamGiaBaiBao = new MultiSelectList(lstAllNKH, "MaNKH", "TenNKH", tacgiaphu);
            ViewBag.LinhVuc  = new MultiSelectList(db.LinhVucs, "MaLinhVuc", "TenLinhVuc", baiBao.LinhVucs);
            ViewBag.DeTai    = new MultiSelectList(db.DeTais, "MaDeTai", "TenDeTai", detaibaibao);
            ViewBag.NguonGoc = new List <SelectListItem> {
                new SelectListItem {
                    Text = "Trong nước", Value = "true"
                },
                new SelectListItem {
                    Text = "Ngoài nước", Value = "false"
                }
            };

            return(View(baiBao));
        }
        public async Task <ActionResult> Create(List <int> LinhVuc, List <string> DeTaiBaiBao, List <string> DSNguoiThamGiaBaiBao, [Bind(Include = "MaBaiBao,MaISSN,TenBaiBao,LaTrongNuoc,CQXuatBan,MaLoaiTapChi,MaCapTapChi,NamDangBao,TapPhatHanh,SoPhatHanh,TrangBaiBao,LienKetWeb")] BaiBao baiBao, HttpPostedFileBase linkUpload)
        {
            if (ModelState.IsValid)
            {
                if (linkUpload != null && linkUpload.ContentLength > 0)
                {
                    string filename = Path.GetFileNameWithoutExtension(linkUpload.FileName) + "_" + baiBao.MaBaiBao.ToString() + Path.GetExtension(linkUpload.FileName);
                    string path     = Path.Combine(Server.MapPath("~/App_Data/uploads/baibao_file"), filename);
                    linkUpload.SaveAs(path);
                    baiBao.LinkFileUpLoad = filename;
                }
                if (LinhVuc != null)
                {
                    baiBao.LinhVucs = db.LinhVucs.Where(p => LinhVuc.Contains(p.MaLinhVuc)).ToList();
                }

                db.BaiBaos.Add(baiBao);
                db.SaveChanges();

                UserLoginViewModel user = (UserLoginViewModel)Session["user"];
                db.DSNguoiThamGiaBaiBaos.Add(new DSNguoiThamGiaBaiBao
                {
                    LaTacGiaChinh = true,
                    MaBaiBao      = baiBao.MaBaiBao,
                    MaNKH         = user.MaNKH
                });

                if (DSNguoiThamGiaBaiBao != null)
                {
                    foreach (var mankh in DSNguoiThamGiaBaiBao)
                    {
                        DSNguoiThamGiaBaiBao nguoiTGBB = new DSNguoiThamGiaBaiBao
                        {
                            LaTacGiaChinh = false,
                            MaBaiBao      = baiBao.MaBaiBao,
                            MaNKH         = Int32.Parse(mankh)
                        };
                        db.DSNguoiThamGiaBaiBaos.Add(nguoiTGBB);
                        db.SaveChanges();
                    }
                }
                if (DeTaiBaiBao != null)
                {
                    foreach (var madetai in DeTaiBaiBao)
                    {
                        DSBaiBaoDeTai detai = new DSBaiBaoDeTai
                        {
                            MaBaiBao = baiBao.MaBaiBao,
                            MaDeTai  = Int32.Parse(madetai)
                        };
                        db.DSBaiBaoDeTais.Add(detai);
                        db.SaveChanges();
                    }
                }

                return(RedirectToAction("Index"));
            }


            var lstAllNKH = db.NhaKhoaHocs.Where(p => p.MaNKH != 1).Select(p => new
            {
                p.MaNKH,
                TenNKH = p.HoNKH + " " + p.TenNKH
            }).ToList();
            var tacgiaphu   = db.NhaKhoaHocs.Where(p => p.DSNguoiThamGiaBaiBaos.Any(d => d.MaBaiBao == baiBao.MaBaiBao && d.LaTacGiaChinh == false)).Select(p => p.MaNKH).ToList();
            var detaibaibao = db.DSBaiBaoDeTais.Where(p => p.MaBaiBao == baiBao.MaBaiBao).Select(p => p.MaDeTai).ToList();

            ViewBag.MaCapTapChi          = new SelectList(db.CapTapChis, "MaCapTapChi", "TenCapTapChi", baiBao.MaCapTapChi);
            ViewBag.MaLoaiTapChi         = new SelectList(db.PhanLoaiTapChis, "MaLoaiTapChi", "TenLoaiTapChi", baiBao.MaLoaiTapChi);
            ViewBag.DSNguoiThamGiaBaiBao = new MultiSelectList(lstAllNKH, "MaNKH", "TenNKH", tacgiaphu);
            ViewBag.LinhVuc  = new MultiSelectList(db.LinhVucs, "MaLinhVuc", "TenLinhVuc", baiBao.LinhVucs);
            ViewBag.DeTai    = new MultiSelectList(db.DeTais, "MaDeTai", "TenDeTai", detaibaibao);
            ViewBag.NguonGoc = new List <SelectListItem> {
                new SelectListItem {
                    Text = "Trong nước", Value = "true"
                },
                new SelectListItem {
                    Text = "Ngoài nước", Value = "false"
                }
            };

            return(View(baiBao));
        }