public async Task <ActionResult <IEnumerable <VB_QT_VanBanMoiSoHoa> > > r2AddQTChuyenChoPheDuyet(VB_QT_LuanChuyenVanBan vB_QT_LuanChuyenVanBan) { try { var userId = Convert.ToInt32(User.Claims.First(c => c.Type == "UserId").Value); var user = await _context.Sys_Dm_User.FindAsync(userId); var userNN = await _context.Sys_Dm_User.FindAsync(vB_QT_LuanChuyenVanBan.NguoiNhanId); var qtLuanChuyenVb = await _context.VB_QT_LuanChuyenVanBan.FindAsync(vB_QT_LuanChuyenVanBan.Id); qtLuanChuyenVb.NgayDoc = DateTime.Now; qtLuanChuyenVb.DaDoc = true; qtLuanChuyenVb.NgayXuLy = DateTime.Now; VB_QT_LuanChuyenVanBan lcvb = LuanChuyenVanBan.r2AddLuanChuyenVanBan( qtLuanChuyenVb.VbMoiSoHoaId, vB_QT_LuanChuyenVanBan.NguoiNhanId, vB_QT_LuanChuyenVanBan.TenNguoiNhan, userId, user.FullName, vB_QT_LuanChuyenVanBan.TieuDe, vB_QT_LuanChuyenVanBan.NoiDung, false, vB_QT_LuanChuyenVanBan.HanXuLy, null, vB_QT_LuanChuyenVanBan.TrangThaiXuLy, vB_QT_LuanChuyenVanBan.MaLenh, null, false, qtLuanChuyenVb.Id, vB_QT_LuanChuyenVanBan.MenuGuiId, vB_QT_LuanChuyenVanBan.MenuNhanId, userNN.PositionName, user.PositionName, userNN.DepartmentName, user.DepartmentName); _context.VB_QT_LuanChuyenVanBan.Add(lcvb); Sys_QT_ThongBao obj = new Sys_QT_ThongBao(); obj.MaLenh = vB_QT_LuanChuyenVanBan.MaLenh; obj.QuyTrinhId = 1; obj.TenNguoiGui = user.FullName; obj.NguoiNhanId = vB_QT_LuanChuyenVanBan.NguoiNhanId ?? 0; obj.NoiDung = vB_QT_LuanChuyenVanBan.NoiDung; obj.NgayGui = DateTime.Now; obj.DaDoc = false; obj.NgayDoc = null; obj.TrangThaiXuLy = vB_QT_LuanChuyenVanBan.TrangThaiXuLy; obj.RouterLink = "/vanban/quytrinhvanban/vanbanchopheduyet"; _context.Sys_QT_ThongBao.Add(obj); List <NguoiNhanThongBao> nhanThongBaos = new List <NguoiNhanThongBao>(); NguoiNhanThongBao nguoiNhan = new NguoiNhanThongBao(); nguoiNhan.NguoiNhanId = vB_QT_LuanChuyenVanBan.NguoiNhanId ?? 0; nhanThongBaos.Add(nguoiNhan); await _context.SaveChangesAsync(); return(new ObjectResult(new { error = 0, nguoiNhanTbs = nhanThongBaos })); } catch (Exception) { return(new ObjectResult(new { error = 1 })); } }
public async Task <ActionResult <IEnumerable <VB_QT_VanBanMoiSoHoa> > > r2AddQTPheDuyetTrinhKy(LuanChuyenVbDuyetTrinhKy luanChuyenVbXNHT) { try { List <NguoiNhanThongBao> nhanThongBaos = new List <NguoiNhanThongBao>(); var userId = Convert.ToInt32(User.Claims.First(c => c.Type == "UserId").Value); var user = await _context.Sys_Dm_User.FindAsync(userId); var qtLuanChuyenVb = await _context.VB_QT_LuanChuyenVanBan.FindAsync(luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.Id); qtLuanChuyenVb.NgayXuLy = DateTime.Now; qtLuanChuyenVb.NgayDoc = DateTime.Now; qtLuanChuyenVb.DaDoc = true; var nguoiNhans = _context.VB_QT_LuanChuyenVanBan.Where(x => x.VbMoiSoHoaId == qtLuanChuyenVb.VbMoiSoHoaId).Select(a => new { a.TenNguoiGui, a.NguoiGuiId, a.MaLenh }).Distinct().ToList(); if (luanChuyenVbXNHT.UserXNHT.isNguoiGui == true) { foreach (var item in nguoiNhans.Where(x => x.MaLenh == "VB_CHOTRINHKY" && x.NguoiGuiId != nguoiNhans.FirstOrDefault(x => x.MaLenh == "VB_MOISOHOA").NguoiGuiId)) { var userNN = await _context.Sys_Dm_User.FindAsync(item.NguoiGuiId); VB_QT_LuanChuyenVanBan lcvb = LuanChuyenVanBan.r2AddLuanChuyenVanBan( qtLuanChuyenVb.VbMoiSoHoaId, item.NguoiGuiId, item.TenNguoiGui, userId, user.FullName, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.TieuDe, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.NoiDung, false, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.HanXuLy, null, 5, "VB_NHANTHONGBAO", null, false, qtLuanChuyenVb.Id, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.MenuGuiId, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.MenuNhanId, userNN.PositionName, user.PositionName, userNN.DepartmentName, user.DepartmentName); _context.VB_QT_LuanChuyenVanBan.Add(lcvb); // thêm vào thông báo Sys_QT_ThongBao obj = new Sys_QT_ThongBao(); obj.MaLenh = "VB_NHANTHONGBAO"; obj.QuyTrinhId = 1; obj.TenNguoiGui = user.FullName; obj.NguoiNhanId = item.NguoiGuiId; obj.NoiDung = luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.NoiDung; obj.NgayGui = DateTime.Now; obj.DaDoc = false; obj.NgayDoc = null; obj.TrangThaiXuLy = 5; obj.RouterLink = "/vanban/quytrinhvanban/vanbandapheduyet"; NguoiNhanThongBao nguoiNhan = new NguoiNhanThongBao(); nguoiNhan.NguoiNhanId = item.NguoiGuiId; nhanThongBaos.Add(nguoiNhan); _context.Sys_QT_ThongBao.Add(obj); } } var userNNN = await _context.Sys_Dm_User.FindAsync(nguoiNhans.FirstOrDefault(x => x.MaLenh == "VB_MOISOHOA").NguoiGuiId); VB_QT_LuanChuyenVanBan lcvb1 = LuanChuyenVanBan.r2AddLuanChuyenVanBan( qtLuanChuyenVb.VbMoiSoHoaId, nguoiNhans.FirstOrDefault(x => x.MaLenh == "VB_MOISOHOA").NguoiGuiId, nguoiNhans.FirstOrDefault(x => x.MaLenh == "VB_MOISOHOA").TenNguoiGui, userId, user.FullName, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.TieuDe, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.NoiDung, false, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.HanXuLy, null, 3, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.MaLenh, null, false, qtLuanChuyenVb.Id, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.MenuGuiId, luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.MenuNhanId, userNNN.PositionName, user.PositionName, userNNN.DepartmentName, user.DepartmentName); _context.VB_QT_LuanChuyenVanBan.Add(lcvb1); NguoiNhanThongBao nguoiNhan1 = new NguoiNhanThongBao(); nguoiNhan1.NguoiNhanId = nguoiNhans.FirstOrDefault(x => x.MaLenh == "VB_MOISOHOA").NguoiGuiId; nhanThongBaos.Add(nguoiNhan1); // thêm vào thông báo Sys_QT_ThongBao obj1 = new Sys_QT_ThongBao(); obj1.MaLenh = luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.MaLenh; obj1.QuyTrinhId = 1; obj1.TenNguoiGui = user.FullName; obj1.NguoiNhanId = nguoiNhans.FirstOrDefault(x => x.MaLenh == "VB_MOISOHOA").NguoiGuiId; obj1.NoiDung = luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.NoiDung; obj1.NgayGui = DateTime.Now; obj1.DaDoc = false; obj1.NgayDoc = null; obj1.TrangThaiXuLy = luanChuyenVbXNHT.VB_QT_LuanChuyenVanBan.TrangThaiXuLy; obj1.RouterLink = "/vanban/quytrinhvanban/vanbandapheduyet"; _context.Sys_QT_ThongBao.Add(obj1); await _context.SaveChangesAsync(); return(new ObjectResult(new { error = 0, nguoiNhanTbs = nhanThongBaos })); } catch (Exception) { return(new ObjectResult(new { error = 1 })); } }