Beispiel #1
0
        public async Task <ActionResult <PaintDTO> > GetPaint(int id)
        {
            var paintdto = await _paint.GetPaint(id, GetUserEmail());

            if (paintdto == null)
            {
                return(NotFound());
            }

            return(paintdto);
        }
Beispiel #2
0
        // GetAMiniModel
        public async Task <MiniModelDTO> GetMiniModel(int id)
        {
            MiniModel miniModel = await _context.MiniModels.FindAsync(id);

            var paintList = await _context.MinisToPaint.Where(x => x.MiniModelId == id)
                            .Include(x => x.Paint)
                            .ToListAsync();

            var suppliesList = await _context.MinisToSupply.Where(x => x.MiniModelId == id)
                               .Include(x => x.Supply)
                               .ToListAsync();

            // ============ TODO: Needs Testing =============
            List <PaintDTO>  paints   = new List <PaintDTO>();
            List <SupplyDTO> supplies = new List <SupplyDTO>();

            foreach (var item in paintList)
            {
                paints.Add(await _paint.GetPaint(item.Paint.Id));
            }

            foreach (var item in suppliesList)
            {
                supplies.Add(await _supply.GetSupply(1));
            }


            MiniModelDTO miniDto = new MiniModelDTO()
            {
                Id           = miniModel.Id,
                Name         = miniModel.Name,
                Manufacturer = miniModel.Manufacturer,
                Faction      = miniModel.Faction,
                PointCost    = miniModel.PointCost,
                BuildState   = miniModel.BuildState.ToString(),
                Paints       = paints,
                Supplies     = supplies
            };

            return(miniDto);
        }
Beispiel #3
0
        // GetAMiniModel
        /// <summary>
        /// the below method allows one to search for a particular minimodel item
        /// </summary>
        /// <param name="email">this is the email associated with the current user (ensures they have access to minimodel item)</param>
        /// <returns>the minimodel item in question</returns>
        public async Task <MiniModelDTO> GetMiniModel(int id, string email)
        {
            MiniModel miniModel = await _context.MiniModels.Where(x => x.Email == email)
                                  .FirstOrDefaultAsync(x => x.Id == id);

            var paintList = await _context.MinisToPaint.Where(x => x.MiniModelId == id)
                            .Include(x => x.Paint)
                            .ToListAsync();

            var suppliesList = await _context.MinisToSupply.Where(x => x.MiniModelId == id)
                               .Include(x => x.Supply)
                               .ToListAsync();

            List <PaintDTO>  paints   = new List <PaintDTO>();
            List <SupplyDTO> supplies = new List <SupplyDTO>();

            foreach (var item in paintList)
            {
                paints.Add(await _paint.GetPaint(item.Paint.Id, email));
            }

            foreach (var item in suppliesList)
            {
                supplies.Add(await _supply.GetSupply(item.Supply.Id, email));
            }

            MiniModelDTO miniDto = new MiniModelDTO()
            {
                Id           = miniModel.Id,
                Name         = miniModel.Name,
                Manufacturer = miniModel.Manufacturer,
                PartNumber   = miniModel.PartNumber,
                Faction      = miniModel.Faction,
                PointCost    = miniModel.PointCost,
                BuildState   = miniModel.BuildState.ToString(),
                Paints       = paints,
                Supplies     = supplies
            };

            return(miniDto);
        }