public Fossil UpdateFossil(Fossil updateFossil) { using (var db = new SqlConnection(_connectionString)) { var updatedFossil = db.QueryFirstOrDefault <Fossil>(@"update Fossil set name = @name, scientificName = @scientificName, era = @era, founder = @founder, formation = @formation, output inserted.* where id = @id", new { id = updateFossil.Id, name = updateFossil.Name, scientificName = updateFossil.ScientificName, era = updateFossil.Era, founder = updateFossil.Founder, formation = updateFossil.Formation, }); return(updatedFossil); } throw new System.Exception("Could not update fossil."); }
public IActionResult DeleteFossil(int fossilid) { if (HttpContext.Session.GetInt32("LoggedUser") == null) { return(RedirectToAction("SignInPage", "Login")); } Fossil deleteFossil = dbContext.Fossils .Include(fossil => fossil.FossilImages) .FirstOrDefault(fossil => fossil.FossilID == fossilid); //Deleting a fossil will also need to delete all images associated with the fossil. foreach (var image in deleteFossil.FossilImages) { //retrieve image path var imagePath = Path.Combine(_hostEnvironment.WebRootPath, "Image", image.ImageName); //Check if image exists (make sure something isn't accidentally deleted or if an error is thrown) if (System.IO.File.Exists(imagePath)) { //Delete Image System.IO.File.Delete(imagePath); } //remove image's database entry dbContext.Images.Remove(image); } dbContext.Fossils.Remove(deleteFossil); dbContext.SaveChanges(); return(RedirectToAction("Index")); }
public IActionResult CreateFossil(Fossil newFossil) { if (ModelState.IsValid) { newFossil.UserID = HttpContext.Session.GetInt32("LoggedUser").Value; dbContext.Add(newFossil); dbContext.SaveChanges(); return(RedirectToAction("Index")); } else { return(View("FossilForm")); } }
//添加化石信息 public ActionResult AddFossil(FossilView model) { if (!ModelState.IsValid) { return(WriteStatusError(ModelState)); } Fossil fossilmodel = new Fossil(); fossilmodel.CopyFrom(model); fossilSer.Add(fossilmodel); fossilmodel.H_ID = Guid.NewGuid().ToString(); fossilSer.SaveChanges(); return(WriteSuccess("添加成功")); }
public void AffixFossilWeightTest() { String item = "Murderous Eye Jewel"; String defaultTag = "abyss_jewel_melee"; String fossilTag = "abyss_jewel"; var testItem = _itemFactory.Jewel.First(x => x.Name == item); List <Affix> allAffixes = new List <Affix>(); var fossilAffixes = new List <Affix>(); var testAffix = getTestAffix("test", "test", new Dictionary <string, int>() { { fossilTag, 100 } }); allAffixes.Add(testAffix); Fossil fossil = new Fossil(); fossil.FullName = "TestFossil"; fossil.AddedAffixes = new List <Affix>(); fossil.ModWeightModifiers = new Dictionary <string, int>() { { fossilTag, 200 } }; for (int i = 0; i < 8; i++) { allAffixes.Add(getTestAffix("test_" + i, "test" + i, new Dictionary <string, int>() { { defaultTag, 100 } })); } AffixManager affixManager = new AffixManager(testItem, allAffixes, fossilAffixes); List <Affix> generated = new List <Affix>(); IRandom random = SetupRandom().Object; for (var i = 0; i < 10; i++) { generated.Add(affixManager.GetAffix(new List <Affix>(), EquipmentRarity.Rare, random, new List <Fossil>() { fossil })); } Assert.AreEqual(generated[0], testAffix); Assert.AreEqual(generated[1], testAffix); }
private Fossil CreateFossil(FossilJson fossilJson) { Fossil fossil = new Fossil(); fossil.FullName = fossilJson.FullName; fossil.Name = fossilJson.Name; fossil.CorruptedEssenceChance = (int)fossilJson.CorruptedEssenceChance; fossil.AddedAffixes = _affixFactory.GetFossilAffixes(fossilJson.AddedMods); fossil.AllowedTags = fossilJson.AllowedTags; fossil.ForbiddenItemClasses = new HashSet <string>(fossilJson.ForbiddenTags); fossil.ModWeightModifiers = fossilJson.NegativeModWeights.Union(fossilJson.PositiveModWeights).ToDictionary(x => x.Tag, x => (int)x.Weight); fossil.RollsLucky = fossilJson.RollsLucky; return(fossil); }
public IActionResult GetFossil(int fossilid) { Fossil displayFossil = dbContext.Fossils .Include(fossil => fossil.AddedBy) .Include(fossil => fossil.FossilImages) .Include(fossil => fossil.UnearthedAt) .Include(fossil => fossil.LocatedAt) .FirstOrDefault(fossil => fossil.FossilID == fossilid); FossilImage displayData = new FossilImage { fossil = displayFossil }; return(View("FossilDisplay", displayData)); }
public ActionResult EditFossil(Fossil model, string fossil) { var fossilmodel = JsonConvert.DeserializeObject <Fossil>(fossil); #region if (string.IsNullOrWhiteSpace(fossilmodel.GenusName)) { WriteError("属名不能为空"); } if (string.IsNullOrWhiteSpace(fossilmodel.SpeciesName)) { WriteError("种名不能为空"); } #endregion var filePath = Server.MapPath("~/UpLoad/Picture"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } fossilmodel.Picture = ""; for (var i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file == null) { continue; } var fileName = MD5Helper.GetStreamMd5(file.InputStream); fileName += Path.GetExtension(file.FileName); fileName = Path.Combine(filePath, fileName); file.SaveAs(fileName); fileName = fileName.Replace(Server.MapPath("~"), "/"); fossilmodel.Picture += fileName + ";"; } if (Request.Files.Count <= 0) { model = fossilSer.FirstOrDefault(x => x.H_ID == fossilmodel.H_ID); if (model == null) { return(WriteError("未查询到该实体!")); } fossilmodel.Picture = model.Picture; } fossilSer.EditWhere(x => x.H_ID == fossilmodel.H_ID, fossilmodel); fossilSer.SaveChanges(); return(WriteSuccess("修改成功")); }
public IActionResult EditFossilForm(int fossilid) { if (HttpContext.Session.GetInt32("LoggedUser") == null) { return(RedirectToAction("SignInPage", "Login")); } Fossil displayFossil = dbContext.Fossils .Include(fossil => fossil.UnearthedAt) .Include(fossil => fossil.LocatedAt) .FirstOrDefault(fossil => fossil.FossilID == fossilid); ViewBag.DigList = dbContext.DigSites .OrderBy(dig => dig.DigSiteID); ViewBag.MuseumList = dbContext.Museums .OrderBy(mus => mus.MuseumID); return(View("EditFossil", displayFossil)); }
public IActionResult EditFossil(int fossilid, Fossil updateData) { Fossil editFossil = dbContext.Fossils .FirstOrDefault(fossil => fossil.FossilID == fossilid); if (ModelState.IsValid) { editFossil.FossilName = updateData.FossilName; editFossil.FossilSpecies = updateData.FossilSpecies; editFossil.DigSiteID = updateData.DigSiteID; editFossil.MuseumID = updateData.MuseumID; dbContext.SaveChanges(); return(Redirect($"../{fossilid}")); } else { ViewBag.DigList = dbContext.DigSites .OrderBy(dig => dig.DigSiteID); ViewBag.MuseumList = dbContext.Museums .OrderBy(mus => mus.MuseumID); return(View("EditFossil", editFossil)); } }
public ActionResult UpdateSingleFossil(Fossil fossil) { var updateFossil = _repository.UpdateFossil(fossil); return(Ok(updateFossil)); }
public static void Main(string[] args) { string leaguesString = new WebClient().DownloadString("https://api.pathofexile.com/leagues?type=main&compact=1"); List <Leagues> leagues = Leagues.FromJson(leaguesString); leagues.RemoveAll(x => x.Id.Contains("SSF")); if (args.Length != 0) { if (args[0].Equals("--league-names")) { for (int j = 0; j < leagues.Count; j++) { Console.WriteLine(j + " - " + leagues[j].Id); } return; } if ((args[0].Equals("--league") || args[0].Equals("-l")) && args.Length != 1) { if (int.TryParse(args[1], out int leagueNumber)) { if (leagueNumber <= leagues.Count && leagueNumber >= 0) { League = leagues[leagueNumber].Id.Replace(" ", "%20"); } else { Console.WriteLine("League does not exist. Start the program with the parameter --league-name to get a list of Leagues with their Number"); return; } } else { Console.WriteLine("Not a Number. Start the program with the parameter --league-name to get a list of Leagues with their Number"); return; } } } else { League = leagues[2].Id.Replace(" ", "%20"); } string result1 = new WebClient().DownloadString("https://poe.ninja/api/data/ItemOverview?league=" + League + "&type=Fossil&language=en"); Fossil data1 = Fossil.FromJson(result1); string result2 = new WebClient().DownloadString("https://poe.ninja/api/data/CurrencyOverview?league=" + League + "&type=Fragment&language=en"); Fragment data2 = Fragment.FromJson(result2); double fracturefossil = 0.0; double simulacrum = 0.0; data1.Lines.ForEach(x => { if (x.Name == "Fractured Fossil") { fracturefossil = x.ChaosValue; } }); data2.Lines.ForEach(x => { if (x.CurrencyTypeName == "Simulacrum") { simulacrum = x.ChaosEquivalent; } }); double timeless = Math.Round(timelesscalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); double skittering = Math.Round(skitteringcalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); double obscured = Math.Round(obscuredcalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); double blighted = Math.Round(blightedcalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); double fragmented = Math.Round(fragmentedcalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); double fossilised = Math.Round(fossilisedcalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); double foreboding = Math.Round(forebodingcalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); double amorphous = Math.Round(amorphouscalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); double whispering = Math.Round(whisperingcalc.calc() + (simulacrum * 7.5 / 20) - fracturefossil, 2); SortedDictionary <double, string> results = new SortedDictionary <double, string>(Comparer <double> .Create((x, y) => y.CompareTo(x))) { { timeless, "Timeless" }, { skittering, "Skittering" }, { obscured, "Obscured" }, { blighted, "Blighted" }, { fragmented, "Fragmented" }, { fossilised, "Fossilised" }, { foreboding, "Foreboding" }, { amorphous, "Amorphous" }, { whispering, "Whispering" }, }; int i = 1; Console.WriteLine("League: " + League.Replace("%20", " ")); foreach ((double key, string value) in results) { switch (i) { case 1: Console.WriteLine("------------------------------------------------"); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("{1} Delirium Orb: {0}c", key, value); Console.ResetColor(); Console.WriteLine("------------------------------------------------"); break; case 2: Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("{1} Delirium Orb: {0}c", key, value); Console.ResetColor(); Console.WriteLine("------------------------------------------------"); break; default: { if (i == 3 || (i > 3 && key > 20)) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("{1} Delirium Orb: {0}c", key, value); Console.ResetColor(); Console.WriteLine("------------------------------------------------"); } else if (key < 20) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("{1} Delirium Orb: {0}c", key, value); Console.ResetColor(); Console.WriteLine("------------------------------------------------"); } break; } } i++; } Console.ReadLine(); }