public ActionResult F**k(int? LoaiChuyen, string NguoiChuyen, int viec_ID, string comment, string returnUrl) { //if (LoaiChuyen == null || string.IsNullOrEmpty(NguoiChuyen)) return JavaScript("Chưa chọn loại chuyển hoặc người nhận"); if (LoaiChuyen == null || string.IsNullOrEmpty(NguoiChuyen)) return Content("Chưa chọn loại chuyển hoặc người nhận"); var user = (ApplicationUser)S4T_HaTinhBase.GetUserSession(); if (user == null) return RedirectToAction("Login", "Account", new { returnUrl = Request.Url.PathAndQuery }); if (LoaiChuyen != null) { var objViec = db.TN_DauViec.FirstOrDefault(o => o.ID == viec_ID); if (LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.BaoCao) { var objChuyen = db.TN_Chuyen.FirstOrDefault(o => o.Viec_ID == viec_ID && o.Active == 1 && (o.LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.BaoCao || o.LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.GiaoViec) && o.NguoiNhan_ID.Contains(user.Id)); if (objChuyen != null) { var objNew = new TN_Chuyen(); objNew.LoaiChuyen = S4T_HaTinh.Common.LoaiChuyen.BaoCao; objNew.NguoiChuyen_ID = user.Id; objNew.NguoiNhan_ID = NguoiChuyen; objNew.TenNguoiChuyen = user.HoVaTen; objNew.TenNguoiNhan = db.AspNetUsers.First(o => o.Id == NguoiChuyen).HoVaTen; objNew.Viec_ID = viec_ID; objNew.Ykien = comment; objNew.Active = 1; objNew.LuongBaoCao = objChuyen.LuongBaoCao.Replace(NguoiChuyen + ";", ""); db.TN_Chuyen.Add(objNew); objChuyen.Active = 0; db.Entry(objChuyen).State = EntityState.Modified; db.SaveChanges(); } } if (LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.GiaoViec) { var objChuyen = db.TN_Chuyen.FirstOrDefault(o => o.Viec_ID == viec_ID && o.Active == 1 && (o.LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.BaoCao || o.LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.GiaoViec) && o.NguoiNhan_ID.Contains(user.Id)); if (objChuyen != null) { var objNew = new TN_Chuyen(); objNew.LoaiChuyen = S4T_HaTinh.Common.LoaiChuyen.GiaoViec; objNew.NguoiChuyen_ID = user.Id; objNew.NguoiNhan_ID = NguoiChuyen; objNew.TenNguoiChuyen = user.HoVaTen; objNew.TenNguoiNhan = db.AspNetUsers.First(o => o.Id == NguoiChuyen).HoVaTen; objNew.Viec_ID = viec_ID; objNew.Ykien = comment; objNew.Active = 1; objNew.LuongBaoCao = objChuyen.LuongBaoCao + user.Id + ";"; db.TN_Chuyen.Add(objNew); objChuyen.Active = 0; db.Entry(objChuyen).State = EntityState.Modified; objViec.Display = objViec.Display + "," + NguoiChuyen; db.Entry(objViec).State = EntityState.Modified; db.SaveChanges(); } } if (LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.XinYKien) { var objNew = new TN_Chuyen(); objNew.LoaiChuyen = S4T_HaTinh.Common.LoaiChuyen.XinYKien; objNew.NguoiChuyen_ID = user.Id; objNew.NguoiNhan_ID = NguoiChuyen; objNew.TenNguoiChuyen = user.HoVaTen; objNew.TenNguoiNhan = db.AspNetUsers.First(o => o.Id == NguoiChuyen).HoVaTen; objNew.Viec_ID = viec_ID; objNew.Ykien = comment; objNew.Active = 1; objNew.LuongBaoCao = ""; db.TN_Chuyen.Add(objNew); objViec.Display = objViec.Display + "," + NguoiChuyen; db.Entry(objViec).State = EntityState.Modified; db.SaveChanges(); } if (LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.TraLoi) { var objChuyen = db.TN_Chuyen.FirstOrDefault(o => o.Viec_ID == viec_ID && o.Active == 1 && o.LoaiChuyen == S4T_HaTinh.Common.LoaiChuyen.XinYKien && o.NguoiNhan_ID == user.Id); var objNew = new TN_Chuyen(); objNew.LoaiChuyen = S4T_HaTinh.Common.LoaiChuyen.TraLoi; objNew.NguoiChuyen_ID = user.Id; objNew.NguoiNhan_ID = NguoiChuyen; objNew.TenNguoiChuyen = user.HoVaTen; objNew.TenNguoiNhan = db.AspNetUsers.First(o => o.Id == NguoiChuyen).HoVaTen; objNew.Viec_ID = viec_ID; objNew.Ykien = comment; objNew.Active = 1; objNew.LuongBaoCao = ""; objNew.TraLoi_ID = objChuyen.Chuyen_ID; db.TN_Chuyen.Add(objNew); objChuyen.Active = 0; db.Entry(objChuyen).State = EntityState.Modified; db.SaveChanges(); } } return RedirectToLocal(returnUrl); }
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); }