示例#1
0
        public MethodResult CanUpgradeFurniture(House house, FurnitureTypeEnum furnitureType)
        {
            if (house == null)
            {
                return(new MethodResult("House does not exist!"));
            }
            var furniture = houseFurnitureRepository.GetFurniture(house.ID, furnitureType);

            if (furniture == null)
            {
                return(new MethodResult("Furniture does not exist!"));
            }


            var furnitureObject = HouseFurnitureObjectFactory.CreateHouseFurniture(furniture);

            if (furnitureObject.CanUpgrade() == false)
            {
                return(new MethodResult("You cannot further upgrade this furniture"));
            }


            var cost  = furnitureObject.GetUpgradeCost();
            var chest = houseFurnitureRepository.GetHouseChest(house.ID);

            if (houseChestService.HasItem(chest, ProductTypeEnum.UpgradePoints, 1, cost) == false)
            {
                return(new MethodResult($"You do not have {cost} Upgrade Points to upgrade {furnitureObject.ToHumanReadable()}."));
            }

            return(MethodResult.Success);
        }
示例#2
0
        public ActionResult Furniture(long houseID)
        {
            var house = houseRepository.GetById(houseID);

            var result = houseService.CanViewHouse(house, SessionHelper.CurrentEntity);

            var furniture = houseFurnitureRepository.GetFurniture(houseID);

            var vm = new HouseFurnitureListViewModel(house, furniture, houseService.GetHouseRights(house, SessionHelper.CurrentEntity));

            return(View(vm));
        }