public TradesDetailViewModel GetTradeDetails(int receiver, int sender) { Offer offerRequest = db.Offer.Where(o => o.ReceiverItemId == receiver && o.SenderItemId == sender).FirstOrDefault(); if (offerRequest != null) { OfferDetail offerRequestDetails = db.OfferDetail.Where(od => od.OfferId == offerRequest.OfferId).FirstOrDefault(); ItemsDetailViewModel receiverItem = global.GetItemDetail(receiver); ItemsDetailViewModel senderItem = global.GetItemDetail(sender); if (receiverItem != null && senderItem != null && offerRequestDetails != null) { TradesDetailViewModel detailOffer = new TradesDetailViewModel(); detailOffer.OfferId = offerRequest.OfferId; detailOffer.Confirmed = offerRequestDetails.Confirmed; detailOffer.ExpirationDate = offerRequestDetails.ExpirationDate; detailOffer.ReceiverItem = receiverItem; detailOffer.SenderItem = senderItem; if (offerRequestDetails.Confirmed == 1) { Account receiverAccount = db.Account.Where(a => a.AccountId == offerRequest.ReceiverId).FirstOrDefault(); Account senderAccount = db.Account.Where(a => a.AccountId == offerRequest.AccountId).FirstOrDefault(); detailOffer.ReceiverDetails = getContactInformation(receiverAccount); detailOffer.SenderDetails = getContactInformation(senderAccount); } return(detailOffer); } } return(null); }