public virtual DerivativeContract ToModel(DerivativeContract derivativeContract)
        {
            if (derivativeContract == null)
            {
                throw new ArgumentNullException(nameof(derivativeContract));
            }

            derivativeContract.Id = Id;

            derivativeContract.CreatedBy    = CreatedBy;
            derivativeContract.CreatedDate  = CreatedDate;
            derivativeContract.ModifiedBy   = ModifiedBy;
            derivativeContract.ModifiedDate = ModifiedDate;

            derivativeContract.MemberId = MemberId;

            derivativeContract.Type      = EnumUtility.SafeParse(Type, DerivativeContractType.Forward);
            derivativeContract.StartDate = StartDate;
            derivativeContract.EndDate   = EndDate;
            derivativeContract.IsActive  = IsActive;

            return(derivativeContract);
        }
        public virtual DerivativeContractEntity FromModel(DerivativeContract derivativeContract, PrimaryKeyResolvingMap pkMap)
        {
            if (derivativeContract == null)
            {
                throw new ArgumentNullException(nameof(derivativeContract));
            }

            pkMap.AddPair(derivativeContract, this);

            Id = derivativeContract.Id;

            CreatedBy    = derivativeContract.CreatedBy;
            CreatedDate  = derivativeContract.CreatedDate;
            ModifiedBy   = derivativeContract.ModifiedBy;
            ModifiedDate = derivativeContract.ModifiedDate;

            MemberId  = derivativeContract.MemberId;
            Type      = derivativeContract.Type.ToString();
            StartDate = derivativeContract.StartDate;
            EndDate   = derivativeContract.EndDate;
            IsActive  = derivativeContract.IsActive;

            return(this);
        }