private bool Validate(TN_DauViec obj) { ModelState.Clear(); if (string.IsNullOrEmpty(obj.TenDauViec) || string.IsNullOrEmpty(obj.TenDauViec.Trim())) { ModelState.AddModelError("TenDauViec", "Tên đầu việc không được để trống"); } if (string.IsNullOrEmpty(obj.NguoiThucHien_ID)) { ModelState.AddModelError("NguoiThucHien_ID", "Người thực hiện không được để trống"); } if (obj.TuNgay == null || obj.TuNgay == new DateTime()) { ModelState.AddModelError("TuNgay", "Ngày bắt đầu không hợp lệ"); } if (obj.DenNgay == null || obj.DenNgay == new DateTime()) { ModelState.AddModelError("DenNgay", "Ngày kết thúc không hợp lệ"); } //if (obj.PhamVi == null) //{ // ModelState.AddModelError("PhamVi", "Chưa chọn phạm vi công việc"); //} if (string.IsNullOrEmpty(obj.NoiDung) || string.IsNullOrEmpty(obj.NoiDung.Trim())) { ModelState.AddModelError("NoiDung", "Nội dung không được để trống"); } if (ModelState.IsValid) return true; else return false; }
private dynamic GetLoaiChuyen(ApplicationUser user, TN_DauViec tN_DauViec) { var list = new List<SelectListItem>(); if (tN_DauViec == null) return list; var objChuyenActiveUser = db.TN_Chuyen.FirstOrDefault(o => o.Active == 1 && o.NguoiNhan_ID == user.Id && o.LoaiChuyen == LoaiChuyen.BaoCao && o.Viec_ID == tN_DauViec.ID); //if (tN_DauViec.NguoiDuyet_ID.Contains(user.Id)) if (objChuyenActiveUser != null && objChuyenActiveUser.Chuyen_ID > 0) list.Add(new SelectListItem() { Text = "Giao việc", Value = "0", Selected = false }); var lstChuyen = db.TN_Chuyen.Where(o => o.Viec_ID == tN_DauViec.ID && o.Active == 1 && (o.NguoiNhan_ID.Substring(0, 36).Contains(user.Id) || o.LoaiChuyen == LoaiChuyen.XinYKien)); if (lstChuyen != null && lstChuyen.Any()) { if (lstChuyen.Where(o => o.LoaiChuyen == LoaiChuyen.BaoCao || o.LoaiChuyen == LoaiChuyen.GiaoViec) != null && lstChuyen.Where(o => o.LoaiChuyen == LoaiChuyen.BaoCao || o.LoaiChuyen == LoaiChuyen.GiaoViec).Any() && !tN_DauViec.NguoiDuyet_ID.Contains(user.Id)) { list.Add(new SelectListItem() { Text = "Giao việc", Value = "0", Selected = false }); list.Add(new SelectListItem() { Text = "Báo cáo", Value = "1", Selected = false }); } var xyk = lstChuyen.Where(o => o.LoaiChuyen == LoaiChuyen.XinYKien && o.NguoiNhan_ID == user.Id); if (xyk != null && xyk.Any()) list.Add(new SelectListItem() { Text = "Trả lời ý kiến", Value = "3", Selected = false }); } if (tN_DauViec.NguoiThucHien_ID.Contains(user.Id)) list.Add(new SelectListItem() { Text = "Lấy ý kiến", Value = "2", Selected = false }); return list; }
public ActionResult Create(TN_DauViec obj, List<HttpPostedFileBase> fileUpload, string FileXoa, string returnUrl, string Ykien) { var user = (ApplicationUser)S4T_HaTinhBase.GetUserSession(); if (user == null) return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); obj.PhamVi = PhamVi.PhongBan;// make to default //var objCauHinh = db.Ht_ThamSoHeThong.First(o => o.MaThamSo == "SepID"); GetViewBag(); if (!Validate(obj)) { ViewBag.returnUrl = returnUrl; return View(obj); } try { var path = Server.MapPath("~") + "\\Upload\\TacNghiep"; var idDelete = string.Empty; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var lstName = string.Empty; if (fileUpload != null && fileUpload.Any()) foreach (var item in fileUpload) { if (item != null) { var fileName = item.FileName; if (item.ContentLength > 0 && !string.IsNullOrEmpty(fileName)) { string newPath = Path.Combine(path, fileName); fileName = Path.GetFileNameWithoutExtension(newPath) + "_" + DateTime.Now.ToBinary() + "_" + Path.GetExtension(newPath); newPath = Path.Combine(path, fileName); item.SaveAs(newPath); lstName += fileName + ";"; } } } obj.Display = obj.NguoiThucHien_ID; obj.TenNguoiThucHien = GetTenNguoiThucHien(obj.NguoiThucHien_ID); //obj.TenNguoiDuyet = db.AspNetUsers.FirstOrDefault(o => o.Id == obj.NguoiDuyet_ID).HoVaTen; obj.TenNguoiDuyet = user.HoVaTen; obj.NguoiTao_ID = user.Id; obj.NgayTao = DateTime.Now; if (obj.ID <= 0) { obj.NguoiDuyet_ID = user.Id;// make to default if (lstName.Length > 2) obj.FileDinhKem = lstName; db.TN_DauViec.Add(obj); } else { var objOld = db.TN_DauViec.FirstOrDefault(o => o.ID == obj.ID); idDelete = GetchangeAssign(objOld.NguoiThucHien_ID, obj.NguoiThucHien_ID); if (!string.IsNullOrEmpty(FileXoa)) { foreach (var item in FileXoa.Split(';')) { if (string.IsNullOrEmpty(item)) break; objOld.FileDinhKem = objOld.FileDinhKem.Replace(item, ""); objOld.FileDinhKem = objOld.FileDinhKem.Replace(";;", ";"); } } objOld.FileDinhKem += lstName; objOld.DenNgay = obj.DenNgay; objOld.LoaiViec = obj.LoaiViec; objOld.NgayTao = obj.NgayTao; //objOld.NguoiDuyet_ID = obj.NguoiDuyet_ID; objOld.NguoiTao_ID = obj.NguoiTao_ID; objOld.NguoiThucHien_ID = obj.NguoiThucHien_ID; objOld.NoiDung = obj.NoiDung; objOld.Parent_ID = obj.Parent_ID; //objOld.PhamVi = obj.PhamVi; objOld.TenDauViec = obj.TenDauViec; objOld.TenNguoiDuyet = obj.TenNguoiDuyet; objOld.TienDo = obj.TienDo; objOld.TenNguoiThucHien = obj.TenNguoiThucHien; objOld.TuNgay = obj.TuNgay; objOld.Display = obj.Display; db.Entry(objOld).State = EntityState.Modified; } if (obj.Parent_ID != null) { var parentObj = db.TN_DauViec.FirstOrDefault(o => o.ID == obj.Parent_ID); var lstNguoiThucHien = db.AspNetUsers.Where(o => obj.NguoiThucHien_ID.Contains(o.Id)); var lstDauViecCon = db.TN_DauViec.Where(o => o.Parent_ID == obj.Parent_ID && o.ID != obj.ID);// another child foreach (var item in idDelete.Split(','))//Delete Display ID in parent which delete in child. { if (string.IsNullOrEmpty(item) || lstDauViecCon.Where(o => o.Display.Contains(item)).Any())// null or exist work item which contain idDelete continue; parentObj.Display = parentObj.Display.Replace("," + item, ""); //parentObj.Display.Replace(item, ""); } foreach (var item in lstNguoiThucHien) { if (!parentObj.NguoiThucHien_ID.Contains(item.Id)) { if (!parentObj.Display.Contains(item.Id)) parentObj.Display += "," + item.Id; } } db.Entry(parentObj).State = EntityState.Modified; } db.SaveChanges(); var objChuyen = new TN_Chuyen(); objChuyen.LoaiChuyen = LoaiChuyen.GiaoViec; objChuyen.NguoiChuyen_ID = user.Id; objChuyen.NguoiNhan_ID = obj.NguoiThucHien_ID; objChuyen.TenNguoiChuyen = user.HoVaTen; objChuyen.TenNguoiNhan = obj.TenNguoiThucHien; objChuyen.Viec_ID = obj.ID; objChuyen.Ykien = Ykien; objChuyen.Active = 1; objChuyen.LuongBaoCao = user.Id + ";"; db.TN_Chuyen.Add(objChuyen); db.SaveChanges(); } catch (Exception ex) { ModelState.AddModelError("FileDinhKem", "Lỗi upload"); ViewBag.returnUrl = returnUrl; return View(obj); } return RedirectToLocal(returnUrl); }
public ActionResult Create(int? ParentID, string returnUrl) { var objCauHinh = db.Ht_ThamSoHeThong.First(o => o.MaThamSo == "SepID"); GetViewBag(); var user = (ApplicationUser)S4T_HaTinhBase.GetUserSession(); if (user == null) return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); var obj = new TN_DauViec(); ViewBag.returnUrl = returnUrl; if (ParentID != null) { //ViewBag.returnUrl = "/LapKeHoach/Detail/" + ParentID; obj.PhamVi = PhamVi.CaNhan; obj.Parent_ID = ParentID; return View(obj); } if (objCauHinh != null && !string.IsNullOrEmpty(objCauHinh.GiaTriThamSo) && objCauHinh.GiaTriThamSo.Contains(user.Id)) { return View(); } obj.PhamVi = PhamVi.CaNhan; return View(obj); }