private byte[] CreateTicketQRImage(Dictionary <string, object> dicParas) { string ticketNo = dicParas.ContainsKey("para1") ? dicParas["para1"].ToString() : string.Empty; string url = string.Format("https://mp.4000051530.com/t/{0}", ticketNo); return(QRHelper.CreateQR(url, 4, 8)); }
public F_UserDTO Create(F_UserDTO dto) { var user = base.F_Create <F_UserDTO, F_User>(dto , _IF_UserRepository , dtoAction => { }); dto.F_UserDetail = dto.F_UserDetail ?? new F_UserDetailDTO() { Name = "未设置", PersonalPhone = dto.UserName, }; if (string.IsNullOrWhiteSpace(dto.F_UserDetail.Name)) { dto.F_UserDetail.Name = "未设置"; } var userDetails = new F_UserDetailDTO { F_UserId = user.Id, PersonalPhone = dto.F_UserDetail.PersonalPhone, Name = dto.F_UserDetail.Name, BankCode = dto.F_UserDetail.BankCode }; var model = this._IF_UserDetailService.Create(userDetails); if (dto.UserType == F_UserTypeEnum.CL) { QRHelper.MakeWithLogo(model.Code); } return(user); }
private byte[] CreateDeviceTokenQRImage(Dictionary <string, object> dicParas) { string deviceToken = dicParas.ContainsKey("para1") ? dicParas["para1"].ToString() : string.Empty; string url = string.Format("https://mp.4000051530.com/b/{0}", deviceToken); return(QRHelper.CreateQR(url, 4, 8)); }
public IActionResult OnPostQRGen(double payAmount, int courseTime = 0) { ResultNormal result = new ResultNormal(); try { var url = $"{Request.Scheme}://{Request.Host}/WX/PayQRMoney?amt={payAmount}&ct={courseTime}"; var fileName = $"{payAmount}_{DateTime.Now.ToString("yyyyMMdd_hhmmss")}.png"; var savePath = EduEnviroment.DicPath_QRPay + fileName; List <string> desc = new List <string>(); desc.Add($"请用户扫码付款,支付金额【{payAmount}】元"); if (courseTime > 0) { desc.Add($"共计: 【{courseTime}】节课时"); } QRHelper.GenQR(url, savePath, desc); result.SuccessMsg = EduEnviroment.VirPath_QRPay + fileName; } catch (Exception ex) { result.ErrorMsg = "生成失败:" + ex.Message; NLogHelper.ErrorTxt($"二维码生成失败:{ex.Message}"); } return(new JsonResult(result)); }
public IActionResult GetQrCode(int id) { var url = $"http://{Request.Host.Host}:{Request.Host.Port}/Survey/Show/{id}"; var data = QRHelper.GetQrImageDataForUrl(url, ImageFormat.Png); return(File(data, "image/png", $"QRCode_{id}.png")); }
void Start() { var tex = QRHelper.GenerateQR(targetString, 512, 512); image.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f)); image.SetNativeSize(); text.text = QRHelper.FromQR(tex); }
public static QRHelper GetInst() { if (_inst == null) { _inst = new QRHelper(); } return(_inst); }
public void StopCamera(CameraType type) { if (type == CameraType.Webcam) { //停止相机 QRHelper.GetInst().StopCamera(); } }
public ActionResult getQr(int id) { Bitmap bmp = QRHelper.GenerateQrCode(id.ToString()); MemoryStream ms = new MemoryStream(); bmp.Save(ms, ImageFormat.Png); byte[] bt = ms.ToArray(); return(File(bt, "image/png")); }
public ActionResult QRCode(StudentModel studentModel) { if (ModelState.IsValid) { var data = string.Format("{0};{1};{2}", studentModel.FirstName, studentModel.LastName, studentModel.Address); ViewBag.QRCodeImage = string.Format("data:image/png;base64,{0}", QRHelper.GenerateQRCode(data)); } return(View(studentModel)); }
public ActionResult SendQrAgain(int appUserId, int swapId) { try { var authLogic = LogicContext.Create <AuthLogic>(); var appUser = authLogic.GetUserById(appUserId); QRHelper.GenerateAndSaveQrCode(appUser.Email, swapId, this.Request.Url.Scheme); return(Json(new { IsSuccess = true, data = string.Empty }, JsonRequestBehavior.AllowGet)); } catch (Exception lex) { return(Json(new { IsSuccess = false, fail = lex.Message }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 获取二维码 /// </summary> /// <param name="url"></param> /// <param name="imgName"></param> /// <param name="logoImg"></param> /// <param name="logoPath"></param> /// <returns></returns> public string GetQRImg(string url, string imgName, string logoImg, string logoPath) { QRHelper qr = new QRHelper(); string qrurl = url; int scale = 5; int version = 0; int size = 600; int border = 5; if (string.IsNullOrEmpty(logoImg) || QRType == 1) { logoImg = "/Content/img/cqg.png"; } return(qr.CCLCreateQR_Member(qrurl, "/Upload/CompanyQR/", imgName, logoImg, scale, version, size, border, "")); }
public ActionResult Generator(string url) { string domain = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); if (String.IsNullOrEmpty(url)) { url = ""; } domain = domain + "/Asset/Details/" + url; var bitmapBytes = QRHelper.Generator(domain); return(File(bitmapBytes, "image/jpeg")); //Return as file result }
protected IEnumerator InitCamera() { //获取授权 yield return(Application.RequestUserAuthorization(UserAuthorization.WebCam)); if (Application.HasUserAuthorization(UserAuthorization.WebCam))//在移动平台总是为真 { WebCamDevice[] devices = WebCamTexture.devices; if (devices.Length > 0) { QRHelper.GetInst().StartCamera(0, Screen.width / 2, Screen.height / 2, videoBackImage); Invoke("StartScan", 0.3f); } } }
public bool GenQRInvite(string openId, string phone, string headerUrl) { var qr = _dbContext.DBQRInvite.Where(a => a.UserOpenId == openId && a.InviteQRType == InviteQRType.UserInvite).FirstOrDefault(); if (qr != null) { throw new EduException("不能重复创建邀请码"); } string qrDownFilePath = EduEnviroment.GetQRInviteUserFilePath($"OrigUserInvite_{phone}.png"); string qrWithLogoFilePath = EduEnviroment.GetQRInviteUserFilePath($"UserInviteWithLogo_{phone}.png"); string bkFilePath = EduEnviroment.GetQRFilePath("InviteBK.png"); string finalFilePath = EduEnviroment.GetQRInviteUserFilePath($"FinalUserInvite_{phone}.png"); AccessToken accessToken = WXApi.getAccessToken(); WXQRResult result = WXApi.getQR(WxConfig.QR_Invite_User + "_" + openId, accessToken.access_token); WXApi.DownLoadWXQR(result.ticket, qrDownFilePath); //添加Logo ,且添加文字 List <string> text = new List <string>(); text.Add("您的朋友邀请您加入云艺书院"); QRHelper.AddLogoForQR(headerUrl, new Bitmap(qrDownFilePath), qrWithLogoFilePath, text); //添加背景 QRHelper.AddBKForQR(bkFilePath, qrWithLogoFilePath, finalFilePath); qr = new EQRInvite() { OrigFilePath = EduEnviroment.VirPath_QRInviteUser + $"OrigUserInvite_{phone}.png", FileWithLogoPath = EduEnviroment.VirPath_QRInviteUser + $"UserInviteWithLogo_{phone}.png", FinalFilePath = EduEnviroment.VirPath_QRInviteUser + $"FinalUserInvite_{phone}.png", InviteQRType = InviteQRType.UserInvite, RecordStatus = RecordStatus.Normal, TargetUrl = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" + result.ticket + "", CreateDateTime = DateTime.Now, UserOpenId = openId }; _dbContext.DBQRInvite.Add(qr); _dbContext.SaveChanges(); return(true); }
public HttpResponseMessage Signup(PropertySignUp propertySignUp) { int propertyId; int userId = _repository.PropertySignUp(propertySignUp, out propertyId); if (userId > 0) { QRHelper.UploadFileToS3(propertyId.ToString()); return(Request.CreateResponse(HttpStatusCode.OK)); } else if (userId == -1) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, string.Format(Resources.Messages.EmailAddressExists, propertySignUp.propertyUser.EmailAddress))); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, Resources.Messages.InvalidData)); } }
/// <summary> /// Redirects to spefic Controller and Action inside of Index_QR Entity /// Before redirection it makes an QR Validation. its kind of a lookup function /// </summary> /// <param name="id">Index_QR ID</param> /// <returns>In cs QR is valid it redirect to the specified Controller and Action /// per exampe /Product/Wizard/5 /// case qr Its not Valid it return the QRErrorMode page with error description /// </returns> public ActionResult Redirect(long Id) { try { var QR = _unityOfWork.Index_QR.GetById(Id); var errorMessage = QRHelper.CheckQRError(QR); if (errorMessage != "") { return(RedirectToAction("QRErrorMode", "Index_QR", new { errorMessage = errorMessage })); } return(RedirectToAction(QR.Action_QR.Name, QR.Controller_QR.Name, new { id = QR.ProductID })); } catch { return(RedirectToAction("Error", "Home")); } }
public void InitWithBoxNumber(int number) { string numberStr = number.ToString("D4"); int digitsCount = numberStr.Length; int digitIndex = 0; foreach (var digit in Digits) { bool active = digitIndex < digitsCount; digit.gameObject.SetActive(active); if (active) { digit.sprite = DigitSprites[(int)Char.GetNumericValue(numberStr[digitIndex])]; } digitIndex++; } Texture2D boxImage = QRHelper.GenerateQRTexture(numberStr); QRCodeImage.sprite = Sprite.Create(boxImage, new Rect(0, 0, boxImage.width, boxImage.height), new Vector2(0.5f, 0.5f)); }
public void OnPostCreateTecQR() { Msg = "创建成功!"; string qrDownFilePath = EduEnviroment.GetQRInviteTecFilePath("WXInvite.png"); string bkFilePath = EduEnviroment.GetQRFilePath("InviteBK.png"); string finalFilePath = EduEnviroment.GetQRInviteTecFilePath("EduTecInvite.png"); try { AccessToken accessToken = WXApi.getAccessToken(); WXQRResult result = WXApi.getQR(WxConfig.QR_Invite_TecPre, accessToken.access_token); WXApi.DownLoadWXQR(result.ticket, qrDownFilePath); QRHelper.AddBKForQR(bkFilePath, qrDownFilePath, finalFilePath); } catch (Exception ex) { Msg = ex.Message; } }
public IActionResult OnPostCreateLessonQR(ELessonQR qr) { ResultNormal result = new ResultNormal(); try { var code = EduCodeGenerator.Tool_LessonQRCode(); var url = $"http://edu.iqianba.cn/Tools/QRScan?code={code}"; qr.Code = code; qr.CreateDateTime = DateTime.Now; string filePath = EduEnviroment.DicPath_Tools_LessonQR + $"{code}.png"; qr.QRFilePath = EduEnviroment.VirPath_Tools_LessonQR + $"{code}_logo.png"; string filePathWithLogo = EduEnviroment.DicPath_Tools_LessonQR + $"{code}_logo.png"; var desc = new List <string>(); if (!string.IsNullOrEmpty(qr.Name)) { desc.Add(qr.Name); } QRHelper.GenQR(url, filePath, desc); var logoUrl = "http://edu.iqianba.cn/images/logo_120.png"; QRHelper.AddLogoForQR(logoUrl, new Bitmap(filePath), filePathWithLogo); _ToolsSrv.AddQR(qr); _ToolsSrv.SaveChanges(); result.SuccessMsg = qr.QRFilePath; } catch (Exception ex) { result.ErrorMsg = ex.Message; } return(new JsonResult(result)); }
public void StartScan() { QRHelper.GetInst().StartScan(); codeString = null; currentCodeString = ""; }
protected IEnumerator ScanCode() { yield return(new WaitForEndOfFrame()); QRHelper.GetInst().ScanCode(); }
public string GenerateQRCode(int Id) { QRHelper.UploadFileToS3(Id.ToString()); return(""); }
void OnDestroy() { QRHelper.GetInst().OnQRScanned -= OnQRScanned; }
public async Task <ActionResult> AddPaymentTransaction(string offerId, string amount) { var transactionLogic = LogicContext.Create <TransactionLogic>(); var offerLogic = LogicContext.Create <OfferLogic>(); var emailTemplateLogic = LogicContext.Create <EmailTemplateLogic>(); DIBZ.Common.Model.EmailTemplate emailTemplate = new DIBZ.Common.Model.EmailTemplate(); EmailTemplateHelper templates = new EmailTemplateHelper(); EmailTemplateResponse emailTemplateResponse = new EmailTemplateResponse(); DIBZ.Common.Model.EmailNotification email = new DIBZ.Common.Model.EmailNotification(); try { var offer = await offerLogic.GetOfferById(ConversionHelper.SafeConvertToInt32(offerId)); var transactionData = await transactionLogic.AddTransaction(ConversionHelper.SafeConvertToInt32(offerId), Convert.ToDecimal(amount), CurrentLoginSession.ApplicationUser.Id, offer.Swaps.FirstOrDefault().Id); if (offer.OfferStatus == OfferStatus.PaymentNeeded && offer.Transactions.Count() == 2) { await offerLogic.UpdateOfferStatusToAccept(offer.Id); } if (transactionData > 0) { string QRCodeImagePath = QRHelper.GenerateAndSaveQrCodeForOffer(CurrentLoginSession.ApplicationUser.Email, offer.Id, this.Url.Action("ReadQR", "Offer", new { id = offer.Id }, this.Request.Url.Scheme)); if (CurrentLoginSession.ApplicationUserId == offer.ApplicationUserId) { emailTemplateResponse = await emailTemplateLogic.GetEmailTemplate(DIBZ.Common.Model.EmailType.Email, DIBZ.Common.Model.EmailContentType.PaymentDone); templates.AddParam(DIBZ.Common.Model.Contants.AppUserNickName, offer.ApplicationUser.NickName); templates.AddParam(DIBZ.Common.Model.Contants.AppUserNickName_Swapper, offer.Swaps.FirstOrDefault().GameSwapPserson.NickName); templates.AddParam(DIBZ.Common.Model.Contants.GameCatalog_Name, offer.GameCatalog.Name); templates.AddParam(DIBZ.Common.Model.Contants.GameCatalog_Name_Swapper, offer.ReturnGameCatalog.Name); templates.AddParam(DIBZ.Common.Model.Contants.GameFormat, offer.GameCatalog.Format.Name); templates.AddParam(DIBZ.Common.Model.Contants.GameFormatSwapper, offer.ReturnGameCatalog.Format.Name); templates.AddParam(DIBZ.Common.Model.Contants.DFOM_Code, offer.GameOffererDFOM); templates.AddParam(DIBZ.Common.Model.Contants.UrlContactUs, string.Format("<a href='{0}'>here</a>", hostName + "/Dashboard/ContactUs")); var emailBodyOfferrer = templates.FillTemplate(emailTemplateResponse.Body); //save email data in table await emailTemplateLogic.SaveEmailNotification(CurrentLoginSession.ApplicationUser.Email, emailTemplateResponse.Title, emailBodyOfferrer, EmailType.Email, Priority.Low); EmailHelper.EmailAttachement(CurrentLoginSession.ApplicationUser.Email, emailTemplateResponse.Title, emailBodyOfferrer, QRCodeImagePath); } else { EmailTemplateHelper TemplatesSwapper = new EmailTemplateHelper(); EmailTemplateResponse emailTemplateResponseSwapper = new EmailTemplateResponse(); //get email template emailTemplateResponseSwapper = await emailTemplateLogic.GetEmailTemplate(DIBZ.Common.Model.EmailType.Email, DIBZ.Common.Model.EmailContentType.PaymentDone); TemplatesSwapper.AddParam(DIBZ.Common.Model.Contants.AppUserNickName, CurrentLoginSession.ApplicationUser.NickName); TemplatesSwapper.AddParam(DIBZ.Common.Model.Contants.AppUserNickName_Swapper, offer.ApplicationUser.NickName); TemplatesSwapper.AddParam(DIBZ.Common.Model.Contants.GameCatalog_Name, offer.ReturnGameCatalog.Name); TemplatesSwapper.AddParam(DIBZ.Common.Model.Contants.GameCatalog_Name_Swapper, offer.GameCatalog.Name); TemplatesSwapper.AddParam(DIBZ.Common.Model.Contants.GameFormat, offer.ReturnGameCatalog.Format.Name); TemplatesSwapper.AddParam(DIBZ.Common.Model.Contants.GameFormatSwapper, offer.GameCatalog.Format.Name); TemplatesSwapper.AddParam(DIBZ.Common.Model.Contants.DFOM_Code, offer.GameSwapperDFOM); TemplatesSwapper.AddParam(DIBZ.Common.Model.Contants.UrlContactUs, string.Format("<a href='{0}'>here</a>", hostName + "/Dashboard/ContactUs")); var emailBody = TemplatesSwapper.FillTemplate(emailTemplateResponseSwapper.Body); //save email data in table await emailTemplateLogic.SaveEmailNotification(CurrentLoginSession.ApplicationUser.Email, emailTemplateResponseSwapper.Title, emailBody, EmailType.Email, Priority.Low); EmailHelper.EmailAttachement(CurrentLoginSession.ApplicationUser.Email, emailTemplateResponseSwapper.Title, emailBody, QRCodeImagePath); } EmailHelper.EmailAttachement(CurrentLoginSession.ApplicationUser.Email, "Transaction From PayPal Account", SendEmailAfterTransaction(amount), string.Empty); return(Json(new { IsSuccess = true }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { IsSuccess = false, fail = "Some Thing Wrong!" }, JsonRequestBehavior.AllowGet)); } } catch (Exception lex) { return(Json(new { IsSuccess = false, fail = lex.Message }, JsonRequestBehavior.AllowGet)); } }
private byte[] CreateWeiXinPubNoLoginQRImage() { string url = WeiXinQR.GetRQImageBySnsapi_Login(); return(QRHelper.CreateQR(url, 4, 11)); }
void Awake() { videoBackImage.SetActive(false); QRHelper.GetInst().OnQRScanned += OnQRScanned; }
public void StopScan() { QRHelper.GetInst().StopScan(); }
public IActionResult Detail(long id) { var product = _unityOfWork.Product.GetByIdDetailed(id); List <Product> childs = _unityOfWork.Product.getChilds(id); ViewBag.childs = childs; List <ProductHistoryViewModelDetail> histories = new List <ProductHistoryViewModelDetail>(); foreach (var productHistory in product.ProductHistories) { ProductHistoryViewModelDetail history = new ProductHistoryViewModelDetail() { History = productHistory, UserName = _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).FirstName + " " + _db.Users.FirstOrDefault(x => x.Id == productHistory.UserID).LastName }; histories.Add(history); } histories.Sort((x, y) => DateTime.Compare(y.History.Date, x.History.Date)); ViewBag.histories = histories; ViewBag.HistoryType = _unityOfWork.History.GetAll(); var QRCode = _unityOfWork.Index_QR.GetByProductId(id); List <Product> parents = new List <Product>(); parents = _unityOfWork.Product.getParents(product, parents); List <ProductSoftwareOptions> softwareOptions = _db.ProductSoftwareOptions.Where(x => x.ProductID == id).Include(b => b.SoftwareOption).Include(c => c.SoftwareType).ToList(); ViewBag.ListOfSoftwareOptions = softwareOptions; if (softwareOptions.Count != 0) { ViewBag.SoftwareType = softwareOptions[0].SoftwareType.Name; } if (QRCode != null) { var host = Request.Host; ViewBag.QrCode = QRHelper.GenerateQRCode("http://" + host.Host + Url.Action("Redirect", "Index_QR", new { id = QRCode.Id })); } else { ViewBag.QrCode = new HtmlString("<a class='float-right text-center' href=" + Url.Action("Create", "Index_QR", new { productID = id, controllerName = "Product", actionName = "Wizard" }) + "> Generate QR Code" + "<img src='/images/addqr.png' height='150' width='150'></img>" + "</a>"); } ViewBag.Files = product.ProductHistories.Where(b => b.FileID != null).ToList(); // var products1 = _unityOfWork.Product.getChilds(id); /* if (softwareOptions!= null) * { * if (softwareOptions[0].SoftwareType.Name == "DAB+" || softwareOptions[0].SoftwareType.Name == "FM") * { * LicenseV2 myLicense = new LicenseV2() * { * SerialNumber = product.SerialNumber, * ExpirationDate = Convert.ToDateTime(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Expiration Date").Value), * Customer = product.Customer, * LicenseIsInfinite = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Lincense Is Infinite").Value)), * NrBreakinChannels = (int?)Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of BreakIn Channels").Value) ?? 0, * NrEmsembles = (int?)Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Ensembles").Value) ?? 0, * NrEmsemblesBreakIn = (int?)Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Ensembles Break In").Value)??0, // Option name würde mit N neu geschrieben * NrOfChannels = (int?)Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Channels").Value) ?? 0, * Product = product, * VBIType = softwareOptions[0].SoftwareType.Name, * Warranty = Convert.ToDateTime(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Warranty Expiration Date").Value), * }; * myLicense.VBIOptions["2ndOutput"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Dual Output(2 RF Tx)").Value)); * myLicense.VBIOptions["2ndInput"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "2nd RF Input").Value)); * myLicense.VBIOptions["VOIP"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "MP3/VoIP").Value)); * myLicense.VBIOptions["Playout"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Playout").Value)); * myLicense.VBIOptions["MultiAudio"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Dual Voice Break-In").Value)); * myLicense.VBIOptions["NoLogin"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "No Config Login").Value)); * myLicense.VBIOptions["OEM"] = Convert.ToBoolean(Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "OEM Mode").Value)); * } * }*/ /* product.Customer.ID = 0; * LicenseV2 license = new LicenseV2() * { * SerialNumber = "1712060001", * ExpirationDate = Convert.ToDateTime("12/12/20"), * Customer = product.Customer, * LicenseIsInfinite = true, * NrOfChannels = 4, * NrBreakinChannels = 4, * // NrEmsembles = Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Emsembles").Value), * // NrEmsemblesBreakIn = Convert.ToInt32(softwareOptions.FirstOrDefault(x => x.SoftwareOption.Description == "Number of Emsembles").Value), * Product = product, * VBIType = "DAB", * Warranty = Convert.ToDateTime("12/12/2020"), * }; * license.VBIOptions["2ndOutput"] = false; * license.VBIOptions["2ndInput"] = false; * license.VBIOptions["VOIP"] = false; * license.VBIOptions["Playout"] = false; * license.VBIOptions["MultiAudio"] = false; * license.VBIOptions["NoLogin"] = false; * license.VBIOptions["OEM"] = false; * * UInt32 serial = UInt32.Parse("1712060001"); * * var lic = license.getLincence(); * * * * * var enc = PCWKeyGen.generateKey(lic, serial); * * var key = PCWKeyGen.keyAsString(enc); * * var enc = PrecLicenseGenerator.PCWKeyGen.generateKey(lic, serial); * * Console.WriteLine(enc);*/ return(View(product)); }