Beispiel #1
0
        /// <summary>
        /// 生成单个二维码
        /// </summary>
        /// <param name="subProjectId"></param>
        /// <param name="pixel"></param>
        /// <returns></returns>
        public Task <string> SaveQrCode(Guid subProjectId, int pixel = 4)
        {
            var generator = new QRCodeGenerator();
            var filePath  = GetQrCodePath(subProjectId);

            // 如果存在就不生成
            if (File.Exists(filePath))
            {
                return(Task.FromResult(filePath));
            }
            // 生成二维码
//            var url = "https://dotnet.holacodes.com/app/home/relational-info?id=" + subProjectId;
            // 获取租户信息
            var tenantId    = CurrentUnitOfWork.GetTenantId();
            var tenancyName = tenantId.HasValue ? _tenantManager.GetById((int)tenantId).TenancyName : null;
            // 在url里面填入租户名字
            var url    = $"https://dotnet.holacodes.com/public;tenancyName={tenancyName}/relational-info?id=" + subProjectId;
            var qrCode = new QRCode(generator.CreateQrCode(url, QRCodeGenerator.ECCLevel.M, true));
            var bitmap = qrCode.GetGraphic(pixel, Color.Black, Color.White, true);

            bitmap.Save(filePath, ImageFormat.Jpeg);
            // 释放资源
            qrCode.Dispose();
            bitmap.Dispose();
            generator.Dispose();
            return(Task.FromResult(filePath));
        }
Beispiel #2
0
 protected virtual Tenant GetCurrentTenant()
 {
     using (CurrentUnitOfWork.SetTenantId(null))
     {
         return(TenantManager.GetById(AbpSession.GetTenantId()));
     }
 }
Beispiel #3
0
        public async Task <IActionResult> IndexAsync(int?id = 0)
        {
            var loginTenant = id <= 0 ? null : _tenantManager.GetById((int)id);

            var viewModel = new ChangeModalViewModel
            {
                TenancyName = loginTenant?.TenancyName,
                TenantId    = id
            };

            viewModel.TeneacyItems = _tenantManager.Tenants
                                     .Select(p => new ComboboxItemDto(p.Id.ToString(), p.Name)
            {
                IsSelected = viewModel.TenancyName == p.TenancyName
            })
                                     .ToList();

            viewModel.TeneacyItems.Add(new ComboboxItemDto("0", "Host管理员")
            {
                IsSelected = id == 0
            });

            viewModel.TeneacyItems.Add(new ComboboxItemDto("-1", "默认菜单")
            {
                IsSelected = id == -1
            });

            ViewBag.LoginInfo = await _sessionAppService.GetCurrentLoginInformations();

            return(View(viewModel));
        }
        private string GetTenancyNameOrNull(string emailAddress)
        {
            using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.MayHaveTenant))
            {
                User user = _userManager.FindByEmail(emailAddress);

                if (user != null)
                {
                    if (user.TenantId == null)
                    {
                        return(null);
                    }

                    Tenant tenant = _tenantManager.GetById((int)user.TenantId);

                    return(tenant.TenancyName);
                }
            }

            return(_tenantCache.GetOrNull(AbpSession.TenantId.Value)?.TenancyName);
        }
 protected virtual Tenant GetCurrentTenant()
 {
     return(TenantManager.GetById(InfrastructureSession.GetTenantId()));
 }
Beispiel #6
0
 protected virtual Tenant GetCurrentTenant()
 {
     return(TenantManager.GetById(AbpSession.GetTenantId()));
 }