コード例 #1
0
        public bool AddProduct(ProductRequirementDto productDto)
        {
            if (!_productR.GetAll().Any(i => i.Products.Alias == productDto.Base_Name && i.Products1.Alias == productDto.Require_Name)
                && (_product.GetAll().Any(i => i.Alias == productDto.Require_Name))
                && (_product.GetAll().Any(i => i.Alias == productDto.Require_Name)))
            {
                _productR.Add(new ProductRequirements
                {
                    Base_ID = _product.GetAll().First(i => i.Alias == productDto.Base_Name).ID,
                    Require_ID = _product.GetAll().First(i => i.Alias == productDto.Require_Name).ID,
                    Value = productDto.Value
                });

                _unitOfWork.Commit();
                return true;
            }
            return false;
        }
コード例 #2
0
        public List<ProductRequirementDto> GetCanUserProducts(string user)
        {
            int uID = _user.GetAll().First(i => i.Login == user).ID;

            List<ProductRequirementDto> productRDto = new List<ProductRequirementDto>();
            ProductRequirementDto productDictionary = new ProductRequirementDto();
            productDictionary.RequireProduct = new List<Dictionary<string, int[]>>();

            string building = String.Empty;

            var products = _productR.GetAll().GroupBy(i => i.Base_ID);
            foreach (var item in products)
            {
                bool[] temp = new bool[item.Count()];
                bool temp2 = false;
                bool can = false;
                int iterator = 0;
                foreach (var item2 in item)
                {
                    if ((_userProduct.GetAll().Any(i => i.User_ID == uID && i.Product_ID == item2.Require_ID))
                        && (_userProduct.GetAll().First(i => i.User_ID == uID && i.Product_ID == item2.Require_ID).Value > 0))
                    {
                        temp[iterator] = true;
                    }
                    else
                    {
                        temp[iterator] = false;
                    }
                    var buildingID = _building.GetAll().FirstOrDefault(p => p.Product_ID == item2.Base_ID).ID;
                    if (_userBuilding.GetAll().Any(i => i.User_ID == uID && i.Building_ID == buildingID && i.Status.Contains("gotowy")))
                    {
                        temp2 = true;
                    }

                    building = _building.Get(buildingID).Alias;
                    iterator++;
                }
                if (temp2)
                {
                    can = true;
                    foreach (var itemTemp in temp)
                    {
                        if (!itemTemp)
                        {
                            can = false;
                        }
                    }
                }
                productRDto.Add(new ProductRequirementDto
                {
                    Base_Name = _product.Get(item.Key).Alias,
                    RequireProduct = item.Select(i => new Dictionary<string, int[]>() { { _product.Get(i.Require_ID).Alias, new int[] { i.Value, i.Require_ID } }, }).ToList(),
                    IfCanProduct = can,
                    RequireBuilding = building
                });
            }

            return productRDto;
        }
コード例 #3
0
        public bool UpdateProduct(ProductRequirementDto productDto)
        {
            if (_product.GetAll().Any(i => i.Alias == productDto.Require_Name)
                && (_product.GetAll().Any(i=> i.Alias == productDto.Base_Name)))
            {
                foreach (var item in _productR.GetAll().Where(i => i.ID == productDto.ID))
                {
                    item.Base_ID = _product.GetAll().First(i => i.Alias == productDto.Base_Name).ID;
                    item.Require_ID = _product.GetAll().First(i => i.Alias == productDto.Require_Name).ID;
                    item.Value = productDto.Value;
                }

                _unitOfWork.Commit();
                return true;
            }
            return false;
        }
コード例 #4
0
ファイル: AdminController.cs プロジェクト: kamlys/Game
        public ActionResult AddProductRequirementAdmin(ProductRequirementViewModel productrMode)
        {
            List<string> errors;
            if (Session["val"] != null)
            {
                errors = ((string[])Session["val"]).ToList();
            }
            else
            {
                errors = new List<string>();
            }

            ProductRequirementDto productrDto = new ProductRequirementDto();

            productrDto.Base_Name = productrMode.viewModel.BaseName;
            productrDto.Require_Name = productrMode.viewModel.RequireName;
            productrDto.Value = productrMode.viewModel.Value;

            if(_productRService.AddProduct(productrDto))
            {
                errors.Add("Dodano produkt.");
            }
            else
            {
                errors.Add("Błąd. Spróbuj ponownie.");
            }
            Session["val"] = errors.ToArray<string>();

            return RedirectToAction("Admin");
        }