示例#1
0
        public IActionResult AddStar(IFormFile Photo, string Name, string Galaxy, uint Radius, uint Temperature, DateTime Date, uint Dist, string Unit)
        {
            byte[] ph = new byte[0];
            if (Photo != null)
            {
                var str = Photo.OpenReadStream();
                ph = new byte[str.Length];
                str.Read(ph, 0, ph.Length);
                str.Close();
            }
            var dbs     = new DBStar(Date, ph, Name, new Distance(Dist, StringToUnit(Unit)), Radius, Temperature, Galaxy);
            var xml     = new XmlSerializer(typeof(List <DBPlanet>));
            var stream  = new MemoryStream(HttpContext.Session.Get("planets") ?? new byte[0]);
            var planets = xml.Deserialize(stream) as List <DBPlanet>;

            foreach (var planet in planets)
            {
                dbs.Planets.Add(planet);
            }
            db.Stars.Add(dbs);
            db.Planets.AddRange(dbs.Planets);
            db.Moons.AddRange(dbs.Planets.SelectMany(pl => pl.Moons));
            db.SaveChanges();
            HttpContext.Session.Set("img", ph);
            //HttpContext.Session.Set("imgflag", new byte[1]{1});
            return(View("~/Views/Views/StarView.cshtml", dbs));
        }
        public ActionResult Delete(int id)
        {
            //Book b = new Book { Id = id };
            db.Entry(db.Stars.Find(id)).State = EntityState.Deleted;
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
示例#3
0
        public void EditStar()
        {
            var xml         = new XmlSerializer(typeof(StarPair));
            var requestBody = HttpContext.Request.Body;
            var st          = (StarPair)xml.Deserialize(requestBody /*new StringReader(s)*/);
            //var st = JsonConvert.DeserializeObject<Star>(s);
            var dbs = new DBStar(st.Star);

            dbs.Id = st.Id;
            using (var db = new AstronomicDirectoryDbContext())
            {
                db.Entry(dbs).State = EntityState.Modified;
                db.SaveChanges();
            }
        }
示例#4
0
        public IActionResult StarView(IFormFile star)
        {
            var xml = new XmlSerializer(typeof(Star));
            var fs  = star.OpenReadStream();
            var st  = (Star)xml.Deserialize(fs);

            fs.Close();
            var dbs = new DBStar(st);

            //if (db.Stars.FirstOrDefault(s => s.Name == st.Name) == null)
            //{
            db.Stars.Add(dbs);
            db.Planets.AddRange(dbs.Planets);
            db.Moons.AddRange(dbs.Planets.SelectMany(pl => pl.Moons));
            //foreach (var pl in dbs.Planets)
            //    if(pl.Moons != null)

            db.SaveChanges();
            //}

            return(View(dbs));
        }