예제 #1
0
        public void Initialize(ItemId itemId, ItemParams itemParams, bool shop = false)
        {
            Icon.sprite      = ImageCollection.Instance.GetIcon(itemId);
            Name.text        = SplitName(itemId.ToString());
            Description.text = $"Here will be {itemId} description soon...";

            if (itemParams.Tags.Contains(ItemTag.NotForSale))
            {
                Price.text = null;
            }
            else if (shop)
            {
                Price.text = $"Buy price: {itemParams.Price}G{Environment.NewLine}Sell price: {itemParams.Price / Shop.SellRatio}G";
            }
            else
            {
                Price.text = $"Sell price: {itemParams.Price / Shop.SellRatio}G";
            }

            var description = new List <string> {
                $"Type: {itemParams.Type}"
            };

            if (itemParams.Tags.Any())
            {
                description[description.Count - 1] += $" <color=grey>[{string.Join(", ", itemParams.Tags.Select(i => $"{i}").ToArray())}]</color>";
            }

            foreach (var attribute in itemParams.Properties)
            {
                description.Add($"{SplitName(attribute.Id.ToString())}: {attribute.Value}");
            }

            Description.text = string.Join(Environment.NewLine, description.ToArray());
        }
예제 #2
0
        public async Task <PagedList <Item> > GetItems(ItemParams itemParams)
        {
            var items = Context.Items
                        .Include(i => i.Category)
                        .Include(i => i.Item_Details)
                        .AsQueryable().AsNoTracking();

            if (!string.IsNullOrEmpty(itemParams.SearchTerm))
            {
                items = items.Where(i => i.Description.Contains(itemParams.SearchTerm));
            }

            if (!string.IsNullOrEmpty(itemParams.Name))
            {
                items = items.Where(i => i.Name.Contains(itemParams.Name));
            }

            if (!string.IsNullOrEmpty(itemParams.CategoryName))
            {
                items = items.Where(i => i.Category.Name == itemParams.CategoryName);
            }

            var columnsMap = new Dictionary <string, Expression <Func <Item, object> > >()
            {
                ["Name"]         = i => i.Name,
                ["Viewed"]       = i => i.Viewed,
                ["CategoryName"] = i => i.Category.Name,
            };

            items = items.ApplyOrdering(itemParams, columnsMap);

            return(await PagedList <Item> .CreateAsync(items, itemParams.PageNumber, itemParams.PageSize));
        }
예제 #3
0
 public void Post([FromBody] ItemParams newItem)
 {
     _itemRepository.AddItem(new Item {
         Id   = newItem.Id,
         Name = newItem.Name,
         Tipo = newItem.Tipo
     });
 }
예제 #4
0
 public void Put(string id, [FromBody] ItemParams item)
 {
     _itemRepository.UpdateItem(id, new Item {
         Id   = item.Id,
         Name = item.Name,
         Tipo = item.Tipo
     });
 }
예제 #5
0
 public void SaveToParamDb(ItemParams param)
 {
     using (var db = new AllegroAppContext())
     {
         db.ItemParams.Add(param);
         db.SaveChanges();
     }
 }
예제 #6
0
        public async Task <IActionResult> GetItems([FromQuery] ItemParams itemParams)
        {
            var items = await itemRepository.GetAllItems(itemParams);

            var itemsToReturn = mapper.Map <IEnumerable <ItemForListDto> >(items);

            Response.AddPagination(items.CurrentPage, items.PageSize, items.TotalCount, items.TotalPages);
            return(Ok(itemsToReturn));
        }
예제 #7
0
	public void setTarget(ItemParams.ITEM_COLOR clr){ 
		List<Character> chrsInLev = levelManScript.charsInLevel;
		foreach(Character chr in chrsInLev){
			if(chr.charParamet.myColor.ToString () == clr.ToString()){
				setTarget(chr);
				getTarget().GetComponent<Character>().setAssailant(this);
			}
		}
	}
예제 #8
0
 public async Task <object> GetTopSellingItem(ItemParams itemParams)
 {
     return(await Context.Items.Include(i => i.OrderItems).
            SelectMany(u => u.OrderItems).
            GroupBy(oi => oi.ItemId).
            Select(g => new { Name = g.Select(x => x.Item.Name).First(), Count = g.Count() })
            .OrderByDescending(g => g.Count)
            .Take(1).SingleAsync());
 }
        public async Task <IActionResult> GetNumOfItemsBySize([FromQuery] ItemParams itemParams)
        {
            var items = await _itemRepository.GetNumOfItemsBySize(itemParams);

            Response.AddPagination(items.CurrentPage, items.PageSize,
                                   items.TotalCount, items.TotalPages);

            return(Ok(items));
        }
