New view for new MStest scenaroio
This commit is contained in:
60
BrokerageLib/Account.cs
Normal file
60
BrokerageLib/Account.cs
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace BrokerageLib {
|
||||||
|
|
||||||
|
public class Account {
|
||||||
|
private string _customerName;
|
||||||
|
private decimal _balance;
|
||||||
|
private bool _frozen = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Account(string customerName, decimal balance) {
|
||||||
|
_customerName = customerName;
|
||||||
|
_balance = balance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string CustomerName {
|
||||||
|
get { return _customerName; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public decimal Balance {
|
||||||
|
get { return _balance; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Debit(decimal amount) {
|
||||||
|
|
||||||
|
|
||||||
|
if (amount > _balance)
|
||||||
|
{
|
||||||
|
throw new ArgumentOutOfRangeException("amount");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (amount < 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentOutOfRangeException("amount");
|
||||||
|
}
|
||||||
|
|
||||||
|
_balance -= amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Credit(decimal amount) {
|
||||||
|
|
||||||
|
|
||||||
|
if (amount < 0)
|
||||||
|
{
|
||||||
|
throw new ArgumentOutOfRangeException("amount");
|
||||||
|
}
|
||||||
|
|
||||||
|
_balance += amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FreezeAccount() {
|
||||||
|
_frozen = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UnfreezeAccount() {
|
||||||
|
_frozen = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -40,16 +40,12 @@
|
|||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="Account.cs" />
|
||||||
<Compile Include="CommissionConstants.cs" />
|
<Compile Include="CommissionConstants.cs" />
|
||||||
<Compile Include="CommissionCalculator.cs" />
|
<Compile Include="CommissionCalculator.cs" />
|
||||||
<Compile Include="PaymentDate.cs" />
|
<Compile Include="PaymentDate.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup />
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="Scenarios\CommisionCalcScenario.txt" />
|
|
||||||
<Content Include="Scenarios\PaymentDateScenario.txt" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|||||||
@ -6,10 +6,6 @@ namespace BrokerageLib {
|
|||||||
|
|
||||||
|
|
||||||
public decimal DetermineVariableRate(int unitsSold, decimal unitPrice) {
|
public decimal DetermineVariableRate(int unitsSold, decimal unitPrice) {
|
||||||
|
|
||||||
// Sales representative gets top commission rate
|
|
||||||
// if they sell over the sales threshold amount
|
|
||||||
// or if they sell more than the max unit threshold
|
|
||||||
if (unitsSold < 0)
|
if (unitsSold < 0)
|
||||||
{
|
{
|
||||||
throw new ArgumentOutOfRangeException("UnitsSold cannot be less than zero.");
|
throw new ArgumentOutOfRangeException("UnitsSold cannot be less than zero.");
|
||||||
@ -27,7 +23,6 @@ namespace BrokerageLib {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
return grossSale * Constants.CommissionRate.Standard;
|
return grossSale * Constants.CommissionRate.Standard;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,13 +16,14 @@ namespace BrokerageLib.PaymentSystem {
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public DateTime CalculateFuturePaymentDate(DateTime startingDate) {
|
public DateTime CalculateFuturePaymentDate(DateTime startingDate) {
|
||||||
var tempDate = startingDate.AddDays(30);
|
var tempDate = startingDate.AddDays(30);
|
||||||
|
|
||||||
switch (tempDate.DayOfWeek)
|
switch (tempDate.DayOfWeek)
|
||||||
{
|
{
|
||||||
case DayOfWeek.Saturday:
|
case DayOfWeek.Saturday:
|
||||||
tempDate = tempDate.AddDays(2);
|
tempDate = tempDate.AddDays(2);
|
||||||
break;
|
break;
|
||||||
case DayOfWeek.Sunday:
|
case DayOfWeek.Sunday:
|
||||||
tempDate = tempDate.AddDays(1); // Error in our code here!
|
tempDate = tempDate.AddDays(3); // Error in our code here!
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,7 +20,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
[assembly: Guid("07f455ff-ce11-40f2-a66e-95fa497522fb")]
|
[assembly: Guid("9b3faaaa-85bd-4278-bce5-0a2dd632c133")]
|
||||||
|
|
||||||
// Version information for an assembly consists of the following four values:
|
// Version information for an assembly consists of the following four values:
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user