public DealListApiModel GetDealList(string query = "", int pageSize = 0, int currentPage = 1, List <string> sort = null) { var dbDeals = _dealRepository.GetAllDeals(query, pageSize, currentPage, sort); var apiModel = new DealListApiModel(); //var temp = dbDeals.Select(c => new DealListApiModel.DealInfo() { id = c.ID, name = c.Name, expectedDate = c.ClosingDate.GetValueOrDefault(), amount = c.Amount.GetValueOrDefault(), accountName = c.ACCOUNT.Name, priority = c.PRIORITY.Name}); var results = new List <DealListApiModel.DealInfo>(); foreach (var deal in dbDeals.deals) { var dealInfo = new DealListApiModel.DealInfo(); dealInfo.id = deal.ID; dealInfo.name = deal.Name; dealInfo.createdAt = deal.CreatedAt.GetValueOrDefault(); dealInfo.expectedDate = deal.ExpectedClosingDate.GetValueOrDefault(); dealInfo.endOn = deal.ClosingDate.GetValueOrDefault(); dealInfo.amount = deal.Amount.GetValueOrDefault(); dealInfo.accountName = deal.ACCOUNT != null ? deal.ACCOUNT.Name : ""; dealInfo.priority = deal.PRIORITY != null ? deal.PRIORITY.Name : ""; dealInfo.owner = deal.Owner != null ? deal.Owner.Username : ""; if (deal.STAGE_HISTORY.Count > 0) { var stageHistory = deal.STAGE_HISTORY.MaxBy(c => c.ModifiedAt).FirstOrDefault(); if (stageHistory != null) { dealInfo.stage = stageHistory.STAGE.Name; } } results.Add(dealInfo); } apiModel.deals = results; apiModel.pageInfo = dbDeals.p; return(apiModel); }
public List <Deal> GetAllDeals() { return(dealRepository.GetAllDeals()); }