예제 #10
0
        public async Task <PagedList <Item> > GetMaxPricesForItems(ItemParams itemParams)
        {
            var items = dataContext.Items.GroupBy(i => i.ItemName)
                        .Select(y => new Item
            {
                ItemName = y.Key,
                Cost     = y.Max(i => i.Cost)
            });

            return(await PagedList <Item> .CreateAsync(items, itemParams.PageNumber, itemParams.PageSize));
        }
        public async Task <IActionResult> GetTopSellingItem([FromQuery] ItemParams itemParams)
        {
            var items = await _itemRepository.GetTopSellingItem(itemParams);

            //var itemsToReturn = _mapper.Map<IEnumerable<ItemForListDto>>(items);

            //Response.AddPagination(items.CurrentPage, items.PageSize,
            //    items.TotalCount, items.TotalPages);

            return(Ok(items));
        }
예제 #12
0
 public ActionResult UpdateInventoryItemQuantity([FromBody] ItemParams itemParams)
 {
     try
     {
         storesScript.UpdateInventoryItemQuantity(itemParams.ItemId, itemParams.Quantity);
         return(Json(new BasePacket(true, null)));
     }
     catch (Exception ex)
     {
         return(Json(new ErrorHandler(ex).ToBasePacket()));
     }
 }
예제 #13
0
 public bool Verb(ItemParams args)
 {
     foreach (ItemAction itemAction in this.actions)
     {
         if (itemAction.actions.Contains(args.c[0]))
         {
             itemAction.use(args);
             return(true);
         }
     }
     return(false);
 }
예제 #14
0
 public ActionResult DeleteItemFromInventory([FromBody] ItemParams itemParams)
 {
     try
     {
         storesScript.DeleteItemFromInventory(itemParams.GroceryId, itemParams.ItemId);
         return(Json(new BasePacket(true, null)));
     }
     catch (Exception ex)
     {
         return(Json(new ErrorHandler(ex).ToBasePacket()));
     }
 }
예제 #15
0
        public async Task <PagedList <object> > GetItemsWithLowQty(ItemParams itemParams)
        {
            var items = from i in Context.Items
                        join id in Context.Item_Details on i.Id equals id.ItemId
                        where id.Quantity <= 3
                        group i by i.Name into g
                        select new
            {
                Name  = g.Key,
                count = g.Count(),
            };

            return(await PagedList <object> .CreateAsync(items, itemParams.PageNumber, itemParams.PageSize));
        }
예제 #16
0
        public async Task <PagedList <object> > GetNumOfItemsBySize(ItemParams itemParams)
        {
            var items = from i in Context.Items
                        join id in Context.Item_Details on i.Id equals id.ItemId
                        group id by new { id.Size, i.Name } into g
                select new
            {
                item  = g.Select(x => x.Item.Name).First(),
                Name  = Enum.GetName(typeof(Size), g.Key.Size),
                count = g.Count(),
            };

            return(await PagedList <object> .CreateAsync(items, itemParams.PageNumber, itemParams.PageSize));
        }
예제 #17
0
        public async Task <PagedList <Item> > GetFavorites(int userId, ItemParams param)
        {
            var returnItem = new List <Item>();
            var items      = await _context.Favorites.Include(i => i.Item).ThenInclude(item => item.Photo).Where(f => f.UserId == userId).ToListAsync();

            for (int i = 0; i < items.Count; i++)
            {
                returnItem.Add(items[i].Item);
            }

            if (param.IsService != "all")
            {
                if (param.IsService == "service")
                {
                    returnItem = returnItem.Where(i => i.IsService == true).ToList();
                }
                else
                {
                    returnItem = returnItem.Where(i => i.IsService == false).ToList();
                }
            }

            if (param.OrderBy.Trim() == "price-dsc")
            {
                returnItem = returnItem.OrderByDescending(u => u.UnitPrice).ToList();
            }
            if (param.OrderBy.Trim() == "price-asc")
            {
                returnItem = returnItem.OrderByDescending(u => u.UnitPrice).Reverse().ToList();
            }
            if (param.OrderBy.Trim() == "created-asc")
            {
                returnItem = returnItem.OrderByDescending(u => u.CreatedDate).Reverse().ToList();
            }
            if (param.SearchTerm.Trim() != "")
            {
                returnItem = returnItem.Where(i => i.Title.ToLower().Contains(param.SearchTerm.ToLower())).ToList();
            }
            if (param.MinPrice > 0)
            {
                returnItem = returnItem.Where(i => i.UnitPrice >= param.MinPrice).ToList();
            }
            if (param.MaxPrice > 0)
            {
                returnItem = returnItem.Where(i => i.UnitPrice <= param.MaxPrice).ToList();
            }

            return(await PagedList <Item> .CreateAsync(returnItem.ToList().AsQueryable(), param.PageNumber, param.pageSize));
        }
