コード例 #1
0
ファイル: DatabaseInit.cs プロジェクト: katerilett/Madonna
        private static void ResetTestDatabase()
        {
            using(var c = new DataModelContext())
            {
                c.Database.Delete();

                // Test user.
                User testUser = new User()
                    {
                        Username = "******",
                        RealName = "Admin Team",

                        // Password: test
                        PasswordHash = new byte[]
                        {117, 173, 203, 91, 75, 63, 147, 6, 200, 176, 45, 40, 104, 7, 114, 213,
                        169, 217, 130, 162, 40, 108, 195, 15, 113, 69, 32, 134, 67, 226, 143, 200},

                        PasswordSalt = new byte[]
                        {24, 10, 184, 91, 24, 196, 93, 99, 150, 30, 131, 109, 16, 28, 181, 193},

                        AccessGroup = DataModel.Enum.UserAccessGroup.Administrator,
                        LastLogin = DateTime.Now,
                        EmailAddress = "*****@*****.**",
                    };
                c.Users.Add(testUser);

                //c.Networks.Add(testnet1);
                XDocument doc = XDocument.Load(HttpContext.Current.Server.MapPath(@"\App_Data\MexNewSampleInputs.xml"));
                var xmlE = new XmlEngine();
                var xmlnetwork = xmlE.XmlFileToNetwork(doc);
                xmlnetwork.Name = "Example file network test";
                xmlnetwork.Author = testUser;
                xmlnetwork.LastEdit = DateTime.Now;
                c.Networks.Add(xmlnetwork);

                try
                {
                    c.SaveChanges();
                }
                catch(DbEntityValidationException e)
                {
                    foreach(var i in e.EntityValidationErrors)
                    {
                        Console.WriteLine(i.ValidationErrors);
                    }

                }

            }
        }
コード例 #2
0
        public ActionResult Upload(string NetworkName, IEnumerable<HttpPostedFileBase> files)
        {
            var nvm = new NetworkListViewModel();

            IEnumerable<HttpPostedFileBase> someFiles = files;

            var networkDoc = new XDocument();

            if(NetworkName == "")
            {
                ViewBag.UploadAlert = "Enter a network name";

                using (var c = new DataModelContext())
                {
                    nvm.Networks = c.Networks.Include("Author").Where(n => n.Name != null).ToList();
                }
                return View("Index", nvm);
            }

            try
            {
                networkDoc = XDocument.Load(Request.Files["NetworkFile"].InputStream);
            }
            catch (XmlException e)
            {
                Console.WriteLine(e.Message);
                ViewBag.UploadAlert = "You must select a valid xml file";

                using (var c = new DataModelContext())
                {
                    nvm.Networks = c.Networks.Include("Author").Where(n => n.Name != null).ToList();
                }
                return View("Index", nvm);
            }

            using(var c = new DataModelContext())
            {

                var xmlE = new XmlEngine();
                var xmlnetwork = xmlE.XmlFileToNetwork(networkDoc);

                xmlnetwork.Name = NetworkName;
                xmlnetwork.Author = UserDataEngine.getInstance().GetCurrentUser(c, HttpContext);
                xmlnetwork.LastEdit = DateTime.Now;
                c.Networks.Add(xmlnetwork);

                try
                {
                    c.SaveChanges();
                }
                catch(DbEntityValidationException e)
                {
                    foreach(var i in e.EntityValidationErrors)
                    {
                        Console.WriteLine(i.ValidationErrors);
                    }
                    throw e;
                }
                nvm.Networks = c.Networks.Include("Author").Where(n => n.Name != null).ToList();

                ViewBag.NewNetworkID = xmlnetwork.ID;
            }

            ViewBag.Alert = "Network upload successful";
            ViewBag.AlertClass = "alert-success";
            return View("Index", nvm);
        }
コード例 #3
0
        public ActionResult UploadUrl(string NetworkName, string NetworkUrl)
        {
            var nvm = new NetworkListViewModel();

            Network net;

            if(NetworkName == "")
            {
                ViewBag.UrlUploadAlert = "Enter a network name";

                using (var c = new DataModelContext())
                {
                    nvm.Networks = c.Networks.Include("Author").Where(n => n.Name != null).ToList();
                }
                return View("Index", nvm);
            }

            try
            {
                net = new XmlEngine().UrlDownloadToNetwork(new Uri(NetworkUrl));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                ViewBag.UrlUploadAlert = "Could not find valid XML file at specified URL";

                using (var c = new DataModelContext())
                {
                    nvm.Networks = c.Networks.Include("Author").Where(n => n.Name != null).ToList();
                }
                return View("Index", nvm);
            }

            using(var c = new DataModelContext())
            {
                net.Name = NetworkName;
                net.Author = UserDataEngine.getInstance().GetCurrentUser(c, HttpContext);
                net.LastEdit = DateTime.Now;
                c.Networks.Add(net);

                try
                {
                    c.SaveChanges();
                }
                catch(DbEntityValidationException e)
                {
                    foreach(var i in e.EntityValidationErrors)
                    {
                        Console.WriteLine(i.ValidationErrors);
                    }
                    throw e;
                }
                nvm.Networks = c.Networks.Include("Author").Where(n => n.Name != null).ToList();

                ViewBag.NewNetworkID = net.ID;
            }

            ViewBag.Alert = "Network upload successful";
            ViewBag.AlertClass = "alert-success";
            return View("Index", nvm);
        }