public async Task <IActionResult> Update(Advantage advantage) { if (User.Identity.IsAuthenticated && User.IsInRole("admin")) { if (advantage == null) { return(NotFound()); } if (advantage.Content == string.Empty || advantage.Content == "") { ModelState.AddModelError("Content", "Qısa məlumat boş olmamalıdır"); return(View(advantage)); } Advantage db_advantage = await _context.advantages.FindAsync(advantage.Id); if (advantage.Icon != null) { if (!advantage.Icon.ContentType.Contains("image/")) { ModelState.AddModelError("Icon", "Şəkilin formatı düzgün deyil"); return(View(db_advantage)); } RemovePhoto(_env.WebRootPath, db_advantage.IconUrl); db_advantage.IconUrl = await advantage.Icon.SavePhotoAsync(_env.WebRootPath, "advantages"); } db_advantage.Content = advantage.Content; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } else { return(Redirect("/egmedia_admin/login")); } }
public async Task <IActionResult> Edit(int id, [Bind("Id,Title,Text")] Advantage advantage) { if (id != advantage.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(advantage); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AdvantageExists(advantage.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(advantage)); }
public AdvantageModel(Advantage model) { Id = model.Id; Name = model.Name; Description = model.Description; Cost = model.Cost; Skillable = model.Skillable != 0; }
public static int Roll(String diceFormula, Advantage advantage = Advantage.None) { String formula = diceFormula.Replace(" ", "").ToLower(); //filter out uppercase and spaces int c = 0; int result = 0; bool applyPlusMinus = true; int indexD = formula.IndexOf('d'); int indexPlusMinus = formula.IndexOfAny(PLUS_MINUS_CHARS); if (indexPlusMinus == -1) { applyPlusMinus = false; indexPlusMinus = formula.Length; } try { int n = int.Parse(formula.Substring(0, indexD)); int d = int.Parse(formula.Substring(indexD + 1, indexPlusMinus - indexD - 1)); if (applyPlusMinus) { c = int.Parse(formula.Substring(indexPlusMinus + 1, formula.Length - indexPlusMinus - 1)); if (formula[indexPlusMinus] == '-') { c = 0 - c; } } switch (advantage) { case Advantage.None: result = ND(n, d) + c; break; case Advantage.Advantage: result = Math.Max(ND(n, d), ND(n, d)) + c; break; case Advantage.Disadvantage: result = Math.Min(ND(n, d), ND(n, d)) + c; break; } } catch (FormatException e) { MessageBox.Show("Dice formula not valid. Must be of the form \"XdY\", \"XdY+Z\", or \"XdY-Z\"." + "\r\n" + "If dice formula is not applicable to the unit, use an empty string: \"\", or \"n/a\". " + "\r\n" + e.Message); } return(result); }
//Подсчет баллов public static void ScoringPoints(Advantage value, ref int firstCount, ref int secondCount) { if (value == Advantage.FirstOneWon) { firstCount++; } else if (value == Advantage.SecondOneWon) { secondCount++; } }
public async Task <IActionResult> Create([Bind("Id,Title,Text")] Advantage advantage) { if (ModelState.IsValid) { _context.Add(advantage); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(advantage)); }
private Advantage GetOrCreateAdvantage(AdvantageModel model) { var dbItem = _dataContext.Advantages.FirstOrDefault(i => i.Name == model.Name); if (dbItem == null) { dbItem = new Advantage(model); _dataContext.Advantages.Add(dbItem); _dataContext.SaveChanges(); } return(dbItem); }
public AdvantageModel Put([FromBody] AdvantageModel model, long characterId) { var item = _dataContext.Advantages.First(item => item.Id == model.Id); var dbItem = new Advantage(model) { Id = model.Id }; _dataContext.Entry(item).CurrentValues.SetValues(dbItem); _dataContext.CharacterAdvantageAssociations .First(caa => caa.AdvantageFk == model.Id && caa.CharacterFk == characterId) .Level = model.Level; _dataContext.SaveChanges(); return(new AdvantageModel(item)); }
public static void BattleResults(Advantage winnerGroup, string firstTankName, string secondTankName) { if (winnerGroup == Advantage.FirstOneWon) { Menu.PrintBattleResults(firstTankName); } else if (winnerGroup == Advantage.SecondOneWon) { Menu.PrintBattleResults(secondTankName); } else if (winnerGroup == Advantage.Nobody) { Menu.PrintDraw();//Ничья } }
public ActionResult AddAdvantage(Advantage advantage) { var list = new AdvantageDataAccess().FindAll <Advantage>(); advantage.Id = list.Count == 0 ? 1 : list.Last().Id + 1; advantage.Name = Request.Form["Name"]; advantage.Description = Request.Form["Description"]; advantage.Cost = int.Parse(Request.Form["Cost"]); advantage.Level = 0; advantage.LevelCap = int.Parse(Request.Form["LevelCap"]); if (advantage.LevelCap == 0) { advantage.LevelCap = int.MaxValue; } advantage.Formula = Request.Form["Formula"]; advantage.Types.AddRange(Request.Form.Where(x => x.Value.Contains("true")).Select(x => x.Key)); new AdvantageDataAccess().InsertOne(advantage); return(RedirectToAction("Main", "Admin")); }
public static GameObject LoadGameObject(this XElement xml) { if (xml.Name.LocalName != GameObjectNode) { throw new ArgumentException("Load GameObject: xml is not a GameObject"); } var type = (ObjectType)Enum.Parse(typeof(ObjectType), xml.Attribute("Type").Value); switch (type) { case ObjectType.Character: return(Character.FromXml(xml)); case ObjectType.Demeanor: return(Demeanor.FromXml(xml)); case ObjectType.Advantage: return(Advantage.FromXml(xml)); case ObjectType.Disadvantage: return(Disadvantage.FromXml(xml)); case ObjectType.Ability: return(Ability.FromXml(xml)); case ObjectType.Equipment: return(Gear.FromXml(xml)); case ObjectType.Template: return(Template.FromXml(xml)); default: throw new ArgumentException("Load GameObject: xml GameObject unknown type."); } }
override public Control ConstructUIElement() { uiElement.RowCount = advantages.Count; uiElement.ColumnCount = 1; uiElement.Dock = DockStyle.Fill; uiElement.Size = new Size(componentWidth, rowHeight * advantages.Count); uiElement.TabIndex = 0; uiElement.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F)); for (int a = 0; a < advantages.Count; ++a) { Advantage advantage = advantages[a]; uiElement.RowStyles.Add(new RowStyle(SizeType.Percent, 100F / advantages.Count)); TableLayoutPanel advantageElement = new TableLayoutPanel { Name = "advantageTable" + advantage.name, Size = new Size(componentWidth, rowHeight) }; Label label = new Label { Anchor = AnchorStyles.Left, Text = advantage.name.Replace('_', ' ') + ": " }; advantageElement.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize, label.Width)); advantageElement.Controls.Add(label, 0, 0); advantageElement.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F)); advantageElement.Controls.Add(advantage.ConstructUIElement(this), 1, 0); uiElement.Controls.Add(advantageElement, 0, a); } OnValueChanged(); return(uiElement); }
public void UpdateAdvantage(Advantage advantage) { SetAdvantage(advantage.Player, advantage.Amount); }
public void RemoveAdvantage(Advantage advantage) { Advantages.Remove(advantage); advantage.Deactivate(this); }
public void AddAdvantage(Advantage advantage) { Advantages.Add(advantage); advantage.Activate(this); }
public AdvantageSaveData(Advantage advantage) { Name = advantage.Name; Description = advantage.Description; EffectIDs = advantage.GetEffectIds(); }