예제 #18
0
        private void TreeView1SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            var newSelectedNode = e.NewValue as TreeNode;

            if (newSelectedNode == null)
            {
                CategoryParams = null;
            }
            else
            {
                var categoryId = newSelectedNode.Id;
                OnSelectedCategoryChanged(new ObjectIdentifierEventArgs(categoryId));
                CategoryParams = new ItemParams(ObjectType.Category, categoryId);
            }
        }
예제 #19
0
        public async Task <PagedList <Item> > GetItems(ItemParams param)
        {
            var items = await _context.Items.Include(p => p.Photo).Where(i => i.Quantity > 0).OrderByDescending(u => u.CreatedDate).ToListAsync();

            if (param.IsService != "all")
            {
                if (param.IsService == "service")
                {
                    items = items.Where(i => i.IsService == true).ToList();
                }
                else
                {
                    items = items.Where(i => i.IsService == false).ToList();
                }
            }

            if (param.OrderBy.Trim() == "price-dsc")
            {
                items = items.OrderByDescending(u => u.UnitPrice).ToList();
            }
            if (param.OrderBy.Trim() == "price-asc")
            {
                items = items.OrderByDescending(u => u.UnitPrice).Reverse().ToList();
            }
            if (param.OrderBy.Trim() == "created-asc")
            {
                items = items.OrderByDescending(u => u.CreatedDate).Reverse().ToList();
            }
            if (param.SearchTerm.Trim() != "")
            {
                items = items.Where(i => i.Title.ToLower().Contains(param.SearchTerm.ToLower())).ToList();
            }
            if (param.MinPrice > 0)
            {
                items = items.Where(i => i.UnitPrice >= param.MinPrice).ToList();
            }
            if (param.MaxPrice > 0)
            {
                items = items.Where(i => i.UnitPrice <= param.MaxPrice).ToList();
            }


            return(await PagedList <Item> .CreateAsync(items.ToList().AsQueryable(), param.PageNumber, param.pageSize));
        }
예제 #20
0
        public async Task <IActionResult> GetFavorites(int id, ItemParams param)
        {
            if (string.IsNullOrEmpty(param.IsService))
            {
                param.IsService = "all";
            }
            if (string.IsNullOrEmpty(param.SearchTerm))
            {
                param.SearchTerm = "";
            }
            if (string.IsNullOrEmpty(param.OrderBy))
            {
                param.OrderBy = "created-dsc";
            }
            var items = await _repo.GetFavorites(id, param);

            var itemsToReturn = _mapper.Map <IEnumerable <ItemsForListDto> >(items);

            Response.AddPagination(items.CurrentPage, items.PageSize, items.TotalCount, items.TotalPages);
            return(Ok(itemsToReturn));
        }
예제 #21
0
        public async Task <PagedList <Item> > GetItems(ItemParams itemParams)
        {
            var items = _context.Items.AsQueryable();

            //rendezősdi
            if (!string.IsNullOrEmpty(itemParams.OrderBy))
            {
                switch (itemParams.OrderBy)
                {
                case "lastModify":
                    items = items.OrderByDescending(u => u.LastModify);
                    break;

                default:
                    items = items.OrderByDescending(u => u.Name);
                    break;
                }
            }

            return(await PagedList <Item> .CreateAsync(items, itemParams.PageNumber, itemParams.PageSize));
        }
예제 #22
0
        public async Task <IActionResult> GetItems(ItemParams param)
        {
            if (string.IsNullOrEmpty(param.IsService))
            {
                param.IsService = "all";
            }
            if (string.IsNullOrEmpty(param.SearchTerm))
            {
                param.SearchTerm = "";
            }
            if (string.IsNullOrEmpty(param.OrderBy))
            {
                param.OrderBy = "created-dsc";
            }
            var currentUserId = 0;

            if (User.FindFirst(ClaimTypes.NameIdentifier) != null)
            {
                currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
            }
            List <int> favoriteItems = _repo.GetAllFavoritesIds(currentUserId);
            var        items         = await _repo.GetItems(param);

            var itemsToReturn = _mapper.Map <IEnumerable <ItemsForListDto> >(items);

            // if((favoriteItems!= null) && (!favoriteItems.Any()) )
            // {
            //     for (int i = 0; i < itemsToReturn.Count(); i++)
            //     {
            //         if(favoriteItems.Contains(items[i].Id))
            //         {

            //         }
            //     }
            // }

            Response.AddPagination(items.CurrentPage, items.PageSize, items.TotalCount, items.TotalPages);
            return(Ok(itemsToReturn));
        }
