public static PreAuthorization Simple() { return(new PreAuthorization( "bbc5ea2f74d2da9377eacd2f19ac108fffe165558baaddcaf48267c7b0adc1c6", MerchantFactory.HM1(), CardPaymentFactory.HC1())); }
static void Main(string[] args) { var filePath = GetTransactionFilePath(); using (StreamReader file = new StreamReader(filePath)) { string line; var merchantFactory = new MerchantFactory(); var merchants = new Dictionary <string, Merchant>(); while ((line = file.ReadLine()) != null) { var words = line.Split(' '); var date = words[0]; var transactionDate = DateTime.Parse(words[0]); var amount = decimal.Parse(words[2]); var transaction = new Transaction(transactionDate, amount); var merchantName = words[1]; if (merchants.ContainsKey(merchantName)) { merchants[merchantName].AddTransaction(transaction); } else { var merchant = merchantFactory.CreateMerchant(merchantName, transaction, TRANSACTION_COMMISION, INVOICE_FEE); merchants.Add(merchantName, merchant); } merchants[merchantName].CalculateMerchantFee(); Console.WriteLine(merchants[merchantName].GetMerchantFeeInformation()); } }; }
public void Merchant_Factory_Create_Standart_Merchant(string merchantName, decimal transactionAmount, decimal transactionCommsion, decimal invoiceFee) { var transaction = new Transaction(DateTime.Now, transactionAmount); var merchantFactory = new MerchantFactory(); var merchant = merchantFactory.CreateMerchant(merchantName, transaction, transactionCommsion, invoiceFee); Assert.AreEqual(typeof(StandartMerchant), merchant.GetType()); }
/// <summary> /// 转换为商户实体 /// </summary> /// <param name="dto">商户数据传输对象</param> public static Merchant ToEntity3(this MerchantDto dto) { if (dto == null) { return(new Merchant()); } return(MerchantFactory.Create( merchantId: dto.Id.ToGuid(), name: dto.Name, isEnabled: dto.IsEnabled, type: dto.Type, isDistribution: dto.IsDistribution, creationTime: dto.CreationTime, creatorId: dto.CreatorId, lastModificationTime: dto.LastModificationTime, lastModifierId: dto.LastModifierId, isDeleted: dto.IsDeleted, version: dto.Version )); }