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); }