示例#1
0
        public ActionResult Creature(CreatureViewModel CreatureViewModel)
        {
            if (ConvertHelper.IsOfTypeCode(this.ControllerContext.RouteData.Values["species"], TypeCode.Int32) &&
                ConvertHelper.IsOfTypeCode(this.ControllerContext.RouteData.Values["stage"], TypeCode.Int32) &&
                ConvertHelper.IsOfTypeCode(this.ControllerContext.RouteData.Values["element"], TypeCode.Int32))
            {
                if (CreatureViewModel.Creatures == null)
                {
                    var CreatureRepository = new CreatureRepository();
                    CreatureViewModel.Creatures = CreatureRepository.GetCreatures();
                }

                foreach (var Creature in CreatureViewModel.Creatures)
                {
                    if (Creature.SpeciesId == Convert.ToInt32(this.ControllerContext.RouteData.Values["species"]) &&
                        Creature.EvolutionStage == Convert.ToInt32(this.ControllerContext.RouteData.Values["stage"]) &&
                        Creature.Element.Id == Convert.ToInt32(this.ControllerContext.RouteData.Values["element"]))
                    {
                        CreatureViewModel.Creature = Creature;
                    }
                }

                return(View(CreatureViewModel));
            }
            else
            {
                return(RedirectToAction("Creatures"));
            }
        }
示例#2
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            creature = BindingContext as CreatureViewModel;
            amount.Focus();
        }
        private async void AddCreature(object sender, EventArgs e)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            if (await encounter.HasUnsavedChanges())
            {
                if (await SaveChangesDialog())
                {
                    await encounter.Save();
                }
                else
                {
                    IsBusy = false;
                    return;
                }
            }

            var creature = new CreatureViewModel()
            {
                EncounterId = encounter.Id
            };

            Analytics.TrackEvent("Add creature button clicked");

            await Navigation.PushAsync(new CreatureEditPage()
            {
                BindingContext = creature
            });

            IsBusy = false;
        }
示例#4
0
        public void SetCorrectlyAllPropertiesWhenInitialized()
        {
            //Arrange
            var creature = new Creature()
            {
                Id             = 1,
                Name           = "name",
                Description    = "desc",
                AvailableCount = 2,
                Category       = "fresh",
                ImageUrl       = "http://site.com",
                Price          = 12.5m,
                Orders         = new List <Order>()
                {
                    new Order()
                }
            };

            //Act
            var creatureViewModel = new CreatureViewModel(creature);

            //Assert
            Assert.AreEqual(creature.Id, creatureViewModel.Id);
            Assert.AreEqual(creature.AvailableCount, creatureViewModel.AvailableCount);
            Assert.AreEqual(creature.Price, creatureViewModel.Price);
            Assert.AreEqual(creature.Name, creatureViewModel.Name);
            Assert.AreEqual(creature.Description, creatureViewModel.Description);
            Assert.AreEqual(creature.Category, creatureViewModel.Category);
            Assert.AreEqual(creature.ImageUrl, creatureViewModel.ImageUrl);
            Assert.AreEqual(creature.OrderedItemsCount, creatureViewModel.OrderedItemsCount);
            Assert.AreEqual(creature.Orders, creatureViewModel.Orders);
        }
示例#5
0
        public ActionResult Edit(CreatureViewModel creatureViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var oldCreature = (Creature)(System.Web.HttpContext.Current.Session["editCreature"]);
                    _creatureManager.UpdateCreature(oldCreature, creatureViewModel);
                }
                catch (Exception ex)
                {
                    return(RedirectToAction("Index", "Error", new { message = ex.Message, stackTrace = ex.StackTrace }));
                }

                return(RedirectToAction("Index"));
            }

            try
            {
                ViewBag.CreatureDiets = _creatureDietManager.RetrieveCreatureDietList();
                ViewBag.CreatureTypes = _creatureTypeManager.RetrieveCreatureTypeList();
                return(View(creatureViewModel));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index", "Error", new { message = ex.Message, stackTrace = ex.StackTrace }));
            }
        }
示例#6
0
 public ActionResult Create(CreatureViewModel creatureViewModel)
 {
     if (ModelState.IsValid)
     {
         try
         {
             _creatureManager.AddCreature(creatureViewModel);
         }
         catch (Exception ex)
         {
             return(RedirectToAction("Index", "Error", new { message = ex.Message, stackTrace = ex.StackTrace }));
         }
         return(RedirectToAction("Index"));
     }
     try
     {
         ViewBag.CreatureDiets = _creatureDietManager.RetrieveCreatureDietList();
         ViewBag.CreatureTypes = _creatureTypeManager.RetrieveCreatureTypeList();
         return(View(creatureViewModel));
     }
     catch (Exception ex)
     {
         return(RedirectToAction("Index", "Error", new { message = ex.Message, stackTrace = ex.StackTrace }));
     }
 }
