public ActionResult DeleteCategoryConfirmed(int id)
        {
            EditableCategories editableCategories = db.EditableCategories.Find(id);

            db.EditableCategories.Remove(editableCategories);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult EditCategory([Bind(Include = "Id,CategoryName,Editable")] EditableCategories editableCategories)
 {
     if (ModelState.IsValid)
     {
         db.Entry(editableCategories).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(editableCategories));
 }
        public ActionResult CreateCategory([Bind(Include = "Id,CategoryName,Editable")] EditableCategories editableCategories)
        {
            if (ModelState.IsValid)
            {
                db.EditableCategories.Add(editableCategories);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(editableCategories));
        }
        public ActionResult DeleteCategory(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EditableCategories editableCategories = db.EditableCategories.Find(id);

            if (editableCategories == null)
            {
                return(HttpNotFound());
            }
            return(View(editableCategories));
        }
示例#5
0
        public List <JobSummaryModel> getJobs(string selectedServer = null)
        {
            ConfigContext       db      = new ConfigContext();
            List <ServerConfig> servers = new List <ServerConfig>();

            servers = db.ServerConfiguration.ToList();

            List <EditableCategories> editableCategories = new List <EditableCategories>();

            editableCategories = db.EditableCategories.ToList();

            List <JobSummaryModel> joblist = new List <JobSummaryModel>();


            foreach (var server in servers)
            {
                if (string.IsNullOrEmpty(selectedServer) || selectedServer == server.ServerName)
                {
                    ConnectSqlServer connection = new ConnectSqlServer();
                    Server           dbServer   = connection.Connect(server.ServerName);
                    DataSet          ds         = dbServer.ConnectionContext.ExecuteWithResults("exec msdb.dbo.sp_help_job");

                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        switch (row["current_execution_status"].ToString())
                        {
                        case "1":
                            jobStatus = "Executing:" + row["current_execution_step"];
                            break;

                        case "2":
                            jobStatus = "Waiting for Thread";
                            break;

                        case "3":
                            jobStatus = "Between Retries";
                            break;

                        case "4":
                            jobStatus = "Idle";
                            break;

                        case "5":
                            jobStatus = "Suspended";
                            break;

                        case "6":
                            jobStatus = "[Obsolete]";
                            break;

                        case "7":
                            jobStatus = "PerformingCompletionActions";
                            break;

                        default:
                            jobStatus = "";
                            break;
                        }

                        switch (row["last_run_outcome"].ToString())
                        {
                        case "0":
                            lastOutcome = "Failed";
                            break;

                        case "1":
                            lastOutcome = "Succeeded";
                            break;

                        case "2":
                            lastOutcome = "Retry";
                            break;

                        case "3":
                            lastOutcome = "Canceled";
                            break;

                        default:
                            lastOutcome = "Unknown";
                            break;
                        }

                        switch (row["last_run_date"].ToString())
                        {
                        case "0":
                            lastRun = DateTime.MinValue;
                            break;

                        default:
                            lastRun = DateTime.ParseExact(row["last_run_date"].ToString(), "yyyyMMdd", CultureInfo.InvariantCulture)
                                      .Add(TimeSpan.ParseExact(row["last_run_time"].ToString().PadLeft(6, '0'), "hhmmss", CultureInfo.InvariantCulture));
                            break;
                        }

                        switch (row["next_run_date"].ToString())
                        {
                        case "0":
                            nextRun = DateTime.MinValue;
                            break;

                        default:
                            nextRun = DateTime.ParseExact(row["next_run_date"].ToString(), "yyyyMMdd", CultureInfo.InvariantCulture)
                                      .Add(TimeSpan.ParseExact(row["next_run_time"].ToString().PadLeft(6, '0'), "hhmmss", CultureInfo.InvariantCulture));
                            break;
                        }

                        if (row["has_step"].ToString() != "0")
                        {
                            runable = true;
                        }
                        else
                        {
                            runable = false;
                        }

                        editable = true;
                        string             categoryName     = row["category"].ToString();
                        EditableCategories editableCategory = new EditableCategories();
                        editableCategory = db.EditableCategories.FirstOrDefault(m => m.CategoryName == categoryName);
                        if (editableCategory == null)
                        {
                            editableCategory = new EditableCategories()
                            {
                                CategoryName = "Unknown", Editable = true
                            }
                        }
                        ;
                        if (!editableCategory.Editable)
                        {
                            editable = false;
                        }

                        joblist.Add(new JobSummaryModel
                        {
                            JobID       = Guid.Parse(row["job_id"].ToString()),
                            ServerName  = row["originating_server"].ToString(),
                            JobName     = row["name"].ToString(),
                            Enabled     = Convert.ToBoolean(row["enabled"]),
                            Status      = jobStatus,
                            LastOutcome = lastOutcome,
                            LastRun     = lastRun,
                            NextRun     = nextRun,
                            Category    = row["category"].ToString(),
                            Runable     = runable,
                            Scheduled   = Convert.ToBoolean(row["has_schedule"]),
                            Description = row["description"].ToString(),
                            Owner       = row["owner"].ToString(),
                            Editable    = editable
                        });
                    }
                    dbServer.ConnectionContext.Disconnect();
                }
            }
            var sortedList = joblist.OrderBy(o => o.JobName).ToList();

            return(sortedList);
        }
    }