public void SignRequest(IRegisterRequest request, X509Certificate2 certificate, string issuerTIN = null) { if (request is RegisterInvoiceRequest) { var invoiceRequest = request as RegisterInvoiceRequest; var invoiceSignature = GetIICandIICSignature(invoiceRequest, certificate, issuerTIN); if (invoiceSignature != null) { invoiceRequest.Invoice.IICSignature = invoiceSignature.IICSignature; invoiceRequest.Invoice.IIC = invoiceSignature.IIC; } } XmlDocument xmlDocument = LoadXmlDocument(request); SignedXml xml = SignXmlDocument(xmlDocument, certificate); var transforms = new Transform[] { new XmlDsigEnvelopedSignatureTransform(false), new XmlDsigExcC14NTransform(false) }; var reference = GetReference(transforms, "#" + request.Id); xml.AddReference(reference); xml.ComputeSignature(); request.Signature = GetSignatureType(xml.Signature, transforms, certificate); }
/// <summary> /// Validates the register request. /// </summary> /// <param name="registerRequest">The register request.</param> /// <param name="errorMessages">The error messages.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> public override bool ValidateRegisterRequest(IRegisterRequest registerRequest, out List <string> errorMessages) { errorMessages = new List <string>(); if (!this.IsValidDeviceDescriptor(registerRequest.DeviceDescriptor, out errorMessages)) { return(false); } if (!this.IsValid(registerRequest.Location, out errorMessages)) { return(false); } if (!this.IsValid(registerRequest.DeviceOwner, out errorMessages)) { return(false); } if (!this.IsValidLocation(registerRequest.Location, out errorMessages)) { return(false); } var result = this.FCCIdValidate(out errorMessages, registerRequest.DeviceDescriptor); return(result); }
private XmlDocument LoadXmlDocument(IRegisterRequest request) { string serialize = SerializationHelper.SerializeDataToXmlString(request); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(serialize); return(xmlDocument); }
public async Task RegisterUserAsync(IRegisterRequest model) { using (var transaction = await _context.Database.BeginTransactionAsync(System.Data.IsolationLevel.ReadUncommitted)) { try { var user = new ApplicationUser { Email = model.Email, UserName = model.Email, PhoneNumber = model.PhoneNumber, }; var result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) // TODO: result.Errors to error list { throw new ValidationException(ExceptionMapping.Register_OrganizationExists); } var refreshToken = await _userManager.GenerateConcurrencyStampAsync(user); var refreshTokenResult = await _context.UserRefreshTokens.AddAsync(new UserRefreshToken { UserID = user.Id, RefreshToken = refreshToken, ExpiryDate = DateTime.Now.AddDays(1) }); await _userManager.UpdateAsync(user); await _context.SaveChangesAsync(); await transaction.CommitAsync(); var confirmationToken = await _userManager.GenerateEmailConfirmationTokenAsync(user); await _mailer.SendEmailVerificationAsync(user.Email, $"{user.UserName}", confirmationToken, Guid.Parse(user.Id)); } catch (Exception ex) { await transaction.RollbackAsync(); throw new ValidationException("Failed to create user", ex); } } }
/// <summary> /// Validates the register request. /// </summary> /// <param name="registerRequest">The register request.</param> /// <param name="errorMessages">The error messages.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> public override bool ValidateRegisterRequest(IRegisterRequest registerRequest, out List <string> errorMessages) { errorMessages = new List <string>(); if (!this.IsValid(registerRequest.DeviceDescriptor, out errorMessages)) { errorMessages.AddRange(errorMessages); return(false); } if (registerRequest.DeviceDescriptor.EtsiDeviceCategory == null || registerRequest.DeviceDescriptor.EtsiDeviceCategory == string.Empty) { errorMessages.Add(Constants.ErrorMessagEtsiDeviceCategory); return(false); } else if (registerRequest.DeviceDescriptor.EtsiDeviceCategory.ToLower() != Constants.PropertyNameEtsiDeviceCategoryMaster.ToLower() && registerRequest.DeviceDescriptor.EtsiDeviceCategory.ToLower() != Constants.PropertyNameEtsiDeviceCategorySlave.ToLower()) { errorMessages.Add(Constants.ErrorMessagInvalidEtsiDeviceCategory); return(false); } if (registerRequest.DeviceDescriptor.ManufacturerId == null || registerRequest.DeviceDescriptor.ManufacturerId == string.Empty) { errorMessages.Add(Constants.ErrorMessagEtsiManufacturerId); return(false); } if (registerRequest.DeviceDescriptor.ModelId == null || registerRequest.DeviceDescriptor.ModelId == string.Empty) { errorMessages.Add(Constants.ErrorMessagEtsiModelId); return(false); } if (!this.IsValidLocation(registerRequest.Location, out errorMessages)) { return(false); } var result = this.OfcomDeviceIdValidate(out errorMessages, registerRequest.DeviceDescriptor); return(result); }
public long Register(IRegisterRequest request, RegisterOptions options, string procedure) { WampCalleeRpcOperation <TMessage> operation = new WampCalleeRpcOperation <TMessage>(procedure, request.Callee, options, mInvocationHandler, this); try { IWampRegistrationSubscriptionToken token = mCatalog.Register(operation, options); long registrationId = token.TokenId; operation.RegistrationId = registrationId; CompositeDisposable disposable = new CompositeDisposable(token, operation); bool alreadyRegistered = !mOperationToDisposable.TryAdd(operation, disposable); request.Registered(registrationId); // If the operation is already registered, ignore it. if (!alreadyRegistered) { operation.Open(); } return(registrationId); } catch (Exception) { operation.Dispose(); throw; } }
/// <summary> /// Validates the register request. /// </summary> /// <param name="registerRequest">The register request.</param> /// <param name="errorMessages">The error messages.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> public virtual bool ValidateRegisterRequest(IRegisterRequest registerRequest, out List <string> errorMessages) { errorMessages = new List <string>(); return(true); }