@page "/Enterprise/Register"
@using Cysharp.Threading.Tasks
@using System.Text
@using BITKit.Crypto
@inject IDIS_EnterpriseService enterpriseService
企业注册
@* *@
用户信息
照片上传
@if (string.IsNullOrEmpty(enterprise.EnterpriseApply.CreditImageContent) is false)
{
var base64 = $"data:image/png;base64,{enterprise.EnterpriseApply.CreditImageContent}";
}
营业执照
@if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdImageFrontContent) is false)
{
var base64 = $"data:image/png;base64,{enterprise.EnterpriseApply.LegalPersonIdImageFrontContent}";
}
法人身份证正面
@if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdImageBackContent) is false)
{
var base64 = $"data:image/png;base64,{enterprise.EnterpriseApply.LegalPersonIdImageBackContent}";
}
法人身份证反面
企业信息
验证
重置
重置验证
注册企业
表单验证
@currentMessage
@foreach (var line in reportBuilder.ToString().Split('\n'))
{
@line
}
@code {
public IDIS_Enterprise enterprise { get; set; }= new();
private string currentMessage { get; set; } = "我们先完成企业信息填写";
private Severity severity { get; set; } = Severity.Normal;
private StringBuilder reportBuilder { get; set; } = new();
private Margin myMargin { get; set; } = Margin.Dense;
private void Verification()
{
reportBuilder.Clear();
if(string.IsNullOrEmpty(enterprise.EnterpriseApply.Prefix))
{
reportBuilder.AppendLine("企业前缀不能为空");
}
if(string.IsNullOrEmpty(enterprise.EnterpriseApply.CreditCode))
{
reportBuilder.AppendLine("信用代码不能为空");
}
if (string.IsNullOrEmpty(enterprise.SystemUser.UserName))
{
reportBuilder.AppendLine("用户名不能为空");
}
if (string.IsNullOrEmpty(enterprise.SystemUser.EMail))
{
reportBuilder.AppendLine("电子邮箱不能为空");
}
if (string.IsNullOrEmpty(enterprise.SystemUser.Mobile))
{
reportBuilder.AppendLine("手机号不能为空");
}
if (string.IsNullOrEmpty(enterprise.SystemUser.Password))
{
reportBuilder.AppendLine("密码不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.NameCN))
{
reportBuilder.AppendLine("企业名称不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.EMail))
{
reportBuilder.AppendLine("企业电子邮箱不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.AddressCN))
{
reportBuilder.AppendLine("企业地址不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.CityCode))
{
reportBuilder.AppendLine("城市代码不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.CountyCode))
{
reportBuilder.AppendLine("县代码不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.Descption))
{
reportBuilder.AppendLine("企业描述不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.ProvinceCode))
{
reportBuilder.AppendLine("省份代码不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.WebSite))
{
reportBuilder.AppendLine("企业网站不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdNumber))
{
reportBuilder.AppendLine("法人身份证号不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdName))
{
reportBuilder.AppendLine("法人姓名不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.Mobile))
{
reportBuilder.AppendLine("企业手机不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.Remarks))
{
reportBuilder.AppendLine("企业备注不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.ContactName))
{
reportBuilder.AppendLine("联系人姓名不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.CreditImageContent))
{
reportBuilder.AppendLine("营业执照不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdImageFrontContent))
{
reportBuilder.AppendLine("法人身份证正面不能为空");
}
if (string.IsNullOrEmpty(enterprise.EnterpriseApply.LegalPersonIdImageBackContent))
{
reportBuilder.AppendLine("法人身份证反面不能为空");
}
if (reportBuilder.Length > 0)
{
currentMessage = "表单验证失败";
severity = Severity.Error;
}
else
{
currentMessage = "表单验证成功";
severity = Severity.Success;
}
InvokeAsync(StateHasChanged).AndForget();
}
private async UniTask Register()
{
Verification();
if(reportBuilder.Length>0)
{
return;
}
severity = Severity.Normal;
currentMessage = "正在验证表单";
await InvokeAsync(StateHasChanged);
await Task.Delay(1000);
try
{
BITCrypto crypto = new BITCrypto();
currentMessage = "正在注册企业";
await enterpriseService.RegisterAsync(enterprise.SystemUser
with{
Password =crypto.Hash(enterprise.SystemUser.Password)
}, enterprise.EnterpriseApply);
currentMessage = "企业注册成功";
reportBuilder.Clear();
}
catch (Exception e)
{
currentMessage = e.Message;
severity = Severity.Error;
}
await InvokeAsync(StateHasChanged);
}
private async void UploadLicense(IBrowserFile? obj)
{
try
{
if (obj is null)
{
reportBuilder.AppendLine("营业执照不能为空");
return;
}
using var ms = new MemoryStream();
await obj.OpenReadStream(int.MaxValue).CopyToAsync(ms);
enterprise.EnterpriseApply.CreditImageContent = Convert.ToBase64String(ms.ToArray());
currentMessage = "上传成功";
severity = Severity.Success;
}
catch (Exception e)
{
currentMessage = e.Message;
severity = Severity.Error;
}
await InvokeAsync(StateHasChanged);
}
private async void UploadLegalPersonIdFront(IBrowserFile? obj)
{
try
{
if (obj is null)
{
reportBuilder.AppendLine("法人身份证正面不能为空");
return;
}
using var ms = new MemoryStream();
await obj.OpenReadStream(int.MaxValue).CopyToAsync(ms);
enterprise.EnterpriseApply.LegalPersonIdImageFrontContent = Convert.ToBase64String(ms.ToArray());
currentMessage = "上传成功";
severity = Severity.Success;
}
catch (Exception e)
{
currentMessage = e.Message;
severity = Severity.Error;
}
await InvokeAsync(StateHasChanged);
}
private async void UploadLegalPersonIdBack(IBrowserFile? obj)
{
try
{
if (obj is null)
{
reportBuilder.AppendLine("法人身份证杯面不能为空");
return;
}
using var ms = new MemoryStream();
await obj.OpenReadStream(int.MaxValue).CopyToAsync(ms);
enterprise.EnterpriseApply.LegalPersonIdImageBackContent = Convert.ToBase64String(ms.ToArray());
currentMessage = "上传成功";
severity = Severity.Success;
}
catch (Exception e)
{
currentMessage = e.Message;
severity = Severity.Error;
}
await InvokeAsync(StateHasChanged);
}
}