示例#1
0
        public SingletonViewModel()
        {
            _AttractionPage = new ObservableCollection <Attractions>();
            Attractions Rest1 = new Attractions("", "", "")
            {
                _description = "Dette er en fantastisk god Restaurant",
                _name        = "Jensens Bøfhus",
                _photo       = "placeholder",
            };
            Attractions Event1 = new Attractions("", "", "")
            {
                _description = "Dette er det flotteste event nogensinde",
                _name        = "Roskilde Festival",
                _photo       = "placeholder",
            };
            Attractions Culture1 = new Attractions("", "", "")
            {
                _description = "Dette er det flotteste Museum nogensinde",
                _name        = "Roskilde Museum",
                _photo       = "placeholder",
            };
            Attractions Shop1 = new Attractions("", "", "")
            {
                _description = "Dette er det flotteste indkøbscenter nogensinde",
                _name        = "Ro's Torv",
                _photo       = "placeholder",
            };

            _AttractionPage.Add((Rest1));
            _AttractionPage.Add((Event1));
            _AttractionPage.Add((Culture1));
            _AttractionPage.Add((Shop1));
        }
示例#2
0
        // Class interfaces -------------------------------------------------------
        public void TakeFee(Kid kid, Attractions attraction)
        {
            // Get list of attractions where kid can go today
            List <Attractions> availableAttractions = MatchAttractions(kid.GetHeight(), kid.GetGender());

            int cost = 0;

            switch (attraction)
            {
            case Attractions.Batman:
                cost = AttractionSettings.GetBatmanPrice();
                break;

            case Attractions.Swan:
                cost = AttractionSettings.GetSwanPrice();
                break;

            case Attractions.Pony:
                cost = AttractionSettings.GetPonyPrice();
                break;
            }
            // Check if kid can go to attraction
            if (availableAttractions.Contains(attraction) && kid.GetCash() >= cost)
            {
                kid.RideAttraction(attraction, cost);
                _cashbox += cost;
            }
            else
            {
                Console.WriteLine("{0} cannot go to {1}", kid.Name, attraction);
                kid.Cry();
            }
        }
示例#3
0
        public IActionResult addlist(UserViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            using (_dbContext)
            {
                if (_dbContext.Attractions.Count(x => x.SceientUuid == model.ScenienUuid && x.UserUuid == model.SystemUserUuid) > 0)
                {
                    response.SetFailed("该景点已打卡,请勿重复操作");
                    return(Ok(response));
                }
                var entity = new Attractions();
                entity.SceientUuid     = model.ScenienUuid;
                entity.Evaluate        = model.Evaluate;
                entity.Picture         = model.Picture;
                entity.UserUuid        = model.SystemUserUuid;
                entity.AddTime         = DateTime.Now.ToString("yyyy-MM-dd HH:mm;ss");
                entity.Praise          = 0;
                entity.AttractionsUuid = Guid.NewGuid();
                _dbContext.Attractions.Add(entity);
                _dbContext.SaveChanges();
                response.SetSuccess();
                return(Ok(response));
            }
        }
示例#4
0
        public void SetDesiredAttraction()
        {
            do
            {
                Console.Write("Enter desired attraction (Batman - 1, Swan - 2, Pony - 3): ");
                try
                {
                    int desiredAttractionAsNumber = Convert.ToInt32(Console.ReadLine());
                    switch (desiredAttractionAsNumber)
                    {
                    case 1:
                        desiredAttraction = Attractions.Batman;
                        return;

                    case 2:
                        desiredAttraction = Attractions.Swan;
                        return;

                    case 3:
                        desiredAttraction = Attractions.Pony;
                        return;

                    default:
                        throw new FormatException();
                    }
                }
                catch (FormatException)
                {
                    Console.WriteLine("Invalid input. Should be only 1, 2 or 3");
                }
            } while (true);
        }
