//public Dictionary<string, decimal> GetMemberBalances(int grpId, // string currUserId) //{ // List<ApplicationUser> users = GetUsersByGroup(grpId).Where(u => u.Id != currUserId).ToList(); // Dictionary<string, decimal> groupDetails = new Dictionary<string, decimal>(); // foreach (ApplicationUser user in users) // { // decimal sum = context.Transactions.Where(t => t.GroupID == grpId && // ((t.SubmitterID == user.Id && t.TargetID == currUserId) || // (t.SubmitterID == currUserId && t.TargetID == user.Id))).Sum(t => (int?)t.MonetaryAmount) ?? 0; // groupDetails.Add(Utilities.FullName(user), sum); // } // return groupDetails; //} public List<MemberDetail> GetMemberDetails(int grpId, string currUserId) { List<ApplicationUser> users = GetUsersByGroup(grpId).Where(u => u.Id != currUserId).ToList(); List<MemberDetail> memberDetails = new List<MemberDetail>(); foreach (ApplicationUser user in users) { decimal sum = context.Transactions.Where(t => t.GroupID == grpId && ((t.SubmitterID == user.Id && t.TargetUserID == currUserId) || (t.SubmitterID == currUserId && t.TargetUserID == user.Id))).Sum(t => (int?)t.MonetaryAmount) ?? 0; MemberDetail memberDetail = new MemberDetail { UserID = user.Id, FullName = Utilities.FullName(user), Balance = sum }; memberDetails.Add(memberDetail); } return memberDetails; }