public async Task <ActionResult <IEnumerable <VB_QT_QuyTrinh> > > r2AddListDataNNToNhomQuyen(BuocLenhGroupRole options)
        {
            try
            {
                if (_context.VB_QT_BuocLenhGroupRole.Count(x => x.GroupRoleId == options.GroupRoleId && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0)
                {
                    var objup = _context.VB_QT_BuocLenhGroupRole.FirstOrDefault(x => x.GroupRoleId == options.GroupRoleId && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId);
                    objup.IsAll        = options.IsAll ?? false;
                    objup.IsDepartment = options.IsDepartment ?? false;
                    objup.IsNest       = options.IsNest ?? false;
                    objup.IsAllComCha  = options.IsAllComCha ?? false;
                    objup.IsAllComCon  = options.IsAllComCon ?? false;
                    objup.IsNguoiGui   = options.IsNguoiGui ?? false;
                    objup.IsNguoiLap   = options.IsNguoiLap ?? false;
                    objup.IsManagement = options.IsManagement ?? false;
                }
                else
                {
                    VB_QT_BuocLenhGroupRole obj = new VB_QT_BuocLenhGroupRole();
                    obj.BuocLenhTuongTacId = options.BuocLenhTuongTacId;
                    obj.GroupRoleId        = options.GroupRoleId;
                    obj.IsAll        = options.IsAll ?? false;
                    obj.IsDepartment = options.IsDepartment ?? false;
                    obj.IsNest       = options.IsNest ?? false;
                    obj.IsAllComCha  = options.IsAllComCha ?? false;
                    obj.IsAllComCon  = options.IsAllComCon ?? false;
                    obj.IsNguoiGui   = options.IsNguoiGui ?? false;
                    obj.IsNguoiLap   = options.IsNguoiLap ?? false;
                    obj.IsManagement = options.IsManagement ?? false;
                    _context.VB_QT_BuocLenhGroupRole.Add(obj);
                }
                await _context.SaveChangesAsync();

                return(new ObjectResult(new { error = 0 }));
            }
            catch (Exception)
            {
                return(new ObjectResult(new { error = 1 }));
            }
        }
        public async Task <ActionResult <IEnumerable <VB_QT_BuocLenhGroupRole> > > r2GetCauHinhNN(BuocLenhGroupRole options)
        {
            try
            {
                var tables = from a in _context.Sys_Dm_GroupRole
                             where a.CompanyId == options.CompanyId
                             select new
                {
                    a.Name,
                    GroupRoleId = a.Id,
                    a.IsOrder,
                    IsDepartment = _context.VB_QT_BuocLenhGroupRole.Count(x => x.IsDepartment == true && x.GroupRoleId == a.Id && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0 ? true : false,
                    IsAll        = _context.VB_QT_BuocLenhGroupRole.Count(x => x.IsAll == true && x.GroupRoleId == a.Id && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0 ? true : false,
                    IsNest       = _context.VB_QT_BuocLenhGroupRole.Count(x => x.IsNest == true && x.GroupRoleId == a.Id && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0 ? true : false,
                    IsAllComCon  = _context.VB_QT_BuocLenhGroupRole.Count(x => x.IsAllComCon == true && x.GroupRoleId == a.Id && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0 ? true : false,
                    IsAllComCha  = _context.VB_QT_BuocLenhGroupRole.Count(x => x.IsAllComCha == true && x.GroupRoleId == a.Id && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0 ? true : false,
                    IsNguoiLap   = _context.VB_QT_BuocLenhGroupRole.Count(x => x.IsNguoiLap == true && x.GroupRoleId == a.Id && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0 ? true : false,
                    IsNguoiGui   = _context.VB_QT_BuocLenhGroupRole.Count(x => x.IsNguoiGui == true && x.GroupRoleId == a.Id && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0 ? true : false,
                    IsManagement = _context.VB_QT_BuocLenhGroupRole.Count(x => x.IsManagement == true && x.GroupRoleId == a.Id && x.BuocLenhTuongTacId == options.BuocLenhTuongTacId) > 0 ? true : false
                };
                var qrs = await tables.OrderBy(x => x.IsOrder).ToListAsync();

                return(new ObjectResult(new { error = 0, data = qrs }));
            }
            catch (Exception)
            {
                return(new ObjectResult(new { error = 1 }));
            }
        }