示例#5
0
        static bool IsAttractionOpened(WeekDay weekDay, Attractions attraction)
        {
            switch (attraction)
            {
            case Attractions.Batman:
                if (WeekDay.Monday == weekDay || WeekDay.Wednesday == weekDay || WeekDay.Friday == weekDay)
                {
                    return(true);
                }
                break;

            case Attractions.Swan:
                if (weekDay == WeekDay.Tuesday || weekDay == WeekDay.Wednesday || weekDay == WeekDay.Thursday)
                {
                    return(true);
                }
                break;

            case Attractions.Pony:
                if (weekDay != WeekDay.Sunday)
                {
                    return(true);
                }
                break;

            default:
                return(false);
            }

            return(false);
        }
        public Attractions LetKidTryHisLuck(Kid child)
        {
            Attractions allowedAttraction = Attractions.None;

            if (child.gender == Gender.Male && child.height >= HEIGHT_FOR_BATMAN && child.desiredAttraction == Attractions.Batman)
            {
                allowedAttraction = Attractions.Batman;
            }
            else if (child.gender == Gender.Female && child.height >= LOWER_HEIGHT_FOR_SWAN && child.height <= UPPER_HEIGHT_FOR_SWAN && child.desiredAttraction == Attractions.Swan)
            {
                allowedAttraction = Attractions.Swan;
            }
            else if (child.gender == Gender.Male && child.height <= UPPER_HEIGHT_FOR_SWAN && child.desiredAttraction == Attractions.Swan)
            {
                allowedAttraction = Attractions.Swan;
            }
            else if (child.desiredAttraction == Attractions.Pony)
            {
                allowedAttraction = Attractions.Pony;
            }
            if (AllowedAttractionsByDay.Contains(allowedAttraction))
            {
                return(allowedAttraction);
            }
            return(Attractions.None);
        }
 public AttractionCategory(AttractionCategoryIndicator ci, string name,
                           IEnumerable <Attraction> attractions)
 {
     EntityId = ci;
     Name     = name;
     Attractions.Add(attractions);
 }
