예제 #1
0
        //private bool _deletePinFile;

        public IssuerFileConfig(int issuerID, string issuerCode, string issuerName, IssuerStatus issuerStatus,
                                bool boolIntantIssue, string cardFileLocation, FileExtensionType cardsFileType,
                                bool boolPinMailerPrinting, string pinFileLocation, FileExtensionType pinFileType,
                                bool ignoreHeader, bool ignoreTrailer, bool deleteCardFile)
        {
            _issuerName         = issuerName;
            _issuerCode         = issuerCode;
            _issuerID           = issuerID;
            _status             = issuerStatus;
            _ignoreHeader       = ignoreHeader;
            _ignoreTrailer      = ignoreTrailer;
            _instantCardIssuing = boolIntantIssue;
            _pinMailerPrinting  = boolPinMailerPrinting;
            _deleteCardFile     = deleteCardFile;

            if (boolIntantIssue)
            {
                _cardFileDirectory = cardFileLocation;
                _cardsFileType     = cardsFileType;
            }
            if (boolPinMailerPrinting)
            {
                _pinFileDirectory = pinFileLocation;
                _pinFileType      = pinFileType;
            }
        }
        /// <summary>
        /// Deactivates a trusted issuer-schema pair
        /// </summary>
        /// <param name="args">issuerDID (string), schemaName (string)</param>
        private static object[] DeactivateIssuer(params object[] args)
        {
            if (args.Length != 2)
            {
                return(Result(false, "Incorrect number of parameters"));
            }
            if (!Runtime.CheckWitness(OWNER))
            {
                return(Result(false, "Only SmartContract owner can call this operation"));
            }

            string issuerDID  = (string)args[0];
            string schemaName = (string)args[1];

            StorageMap   issuerTrustList = Storage.CurrentContext.CreateMap(issuerDID);
            IssuerStatus status          = ByteArray2IssuerStatus(issuerTrustList.Get(schemaName));

            if (status == IssuerStatus.NotTrusted)
            {
                return(Result(false, "No such issuer-schema pair registered"));
            }

            issuerTrustList.Delete(schemaName);

            return(Result(true, true));
        }
        /// <summary>
        /// Checks if given issuer-schema pair is trusted
        /// </summary>
        /// <param name="args">issuerDID (string), schemaName (string)</param>
        private static object[] IsTrusted(params object[] args)
        {
            if (args.Length != 2)
            {
                return(Result(false, "Incorrect number of parameters"));
            }

            string issuerDID  = (string)args[0];
            string schemaName = (string)args[1];

            StorageMap issuerTrustList = Storage.CurrentContext.CreateMap(issuerDID);

            IssuerStatus status = ByteArray2IssuerStatus(issuerTrustList.Get(schemaName));

            return(Result(true, status == IssuerStatus.Trusted));
        }
 /// <summary>
 /// Helper method to serialize IssuerStatus
 /// </summary>
 /// <param name="value">ClaimStatus</param>
 /// <returns>Serialized ClaimStatus</returns>
 private static byte[] IssuerStatus2ByteArray(IssuerStatus value) => ((BigInteger)(int)value).AsByteArray();