Example #1
0
        public async Task <IEnumerable <ProductViewModel> > GetById()
        {
            var products = await _productRepository.GetByOwner(GetUserId());

            var personalizedProductModels = await _personalizedProductRepository.GetByUser(GetUserId());

            return(await _productMapper.MapUserProducts(products, personalizedProductModels));
        }
Example #2
0
        private async Task <IEnumerable <PersonalizedProductDto> > GetProducts(IEnumerable <PackListGroupItemModel> items, Guid userId)
        {
            var list = new List <PersonalizedProductDto>();
            var personalizedProductList = await _personalizedProductRepository.GetByUser(userId);

            foreach (var item in items)
            {
                if (item.IsKit)
                {
                    continue;
                }
                var itemExist = list.Find(x => x.Id == item.Id);
                if (itemExist != null)
                {
                    itemExist.Amount = itemExist.Amount + 1;
                }
                else
                {
                    var p = await this._productRepository.Get(item.Id);

                    var  pp          = personalizedProductList.FirstOrDefault(x => x.ProductId == item.Id);
                    var  category    = "";
                    bool star        = false;
                    bool wearable    = false;
                    bool consumables = false;
                    if (pp != null)
                    {
                        category    = pp.Category;
                        wearable    = pp.Wearable;
                        consumables = pp.Consumables;
                        star        = pp.Star;
                    }
                    if (p != null)
                    {
                        list.Add(new PersonalizedProductDto
                        {
                            Name         = p.Name,
                            Weight       = p.Weight,
                            WeightPrefix = p.WeightPrefix,
                            Amount       = 1,
                            Id           = p.Id,
                            Category     = category,
                            Star         = star,
                            Wearable     = wearable,
                            Consumables  = consumables,
                            Description  = p.Description,
                            Images       = p.Images
                        });
                    }
                }
            }

            return(list);
        }