示例#8
0
        public IActionResult Put(int id, [FromBody] Attractions place)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != place.AttractionId)
            {
                return(BadRequest());
            }

            _context.Entry(place).State = EntityState.Modified;

            try
            {
                _context.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AttractionExists(place.AttractionId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(new StatusCodeResult(StatusCodes.Status204NoContent));
        }
示例#9
0
        public int CreateAttractions(string ID, string Name, string Desc,
                                     decimal unitPrice, string Image)
        {
            Attractions emp = new Attractions(ID, Name, Desc, unitPrice, Image);

            return(emp.Insert());
        }
        public async Task <IActionResult> Edit(string id, [Bind("AttractionName,AttractionId,ManagerId,AttractionType,HeightRequirement,AgeRequirement,AttractionStatus")] Attractions attractions)
        {
            if (id != attractions.AttractionId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(attractions);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AttractionsExists(attractions.AttractionId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AttractionStatus"] = new SelectList(_context.AttractionStatusTable, "AttractionStatusIndex", "AttractionStatus", attractions.AttractionStatus);
            ViewData["AttractionType"]   = new SelectList(_context.AttractionTypeTable, "AttractionTypeIndex", "AttractionType", attractions.AttractionType);
            ViewData["ManagerId"]        = new SelectList(_context.Employees, "EmployeeId", "EmployeeId", attractions.ManagerId);
            return(View(attractions));
        }
示例#11
0
        /// <summary>
        /// Adds the attraction to the city.
        /// </summary>
        /// <param name="attraction">The <c>AttractionInformation</c> object to add.</param>
        public void AddAttraction(AttractionInformation attraction)
        {
            // Mark as belonging to this city
            attraction.City = this;

            // Add to collection
            Attractions.Add(attraction);
        }
示例#12
0
        public ActionResult DeleteConfirmed(int id)
        {
            Attractions attraction = db.Attractions.Find(id);

            db.Attractions.Remove(attraction);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#13
0
 public ActionResult Edit([Bind(Include = "id,Name,Description,Particpation,CityName,Location,Add,Tel,Org,Startdate,Enddate,Charge,Cycle,Noncycle,Website,Px,Py,Class1,Class2,Travellinginfo,Parkinginfo,Createdate,CreateName")] Attractions attractions)
 {
     if (ModelState.IsValid)
     {
         db.Entry(attractions).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(attractions));
 }
示例#14
0
        /// <summary>
        /// Adds the attraction to the city.
        /// </summary>
        /// <param name="name">The name of the attraction.</param>
        /// <param name="description">A short description of the attraction.</param>
        /// <param name="imageName">The <c>Assets.xcassets</c> name of the image to display for the attraction.</param>
        public void AddAttraction(string name, string description, string imageName)
        {
            // Create attraction
            var attraction = new AttractionInformation(name, description, imageName);

            // Mark as belonging to this city
            attraction.City = this;

            // Add to collection
            Attractions.Add(attraction);
        }
示例#15
0
        public async Task <Attractions> GetAttractions([FromRoute] float latitude, [FromRoute] float longitude)
        {
            HttpClient          client   = GetHttpClient();
            HttpResponseMessage response = await client.GetAsync($"nearbysearch/json?type=tourist_attraction&key={APIKey}&location={latitude},{longitude}&radius=15000");

            //install-package Microsoft.AspNet.WebAPI.Client
            var attractionjson = await response.Content.ReadAsStringAsync();

            Attractions attraction = JsonConvert.DeserializeObject <Attractions>(attractionjson);

            return(attraction);
        }
示例#16
0
 public static AttractionsDTO AttractionsFromCoreToDTO(Attractions attraction)
 {
     return(new AttractionsDTO
     {
         AttractionId = attraction.AttractionId,
         AttractionName = attraction.AttractionName,
         CountryId = attraction.CountryId,
         CityId = attraction.CityId,
         Type = attraction.AttractionType,
         Description = attraction.Description,
         ImageName = attraction.ImageName
     });
 }
示例#17
0
 // Class interfaces --------------------------------------------------
 public void RideAttraction(Attractions attraction, int cost)
 {
     Console.WriteLine("{0} is riding on {1}", Name, attraction);
     _cash -= cost;
     if (_satisfactionLevel <= MAX_SATISFACTION_LEVEL)
     {
         _satisfactionLevel += cost;
     }
     else
     {
         Console.WriteLine("{0} is totally happy", Name);
     }
 }
示例#18
0
 private void SaveAttractionsData(ObservableCollection <Attraction> observableCollection)
 {
     Attractions.Clear();
     foreach (var attraction in observableCollection)
     {
         Attractions.Add(new AttractionViewModel {
             Id      = attraction.ID,
             Name    = attraction.Name,
             Country = attraction.Country.Name
         });
     }
     InfoText = Attractions.Count > 0 ? "" : "No attractions found.";
 }
示例#19
0
        static void KidAllowedToAttractions(WeekDay weekDay, Kid kid, Attractions attractions)
        {
            if (IsAttractionOpened(weekDay, attractions) & IsKidAllowed(attractions, kid))
            {
                Console.WriteLine($"Kid Name: {kid.Name}");
                Console.WriteLine($"Attraction Name: {attractions}");
            }

            else
            {
                Console.WriteLine($"{kid.Name} is not allowed to {attractions} attraction");
            }
        }
        public async Task <IActionResult> Create([Bind("AttractionName,AttractionId,ManagerId,AttractionType,HeightRequirement,AgeRequirement,AttractionStatus")] Attractions attractions)
        {
            if (ModelState.IsValid)
            {
                _context.Add(attractions);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AttractionStatus"] = new SelectList(_context.AttractionStatusTable, "AttractionStatusIndex", "AttractionStatus", attractions.AttractionStatus);
            ViewData["AttractionType"]   = new SelectList(_context.AttractionTypeTable, "AttractionTypeIndex", "AttractionType", attractions.AttractionType);
            ViewData["ManagerId"]        = new SelectList(_context.Employees, "EmployeeId", "EmployeeId", attractions.ManagerId);
            return(View(attractions));
        }
示例#21
0
        // GET: Attractions/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Attractions attractions = db.Attractions.Find(id);

            if (attractions == null)
            {
                return(HttpNotFound());
            }
            return(View(attractions));
        }
示例#22
0
        public IActionResult Get(int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Attractions place = _context.Attractions.Single(m => m.AttractionId == id);

            if (place == null)
            {
                return(NotFound());
            }

            return(Ok(place));
        }
示例#23
0
        // GET: Course/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PopulateLocationsDropDownList(id);
            PopulateSitesDropDownList(id);
            Attractions attraction = db.Attractions.Find(id);

            if (attraction == null)
            {
                return(HttpNotFound());
            }
            return(View(attraction));
        }
        public int GetCostFor(Attractions attraction)
        {
            switch (attraction)
            {
            case Attractions.Batman:
                price = 20;
                break;

            case Attractions.Swan:
                price = 10;
                break;

            case Attractions.Pony:
                price = 10;
                break;
            }
            return(price);
        }
示例#25
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Attractions attraction = db.Attractions.Where(w => w.Id == id).FirstOrDefault();

            if (attraction == null)
            {
                return(HttpNotFound());
            }
            PopulateLocationsDropDownList(attraction.LocationID);
            PopulateSitesDropDownList(attraction.SiteID);
            PopulateAttractionTypeIDDropDownList(attraction.AttractionTypeID);

            return(View(attraction));
        }
示例#26
0
        public IActionResult Delete(int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Attractions place = _context.Attractions.Single(m => m.AttractionId == id);

            if (place == null)
            {
                return(NotFound());
            }

            _context.Attractions.Remove(place);
            _context.SaveChanges();

            return(Ok(place));
        }
示例#27
0
        public async Task Init(object objectId)
        {
            City = await _cityService.GetById <CityDTO>((int)objectId);

            var attrData = await _attrService.Get <List <AttractionDTO> >(new AttractionSearchRequest { CityId = City.Id });

            foreach (var item in attrData)
            {
                Attractions.Add(item);
            }

            var hotelData = await _hotelService.Get <List <HotelDTO> >(new HotelSearchRequest { CityId = City.Id });

            foreach (var item in hotelData)
            {
                Hotels.Add(item);
                TotalVisits += item.TotalVisits;
            }
        }
示例#28
0
 static bool IsKidAllowed(Attractions attraction, Kid kid)
 {
     if (attraction == Attractions.Batman & kid.Height > AttractionSettings.GetMinimumHeightForBatman() & kid.Gender == Gender.Male)
     {
         return(true);
     }
     if (attraction == Attractions.Swan & kid.Gender == Gender.Female & (kid.Height > AttractionSettings.GetMinimumHeightForSwan() & kid.Height < AttractionSettings.GetMaximumHeightForSwan()))
     {
         return(true);
     }
     if (attraction == Attractions.Swan & kid.Gender == Gender.Male & kid.Height < AttractionSettings.GetMaximumHeightForSwan())
     {
         return(true);
     }
     if (attraction == Attractions.Pony)
     {
         return(true);
     }
     return(false);
 }
示例#29
0
 static bool IsKidAllowed(Attractions attraction, Kid kid)
 {
     if (attraction == Attractions.Batman & kid.Height > 150 & kid.Gender == Gender.Boy)
     {
         return(true);
     }
     if (attraction == Attractions.Swan & kid.Gender == Gender.Girl & (kid.Height > 120 & kid.Height < 140))
     {
         return(true);
     }
     if (attraction == Attractions.Swan & kid.Gender == Gender.Boy & kid.Height < 140)
     {
         return(true);
     }
     if (attraction == Attractions.Pony)
     {
         return(true);
     }
     return(false);
 }
        public virtual Tuple <bool, byte> DeleteAttraction(int id)
        {
            Attraction attraction = Attractions.SingleOrDefault(a => a.ID == id);
            bool       succes     = false;

            if (attraction != null)
            {
                Attractions.Remove(attraction);
                try
                {
                    SaveChanges();
                    succes = true;
                }
                catch (Exception e)
                {
                    Logger.LogError($"Exception removing attraction! Exception: {e.ToString()}", GetType(), $"DeleteAttraction(id: {id})");
                }
            }
            return(new Tuple <bool, byte>(succes, (byte)ModelType.Model));
        }