Esempio n. 1
0
 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.");
 }
Esempio n. 2
0
        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"));
        }
Esempio n. 3
0
 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"));
     }
 }
Esempio n. 4
0
        //添加化石信息
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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("修改成功"));
        }
Esempio n. 9
0
        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));
        }
Esempio n. 10
0
        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));
            }
        }
Esempio n. 11
0
        public ActionResult UpdateSingleFossil(Fossil fossil)
        {
            var updateFossil = _repository.UpdateFossil(fossil);

            return(Ok(updateFossil));
        }
Esempio n. 12
0
        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();
        }