示例#7
0
 // GET: Creature/Edit/5
 public ActionResult Edit(string id)
 {
     if (id == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     try
     {
         Creature          creature          = _creatureManager.RetreiveCreatureByID(id);
         CreatureViewModel creatureViewModel = new CreatureViewModel
         {
             DisplayCreatureID     = creature.CreatureID,
             DisplayCreatureDietID = creature.CreatureDietID,
             DisplayCreatureTypeID = creature.CreatureTypeID,
             Active = creature.Active
         };
         System.Web.HttpContext.Current.Session["editCreature"] = creature;
         ViewBag.CreatureDiets = _creatureDietManager.RetrieveCreatureDietList();
         ViewBag.CreatureTypes = _creatureTypeManager.RetrieveCreatureTypeList();
         return(View(creatureViewModel));
     }
     catch (Exception ex)
     {
         return(RedirectToAction("Index", "Error", new { message = ex.Message, stackTrace = ex.StackTrace }));
     }
 }
示例#8
0
        private async void AddCreatures(object sender, EventArgs e)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            if (creature.Initiative == 0)
            {
                await SetInitative();
            }

            for (int i = 0; i < amountOfCreatures; i++)
            {
                var copy = CreatureViewModel.Copy(creature);
                copy.Number = i + 1;
                encounter.Creatures.Add(copy);
            }

            encounter.Creatures.Sort(CreatureViewModel.CompareInitiative);

            await PopupNavigation.Instance.PopAsync();

            IsBusy = false;
        }
示例#9
0
 protected override void OnAppearing()
 {
     base.OnAppearing();
     creature = BindingContext as CreatureViewModel;
     if (creature.HasTurn)
     {
         sourceTextView.IsVisible = true;
         quickView.IsVisible      = false;
     }
 }
        private void CopyCreature(object sender, EventArgs e)
        {
            var creature = ((ImageButton)sender).BindingContext as CreatureViewModel;

            Analytics.TrackEvent("Copy creature", new Dictionary <string, string>
            {
                { "creatureName", creature.Name }
            });
            var copy = CreatureViewModel.Copy(creature);

            encounter.Creatures.Add(copy);
        }
        protected override void OnAppearing()
        {
            base.OnAppearing();
            creature = BindingContext as CreatureViewModel;

            collectionView.ItemsSource   = Mechanics.Conditions;
            collectionView.SelectedItems = creature.GetConditionReference(out bool valuesChanged);
            if (valuesChanged)
            {
                collectionView.SelectionChanged += CollectionView_SelectionChanged;
            }
        }
示例#12
0
        public ActionResult Creatures(CreatureViewModel CreatureViewModel)
        {
            if (CreatureViewModel.Creatures == null)
            {
                var CreatureRepository = new CreatureRepository();
                CreatureViewModel.Creatures = CreatureRepository.GetCreatures();
            }

            var SortElements = CreatureViewModel.Elements.Where(E => E.Value == true).Select(E => E.Key).ToArray();
            var SortRoles    = CreatureViewModel.Roles.Where(R => R.Value == true).Select(R => R.Key).ToArray();

            CreatureViewModel.CreaturesFiltered = CreatureViewModel.Creatures
                                                  .Where(C => C.EvolutionId == 0)
                                                  .Where(C => SortElements.Contains(C.Element.Id.ToString()))
                                                  .Where(C => SortRoles.Contains(C.Role.Id.ToString()))
                                                  .ToList();

            return(View(CreatureViewModel));
        }
示例#13
0
        private void IncreaseTurn(CreatureViewModel creature)
        {
            if (turnIndex >= encounter.Creatures.Count - 1)
            {
                turnIndex = 0;
                encounter.Round++;
            }
            else
            {
                turnIndex++;
            }

            // skip creatures of the same mob
            if (encounter.Creatures[turnIndex].Name.Equals(creature.Name) &&
                encounter.Creatures[turnIndex].Initiative == creature.Initiative)
            {
                IncreaseTurn(creature);
            }
        }
示例#14
0
 // GET: Creature/Delete/5
 public ActionResult Delete(string id)
 {
     if (id == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     try
     {
         Creature          creature          = _creatureManager.RetreiveCreatureByID(id);
         CreatureViewModel creatureViewModel = new CreatureViewModel
         {
             DisplayCreatureID     = creature.CreatureID,
             DisplayCreatureDietID = creature.CreatureDietID,
             DisplayCreatureTypeID = creature.CreatureTypeID,
             Active = creature.Active
         };
         return(View(creatureViewModel));
     }
     catch (Exception ex)
     {
         return(RedirectToAction("Index", "Error", new { message = ex.Message, stackTrace = ex.StackTrace }));
     }
 }
示例#15
0
        // /food (works because default action is Index)
        // /     (works because default controller and action are set to Food and Index)
        // /food/index
        public IActionResult Index()
        {
            List <CreatureViewModel> data     = new List <CreatureViewModel>();
            CreatureViewModel        creature = new CreatureViewModel();

            creature.Name      = "Ewok";
            creature.ImageUrl  = "https://img.buzzfeed.com/buzzfeed-static/static/enhanced/web03/2012/5/24/13/enhanced-buzz-28303-1337880144-7.jpg?downsize=700:*&output-format=auto&output-quality=auto";
            creature.ImageSize = "35%";
            data.Add(creature);

            creature           = new CreatureViewModel();
            creature.Name      = "Wookie";
            creature.ImageUrl  = "https://contattafiles.s3.us-west-1.amazonaws.com/tecommunity/6oNYJw54EECOLse/Pasted%20Image%3A%20Mar%201%2C%202019%20-%2011%3A15%3A09am";
            creature.ImageSize = "70%";
            data.Add(creature);

            creature           = new CreatureViewModel();
            creature.Name      = "Jawa";
            creature.ImageUrl  = "https://i.imgur.com/sT9bTkIl.jpg";
            creature.ImageSize = "100%";
            data.Add(creature);

            return(View(data));
        }
        private void SetNumber(CreatureViewModel creature)
        {
            var count = encounter.Creatures.Count((c) => c.Name == creature.Name);

            creature.Number = count;
        }