コード例 #1
0
 public AddExpenseToGroupTransaction(Member owner, float amount, string description, int groupId)
 {
     this.owner = owner;
     this.description = description;
     this.groupId = groupId;
     this.amount = amount;
 }
コード例 #2
0
 public Expense(string description, float amount, Member owner)
 {
     this.Description = description;
     this.Amount = amount;
     this.Owner = owner;
     this.CreateOn = DateTime.Now;
 }
コード例 #3
0
        public void AddMemberToGroup(Member member, int groupId)
        {
            Group group = GetGroup(groupId);
            int memberCount = group.MemberCount;
            member.Id = memberCount + 1;

            group.AddMember(member);
        }
コード例 #4
0
        public void Execute()
        {
            IRepository repo = new InMemoryRepository();
            Validate(repo);

            Member member = new Member(firstName, lastName, emailAddress);
            repo.AddMemberToGroup(member, groupId);
        }
コード例 #5
0
        public void when_new_member_added()
        {
            string frinedlyName = "newGroup";
            string firstName = "newMember";
            string lastName = "newMemberLastName";
            string emailAddress = "*****@*****.**";

            Group newGroup = new Group(frinedlyName);
            Member newMember = new Member(firstName, lastName, emailAddress);

            newGroup.AddMember(newMember);
        }
コード例 #6
0
 protected override float GetTotalAmountForMember(Member member)
 {
     return member.GetAllExpenses().Where(e => e.CreateOn.Year == year).Sum(e => e.Amount);
 }
コード例 #7
0
 public void AddMember(Member member)
 {
     members.Add(member);
 }
コード例 #8
0
 protected abstract float GetTotalAmountForMember(Member member);
コード例 #9
0
 protected override float GetTotalAmountForMember(Member member)
 {
     return member.GetAllExpenses().Sum(e => e.Amount);
 }