public async Task <List <Tap> > GetOnTap() { List <Tap> tapList = new List <Tap>(); List <Batch> batchesOnTap = await BatchDataProvider.GetOnTap(); foreach (Batch batch in batchesOnTap) { Beer beer = await BeerDataProvider.GetBeer(batch.Beer); Tap tapDisplay = new Tap { BeerDisplayName = beer.Name, BatchId = batch.Id, BatchNumber = batch.BatchNumber, Style = beer.Style, PintsRemaining = batch.PintsRemaining, ABV = batch.ABV, SuggestedGlassType = beer.SuggestedGlassType, Brewers = batch.Brewers, TastingNotes = batch.TastingNotes, Logo = beer.Logo }; int tapNumber = 0; bool properFormat = Int32.TryParse(batch.SubStatus, out tapNumber); if (properFormat == false) { throw new FormatException("SubStatus for this beer could not be parsed to determine a tap number," + $" please configure sub status for batch ID \"{batch.Id}\" properly."); } tapDisplay.TapNumber = tapNumber; tapList.Add(tapDisplay); } tapList = tapList.OrderBy(x => x.TapNumber).ToList(); return(tapList); }
public async Task <List <BatchTableRow> > GetBatchTable() { List <BatchTableRow> tableRows = new List <BatchTableRow>(); List <Batch> batches = await BatchDataProvider.GetAllBatches(); batches = batches.OrderByDescending(x => x.Status == "On Tap") .ThenByDescending(x => x.Status == "Conditioning") .ThenByDescending(x => x.Status == "Fermenting") .ThenByDescending(x => x.Status == "Planned") .ThenByDescending(x => x.Status == "Archived") .ThenByDescending(x => x.DateBrewed).ToList(); foreach (Batch batch in batches) { string statusText = batch.Status; if (string.IsNullOrEmpty(batch.SubStatus) == false) { statusText += ": " + batch.SubStatus; } Beer beer = await BeerDataProvider.GetBeer(batch.Beer); BatchTableRow row = new BatchTableRow() { BatchId = batch.Id, BatchName = batch.BatchName, BatchNumber = batch.BatchNumber, BeerName = beer.Name, Style = beer.Style, DateBrewed = batch.DateBrewed, DatePackaged = batch.DatePackaged, StatusText = statusText, Logo = beer.Logo }; tableRows.Add(row); } return(tableRows); }
public async Task <BeerDto> GetBeer(int id) { Beer beer = await BeerDataProvider.GetBeer(id); BeerDto dto = new BeerDto() { Id = beer.Id, Name = beer.Name, Style = beer.Style, Logo = beer.Logo, SuggestedGlassType = beer.SuggestedGlassType, Created = beer.Created, CreatedBy = beer.CreatedBy }; return(dto); }