예제 #1
0
        public ActionResult Create(Affix affix)
        {
            if (!Enum.IsDefined(typeof(AffixType), affix.Type))
            {
                ModelState.AddModelError("Type", new Exception());
            }

            try
            {
                if (ModelState.IsValid)
                {
                    db.Affixes.Add(affix);
                    db.SaveChanges();

                    FlashMessageHelper.SetMessage(this, FlashMessageType.Success, "Zapisanie nowych danych przebiegło pomyślnie.");
                    return RedirectToAction("Index");
                }
                FlashMessageHelper.SetMessage(this, FlashMessageType.Info, "Nie można zapisać nowych danych. Należy poprawić zaistniałe błędy.");
            }
            catch (Exception)
            {
                FlashMessageHelper.SetMessage(this, FlashMessageType.Danger, "Wystąpił nieoczekiwany błąd związany z zapisem nowych danych.");
            }

            return View(affix);
        }
예제 #2
0
        public GeneratedItem GetGeneratedItem(Item item, Affix prefix, Affix suffix)
        {
            if (item == null)
            {
                return null;
            }

            GeneratedItem generatedItem = new GeneratedItem()
            {
                ItemId = item.Id,
                PrimaryMinValue = item.PrimaryMinValue,
                PrimaryMaxValue = item.PrimaryMaxValue,
                Durability = item.Durability
            };

            Random dice = new Random();

            if (prefix != null)
            {
                generatedItem.PrefixId = prefix.Id;
                generatedItem.Strength += dice.Next(prefix.MinStrength, prefix.MinStrength + 1);
                generatedItem.Dexterity += dice.Next(prefix.MinDexterity, prefix.MinDexterity + 1);
                generatedItem.Intelligence += dice.Next(prefix.MinIntelligence, prefix.MinIntelligence + 1);
                generatedItem.Vitality += dice.Next(prefix.MinVitality, prefix.MinVitality + 1);
            }

            if (suffix != null)
            {
                generatedItem.SuffixId = suffix.Id;
                generatedItem.Strength += dice.Next(suffix.MinStrength, suffix.MinStrength + 1);
                generatedItem.Dexterity += dice.Next(suffix.MinDexterity, suffix.MinDexterity + 1);
                generatedItem.Intelligence += dice.Next(suffix.MinIntelligence, suffix.MinIntelligence + 1);
                generatedItem.Vitality += dice.Next(suffix.MinVitality, suffix.MinVitality + 1);
            }

            return generatedItem;
        }
예제 #3
0
        public ActionResult Edit(Affix affix)
        {
            if (!Enum.IsDefined(typeof(AffixType), affix.Type))
            {
                ModelState.AddModelError("Type", new Exception());
            }

            try
            {
                if (ModelState.IsValid)
                {
                    db.Entry(affix).State = EntityState.Modified;
                    db.SaveChanges();

                    FlashMessageHelper.SetMessage(this, FlashMessageType.Success, "Aktualizacja danych przebiegła pomyślnie.");
                    return RedirectToAction("Index");
                }
                FlashMessageHelper.SetMessage(this, FlashMessageType.Info, "Nie można zaktualizować danych. Należy poprawić zaistniałe błędy.");
            }
            catch (DbUpdateConcurrencyException)
            {
                FlashMessageHelper.SetMessage(this, FlashMessageType.Warning, "Dane został zaktualizowane przez inną osobę. Należy odświeżyć stronę w celu wczytania nowych danych.");
            }
            catch (Exception)
            {
                FlashMessageHelper.SetMessage(this, FlashMessageType.Danger, "Wystąpił nieoczekiwany błąd związany z aktualizowaniem danych.");
            }

            return View(affix);
        }