public MoneyInfoForUserViewModel(Project project, IReadOnlyCollection <MoneyTransfer> transfers, User master, IUriService urlHelper, IReadOnlyCollection <FinanceOperation> operations, PaymentTypeSummaryViewModel[] payments, int currentUserId) { Transfers = transfers .OrderBy(f => f.Id) .Select(f => new MoneyTransferListItemViewModel(f, currentUserId)).ToArray(); ProjectId = project.ProjectId; UserDetails = new UserProfileDetailsViewModel(master, AccessReason.CoMaster); Operations = new FinOperationListViewModel(project, urlHelper, operations); Balance = new MasterBalanceViewModel(master, project.ProjectId, operations, transfers); PaymentTypeSummary = payments; }
public MoneyInfoTotalViewModel(Project project, IReadOnlyCollection <MoneyTransfer> transfers, IUriService urlHelper, IReadOnlyCollection <FinanceOperation> operations, PaymentTypeSummaryViewModel[] payments, int currentUserId) { var masters = operations.Select(fo => fo.PaymentType?.User) .Union(transfers.Select(mt => mt.Receiver)) .Union(transfers.Select(mt => mt.Sender)) .Distinct(); ProjectId = project.ProjectId; Operations = new FinOperationListViewModel(project, urlHelper, operations); Balance = MasterBalanceBuilder.ToMasterBalanceViewModels(operations, transfers, project.ProjectId); Transfers = transfers.Select(transfer => new MoneyTransferListItemViewModel(transfer, currentUserId)).ToArray(); PaymentTypeSummary = payments; }