Пример #1
0
        public void SaveQueue(Global global, GlobalFile globalfile)
        {
            if (global == null)
            {
                return;
            }
            int i = 1;

            foreach (var winglobal in global.Windows)
            {
                db.GlobalQueues.Add(new GlobalQueue {
                    GlobalName = winglobal.Name, GlobalValue = winglobal.Value, GlobalFile = globalfile, State = "Windows"
                });
                i = i + 1;
            }
            foreach (var linuxglobal in global.Linux)
            {
                db.GlobalQueues.Add(new GlobalQueue {
                    GlobalName = linuxglobal.Name, GlobalValue = linuxglobal.Value, GlobalFile = globalfile, State = "Linux"
                });
                i = i + 1;
            }
            foreach (var dockerglobal in global.Docker)
            {
                db.GlobalQueues.Add(new GlobalQueue {
                    GlobalName = dockerglobal.Name, GlobalValue = dockerglobal.Value, GlobalFile = globalfile, State = "Docker"
                });
                i = i + 1;
            }
            db.SaveChanges();
        }
Пример #2
0
        public ActionResult DeleteGlobalFile(int id)
        {
            GlobalFile globalfile = db.GlobalFiles.Find(id);

            db.GlobalFiles.Remove(globalfile);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #3
0
        public ActionResult EditGlobalFile([Bind(Include = "Id,FileName,FilePath,IsTemplate")] GlobalFile globalfile)
        {
            if (ModelState.IsValid)
            {
                db.Entry(globalfile).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(globalfile));
        }
Пример #4
0
        public ActionResult SaveGlobalFile(int?id)
        {
            Global     global     = db.Globals.SingleOrDefault(p => p.GlobalFileId == id);
            GlobalFile globalfile = db.GlobalFiles.Find(id);
            //Step step = db.Steps.Find(id);
            int wnum = 0, lnum = 0, dnum = 0;
            List <GlobalQueue> globalqueues = db.GlobalQueues.Where(p => p.GlobalFile.Id == globalfile.Id).OrderBy(s => s.QueueId).ToList();

            for (int i = 0; i < globalqueues.Count; i++)
            {
                if (globalqueues[i].State == "Windows")
                {
                    wnum++;
                }
                if (globalqueues[i].State == "Linux")
                {
                    lnum++;
                }
                if (globalqueues[i].State == "Docker")
                {
                    dnum++;
                }
            }
            global.Windows = new Window[wnum];
            global.Linux   = new Linux[lnum];
            global.Docker  = new Docker[dnum];
            for (int k = 0, i = 0, j = 0; k < globalqueues.Count; k++)
            {
                if (globalqueues[k].State == "Windows")
                {
                    global.Windows[i]       = new Window();
                    global.Windows[i].Name  = globalqueues[k].GlobalName;
                    global.Windows[i].Value = globalqueues[k].GlobalValue;
                    i++;
                }
                if (globalqueues[k].State == "Linux")
                {
                    global.Linux[j]       = new Linux();
                    global.Linux[j].Name  = globalqueues[k].GlobalName;
                    global.Linux[j].Value = globalqueues[k].GlobalValue;
                    j++;
                }
            }

            var json = JsonConvert.SerializeObject(global);

            if (System.IO.File.Exists(globalfile.FilePath))
            {
                System.IO.File.WriteAllText(globalfile.FilePath, json);
            }
            return(RedirectToAction("Index", "Home"));
        }
Пример #5
0
        public ActionResult EditGlobalFile(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GlobalFile globalfile = db.GlobalFiles.Find(id);

            if (globalfile == null)
            {
                return(HttpNotFound());
            }
            return(View(globalfile));
        }
Пример #6
0
 public ActionResult CreateGlobalFile([Bind(Include = "StepFileId,FileName,FilePath,TemplateId")] GlobalFile globalfile)
 {
     if (ModelState.IsValid)
     {
         globalfile.FilePath = "C:\\RunRemote\\" + globalfile.FileName;
         db.GlobalFiles.Add(globalfile);
         db.SaveChanges();
         GlobalFile globaltemplate = db.GlobalFiles.Find(globalfile.TemplateId);
         FileCopy(globaltemplate.FilePath, globalfile.FilePath);
         return(RedirectToAction("Index"));
     }
     PopulateGlobalFileTemplatesDropDownList(globalfile.Id);
     return(View(globalfile));
 }
Пример #7
0
        // GET: Global
        public ActionResult Index(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GlobalFile globalfile = db.GlobalFiles.Find(id);

            if (globalfile == null)
            {
                return(HttpNotFound());
            }
            string json = "";

            if (System.IO.File.Exists(globalfile.FilePath))
            {
                json = System.IO.File.ReadAllText(globalfile.FilePath);
            }

            if (db.GlobalQueues.FirstOrDefault(p => p.GlobalFileId == globalfile.Id) == null)
            {
                Global globaljson = JsonConvert.DeserializeObject <Global>(json);
                globaljson.GlobalFileId = globalfile.Id;
                db.Globals.Add(globaljson);
                db.SaveChanges();
            }
            Global global = db.Globals.Single(p => p.GlobalFileId == globalfile.Id);

            if (db.GlobalQueues.Where(p => p.GlobalFile.Id == globalfile.Id).Count() == 0)
            {
                SaveQueue(global, globalfile);
            }
            ViewData["GlobalfileId"] = id;
            dynamic model = new ExpandoObject();

            model.Global       = global;
            model.GlobalFile   = globalfile;
            model.GlobalQueues = db.GlobalQueues.Where(p => p.GlobalFile.Id == globalfile.Id).OrderBy(s => s.QueueId);
            return(View(model));
        }