예제 #23
0
파일: New.cs 프로젝트: alan-azvd/stock
        protected override void onLoad()
        {
            var productTxt = Document.GetElementById <InputElement>("productTxt");

            productTxt.Focus();

            var quantityTxt = Document.GetElementById <InputElement>("quantityTxt");

            quantityTxt.Value    = "0";
            quantityTxt.OnChange = (ev) =>
            {
                Quantity = int.Parse(quantityTxt.Value);
            };

            var toDownBtn = Document.GetElementById <ButtonElement>("toDownBtn");

            toDownBtn.OnClick = (ev) =>
            {
                if (Quantity > 0)
                {
                    Quantity--;
                    quantityTxt.Value = Quantity.ToString();
                }
            };

            var toUpBtn = Document.GetElementById <ButtonElement>("toUpBtn");

            toUpBtn.OnClick = (ev) =>
            {
                Quantity++;
                quantityTxt.Value = Quantity.ToString();
            };

            var backBtn = Document.GetElementById <ButtonElement>("backBtn");

            backBtn.OnClick = (ev) => {
                Navigation <Main> .Go();
            };

            var saveBtn = Document.GetElementById <ButtonElement>("saveBtn");

            saveBtn.OnClick = (ev) =>
            {
                var dynamodb = new DynamoDB();

                var paramGet = new GetParams
                {
                    TableName = "stock",
                    Key       = new { product = new DynamoItem {
                                          S = productTxt.Value
                                      } }
                };

                dynamodb.getItem(paramGet, (errGet, dataGet) =>
                {
                    if (dataGet.Item == null)
                    {
                        var paramPut = new ItemParams
                        {
                            TableName = "stock",
                            Item      = new { product = new DynamoItem {
                                                  S = productTxt.Value
                                              }, quantity = new DynamoItem {
                                                  N = Quantity.ToString()
                                              } }
                        };

                        dynamodb.putItem(paramPut, (errPut, dataPut) =>
                        {
                            if (errPut != null)
                            {
                                Toast.Error("A Error ocorred on include the product!");
                            }
                            else
                            {
                                productTxt.Value  = String.Empty;
                                quantityTxt.Value = "0";
                                Quantity          = 0;
                                productTxt.Focus();
                                Toast.Success("Sucess included product!");
                            }
                        });
                    }
                    else
                    {
                        Toast.Error("Product alredy exist!");
                    }
                });
            };
        }
예제 #24
0
        public void Add(int itemId, int queryId, string propertyName, string propertyValue)
        {
            ItemParams item = new ItemParams(itemId, queryId, propertyName, propertyValue);

            SaveToParamDb(item);
        }
예제 #25
0
        protected void GenerateRandomItemsJustForExample(SpriteCollection spriteCollection, ItemCollection itemCollection)
        {
            itemCollection.GeneratedItems = new List <ItemParams> {
                new ItemParams {
                    Id = "Gold", Type = ItemType.Currency, Path = "Equipment/Supplies/Basic/Currency/Coin"
                }
            };

            for (var i = 0; i < 5; i++)
            {
                var helmet = new ItemParams
                {
                    Id         = spriteCollection.Helmet[i].Name,
                    Type       = ItemType.Helmet,
                    Price      = i,
                    Properties = new List <Property> {
                        new Property(PropertyId.Resistance, i)
                    },
                    Path = spriteCollection.Helmet[i].Path
                };

                var armor = new ItemParams
                {
                    Id         = spriteCollection.Armor[i].Name,
                    Type       = ItemType.Armor,
                    Price      = i,
                    Properties = new List <Property> {
                        new Property(PropertyId.Resistance, i)
                    },
                    Path = spriteCollection.Armor[i].Path
                };

                var weapon = new ItemParams
                {
                    Id         = spriteCollection.MeleeWeapon1H[i].Name,
                    Type       = ItemType.Weapon,
                    Class      = ItemClass.Sword,
                    Price      = i,
                    Properties = new List <Property> {
                        new Property(PropertyId.Damage, i)
                    },
                    Path = spriteCollection.MeleeWeapon1H[i].Path
                };

                var bow = new ItemParams
                {
                    Id         = spriteCollection.Bow[i].Name,
                    Type       = ItemType.Weapon,
                    Class      = ItemClass.Bow,
                    Price      = i,
                    Properties = new List <Property> {
                        new Property(PropertyId.Damage, i)
                    },
                    Tags = new List <ItemTag> {
                        ItemTag.TwoHanded
                    },
                    Path = spriteCollection.Bow[i].Path
                };

                var shield = new ItemParams
                {
                    Id         = spriteCollection.Shield[i].Name,
                    Type       = ItemType.Shield,
                    Price      = i,
                    Properties = new List <Property> {
                        new Property(PropertyId.Blocking, i)
                    },
                    Path = spriteCollection.Shield[i].Path
                };

                itemCollection.GeneratedItems.Add(helmet);
                itemCollection.GeneratedItems.Add(armor);
                itemCollection.GeneratedItems.Add(weapon);
                itemCollection.GeneratedItems.Add(bow);
                itemCollection.GeneratedItems.Add(shield);
            }

            itemCollection.InitializeDict();
        }
