// [Audit] public ActionResult Create(NhaThuocViewModel formCollection) { try { UserProfile tkQuanLy = null; // check administrator account. if (formCollection.Administrator <= 0) { ModelState.AddModelError("Administrator", "Chưa chọn tài khoản quản lý"); } else { tkQuanLy = unitOfWork.UserProfileRepository.GetById(formCollection.Administrator); } if (tkQuanLy == null) { formCollection.Administrator = 0; ModelState.AddModelError("Administrator", "Tài khoản quản lý không tồn tại"); } if (ModelState.IsValid) { var nhaThuoc = formCollection.ToDomainModel(); nhaThuoc.HoatDong = true; // Mặc định là true khi tạo mới nhaThuoc.Created = DateTime.Now; nhaThuoc.CreatedBy = unitOfWork.UserProfileRepository.GetById(WebSecurity.GetCurrentUserId); unitOfWork.NhaThuocRepository.Insert(nhaThuoc); var nhanVienNhaThuoc = new NhanVienNhaThuoc() { NhaThuoc = nhaThuoc, User = tkQuanLy, Role = Constants.Security.Roles.Admin.Value }; unitOfWork.NhanVienNhaThuocRespository.Insert(nhanVienNhaThuoc); // default entities taoDuLieuBanDauChoNhaThuoc(nhaThuoc); unitOfWork.Save(); // assign Admin role to the user. Roles.Provider.AddUsersToRoles(new[] { tkQuanLy.UserName }, new[] { Constants.Security.Roles.Admin.Value }); } else { //var items = new TinhThanhServices().getMany().ToList(); //ViewBag.LstTinhThanh = items; return(View(formCollection)); } return(RedirectToAction("Index")); } catch (Exception ex) { ViewBag.ErrorMsg = "Có lỗi xảy ra, vui lòng liên hệ quản trị hệ thống!"; return(RedirectToAction("Index")); } }
// GET: NhaThuoc/Create public ActionResult Create() { var model = new NhaThuocViewModel() { MaNhaThuoc = unitOfWork.NhaThuocRepository.GenereateNextId("NT") }; //var items = new TinhThanhServices().getMany().ToList(); //ViewBag.LstTinhThanh = items; return(View(model)); }
// [Audit] public ActionResult EditInfo(NhaThuocViewModel formCollection) { if (ModelState.IsValid) { var nhaThuoc = formCollection.ToDomainModel(unitOfWork.NhaThuocRepository.GetById(formCollection.MaNhaThuoc)); nhaThuoc.Modified = DateTime.Now; nhaThuoc.ModifiedBy = unitOfWork.UserProfileRepository.GetById(WebSecurity.GetCurrentUserId); unitOfWork.NhaThuocRepository.Update(nhaThuoc); unitOfWork.Save(); return(View("thongtin", formCollection)); } return(View("Error")); }
// [Audit] public ActionResult Edit(string id, NhaThuocViewModel formCollection) { try { UserProfile tkQuanLy = null; // check administrator account. if (formCollection.Administrator <= 0) { ModelState.AddModelError("Administrator", "Chưa chọn tài khoản quản lý"); } else { tkQuanLy = unitOfWork.UserProfileRepository.GetById(formCollection.Administrator); } if (tkQuanLy == null) { ModelState.AddModelError("Administrator", "Tài khoản quản lý không tồn tại"); } var nhaThuoc = unitOfWork.NhaThuocRepository.GetById(id); if (nhaThuoc == null) { ViewBag.Message = "Không tồn tại nhà thuốc; ID= " + id; return(View("Error")); } if (ModelState.IsValid) { nhaThuoc.Mobile = formCollection.Mobile; nhaThuoc.DiaChi = formCollection.DiaChi; nhaThuoc.DienThoai = formCollection.DienThoai; nhaThuoc.DuocSy = formCollection.DuocSy; nhaThuoc.Email = formCollection.Email; nhaThuoc.NguoiDaiDien = formCollection.NguoiDaiDien; nhaThuoc.SoKinhDoanh = formCollection.SoKinhDoanh; nhaThuoc.TenNhaThuoc = formCollection.TenNhaThuoc; nhaThuoc.TinhThanhId = formCollection.TinhThanhId; //nhaThuoc.HoatDong = formCollection.HoatDong; nhaThuoc.Modified = DateTime.Now; nhaThuoc.ModifiedBy = unitOfWork.UserProfileRepository.GetById(WebSecurity.GetCurrentUserId); if (checkGiaoDich(formCollection.MaNhaThuoc)) { nhaThuoc.MaNhaThuocCha = formCollection.MaNhaThuocCha; } unitOfWork.NhaThuocRepository.Update(nhaThuoc); var nhanVienNhaThuoc = nhaThuoc.Nhanviens.FirstOrDefault(e => e.Role == Constants.Security.Roles.Admin.Value); if (nhanVienNhaThuoc == null) { nhanVienNhaThuoc = new NhanVienNhaThuoc() { NhaThuoc = nhaThuoc, User = tkQuanLy, Role = Constants.Security.Roles.Admin.Value }; unitOfWork.NhanVienNhaThuocRespository.Insert(nhanVienNhaThuoc); } else { nhanVienNhaThuoc.User = tkQuanLy; unitOfWork.NhanVienNhaThuocRespository.Update(nhanVienNhaThuoc); } unitOfWork.Save(); // assign Admin role to the user. if (!Roles.Provider.IsUserInRole(tkQuanLy.UserName, Constants.Security.Roles.Admin.Value)) { Roles.Provider.AddUsersToRoles(new[] { tkQuanLy.UserName }, new[] { Constants.Security.Roles.Admin.Value }); } } else { return(View("Create", formCollection)); } return(RedirectToAction("Index")); } catch (Exception e) { return(View("Create")); } }