Esempio n. 1
0
        public MethodResult CanBuy(House house, Entity entity)
        {
            if (house == null)
            {
                return(new MethodResult(HouseErrors.HouseNotExist));
            }
            if (entity == null)
            {
                return(new MethodResult(HouseErrors.EntityNotExist));
            }

            if (entity.Is(EntityTypeEnum.Citizen) == false)
            {
                return(new MethodResult(HouseErrors.OnlyCitizenBuyHouse));
            }

            if (house.SellHouse == null)
            {
                return(new MethodResult(HouseErrors.NotOnSell));
            }

            if (HaveEnoughCashToBuy(house, entity) == false)
            {
                return(new MethodResult(HouseErrors.NotEnoughCash));
            }

            if (houseRepository.HasHouseInRegion(entity.EntityID, house.RegionID))
            {
                return(new MethodResult(HouseErrors.AlreadyHaveHouse));
            }

            return(MethodResult.Success);
        }