예제 #26
0
        protected override void onLoad()
        {
            var productP = Document.GetElementById("productP");

            productP.InnerHTML = product;

            var quantityTxt = Document.GetElementById <InputElement>("quantityTxt");

            quantityTxt.Value    = quantity.ToString();
            quantityTxt.OnChange = (ev) =>
            {
                quantity = int.Parse(quantityTxt.Value);
            };

            var toDownBtn = Document.GetElementById <ButtonElement>("toDownBtn");

            toDownBtn.OnClick = (ev) =>
            {
                if (quantity > 0)
                {
                    quantity--;
                    quantityTxt.Value = quantity.ToString();
                }
            };

            var toUpBtn = Document.GetElementById <ButtonElement>("toUpBtn");

            toUpBtn.OnClick = (ev) =>
            {
                quantity++;
                quantityTxt.Value = quantity.ToString();
            };

            var backBtn = Document.GetElementById <ButtonElement>("backBtn");

            backBtn.OnClick = (ev) => {
                Navigation <Main> .Go();
            };

            var saveBtn = Document.GetElementById <ButtonElement>("saveBtn");

            saveBtn.OnClick = (ev) =>
            {
                var param = new ItemParams
                {
                    TableName = "stock",
                    Item      = new { product = new DynamoItem {
                                          S = product
                                      }, quantity = new DynamoItem {
                                          N = quantity.ToString()
                                      } }
                };

                var dynamodb = new DynamoDB();
                dynamodb.putItem(param, (err, data) =>
                {
                    if (err != null)
                    {
                        Toast.Error("Error on edit the product!");
                    }
                    else
                    {
                        Toast.Success("Success on edit the product!");
                    }
                });
            };

            var excludeBtn = Document.GetElementById <ButtonElement>("excludeBtn");

            excludeBtn.OnClick = (ev) =>
            {
                var param = new DeleteParams
                {
                    TableName = "stock",
                    Key       = new { product = new DynamoItem {
                                          S = product
                                      } }
                };

                var dynamodb = new DynamoDB();
                dynamodb.deleteItem(param, (err, data) =>
                {
                    if (err != null)
                    {
                        Toast.Error("Error on exclude the product!");
                    }
                    else
                    {
                        Toast.Error("Success on exclude the product!");
                        Navigation <Main> .Go();
                    }
                });
            };
        }
 public Task <Item> GetByItems(ItemParams request)
 {
     return(_checkOutEngine.GetByItemAsync(request));
 }
예제 #28
0
 public void putItem(ItemParams param, Action <DynamoError, Object> callback)
 {
     return;
 }
예제 #29
0
        public async Task <PagedList <Item> > GetAllItems(ItemParams itemParams)
        {
            var items = dataContext.Items.AsQueryable();

            return(await PagedList <Item> .CreateAsync(items, itemParams.PageNumber, itemParams.PageSize));
        }
예제 #30
0
 public Task <Item> GetByItem(ItemParams ItemCode)
 {
     return(_itemsEngine.GetByAsync(ItemCode));
 }
예제 #31
0
 /// <summary>
 /// Lists the items selection changed.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="System.Windows.Controls.SelectionChangedEventArgs"/> instance containing the event data.</param>
 private void ListItemsSelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
 {
     KnowledgeParams = listItems.SelectedItem == null ? null :
                       new ItemParams(ObjectType.Knowledge, (int)SelectedKnowledgeID);
 }