Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }