public async Task <ActionResult> Details(string email) { var account = await AccountFacade.GetAccountAccordingToEmailAsync(email); var myAuctions = (await AuctionFacade.GetAllAuctionsForAccount(account.Id)).ToList(); var allMyBids = (await AccountFacade.GetAllBidsAccordingToAccount(account.Id)).ToList(); var biddedAuctions = new List <AuctionDTO>(); foreach (var auction in allMyBids) { biddedAuctions.Add(await AuctionFacade.GetAuctionAsync(auction.AuctionId)); } biddedAuctions = biddedAuctions.Distinct().ToList(); var biddedAuctionsLastBidAccount = new List <Pair <AuctionDTO, AccountDTO> >(); foreach (var auction in biddedAuctions) { biddedAuctionsLastBidAccount.Add(new Pair <AuctionDTO, AccountDTO>(auction, await AccountFacade.GetAccountAccordingToIdAsync( (await AuctionFacade.GetAllBidsAccordingToAuction(auction.Id)).OrderByDescending(x => x.BidDateTime) .First().AccountId))); } AccountDetailModel accountDetailModel = new AccountDetailModel { AccountDto = account, MyAuctions = myAuctions, BiddingAuctionsAndLastBid = new List <Pair <AuctionDTO, AccountDTO> >(biddedAuctionsLastBidAccount) }; return(View("AccountDeatilView", accountDetailModel)); }
private async Task <AccountEditModel> InitializeAccountEditModel(AccountDTO account) { var auctions = (await AuctionFacade.GetAllAuctionsForAccount(account.Id)).OrderBy(x => x.Name).ToList(); var bids = (await AccountFacade.GetAllBidsAccordingToAccount(account.Id)).OrderBy(x => x.BidDateTime).ToList(); return(new AccountEditModel { FirstName = account.FirstName, LastName = account.LastName, Email = account.Email, Password = account.Password, Address = account.Address, MobilePhoneNumber = account.MobilePhoneNumber, BirthDate = account.BirthDate, Auctions = auctions, Bids = bids, AccountId = account.Id }); }