Example #1
0
        // GET: Admin/ManageJobs/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ManageJob manageJob = db.ManageJobs.Find(id);

            if (manageJob == null)
            {
                return(HttpNotFound());
            }
            ViewBag.countryname = new SelectList(db.CountryMasters.ToList(), "CountryId", "CountryName");
            ViewBag.statename   = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "", Value = "Select State"
                }
            }; ViewBag.RefCityId = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "", Value = "Select City"
                }
            };
            // ViewBag.RefCityId = new SelectList(db.CityMasters, "CityId", "CityName", manageJob.RefCityId);
            ViewBag.RefDepartmentId = new SelectList(db.Departments, "DepId", "DepName", manageJob.RefDepartmentId);
            return(View(manageJob));
        }
Example #2
0
        public bool InvokeJob(string jobId)
        {
            ManageJob job = null;

            try
            {
                job = JobManager.Instance.Jobs.Find(j => j.Id.Equals(jobId));

                if (job == null)
                {
                    _logger.Warn($"Invoke【{jobId}】Error,Not Found Job【{jobId}】");
                    JobManager.Instance.NotifyClientLog(jobId, $"Invoke Job Error, Not Found Job.");
                    return(false);
                }

                if (job.Cron.Equals(Constant.ServerCron))
                {
                    JobManager.Instance.InvokeServer(job);
                }
                else
                {
                    JobManager.Instance.InvokeJob(job);
                }

                JobManager.Instance.NotifyClientLog(jobId, $"Invoke Job Success.");

                return(true);
            }
            catch (Exception e)
            {
                _logger.Error(e, $"Invoke Job【{jobId}】Error.");
                JobManager.Instance.NotifyClientLog(jobId, $"Invoke Job Error,{e.Message}");
                return(false);
            }
        }
Example #3
0
        /// <summary>
        /// 执行DLL任务
        /// </summary>
        /// <param name="job"></param>
        private void InvokeDllJob(ManageJob job)
        {
            NotifyClientLog(job.Id, "================= DLL Running =================");

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var types   = job.Params.Select(p => typeof(string)).ToArray();
            var @params = job.Params.ToArray();

            _logger.Info($"Execute DLL Job:{job.Name}[{job.WorkPath}, {job.ClassName},{job.MethodName} ({string.Join(",", @params)})]");

            var writer = new HlcTextWriter();

            writer.WriteHandler += str =>
            {
                NotifyClientLog(job.Id, str);
            };
            var domainProxy = DynamicUtil.LoadDomain(job.WorkPath);

            domainProxy.SetOut(writer);
            var invokeDll = domainProxy.Invoke(job.ClassName, job.MethodName, types, @params);

            if (invokeDll != null)
            {
                NotifyClientLog(job.Id, $"DLL Result:{invokeDll.ToString()}");
            }

            NotifyClientLog(job.Id, $"================= DLL Job Finished, Elapsed [{stopwatch.Elapsed:g}] =================");
        }
Example #4
0
        public ActionResult Create([Bind(Include = "JobId,JobName,JobSkills,JobExpirience,JobIsActive,JobDocuments,JobCreatedBy,JobModifiedBy,JobCreatedDate,JobModifiedDate,RefDepartmentId,RefCityId")] ManageJob manageJob, HttpPostedFileBase[] JobDocuments)
        {
            if (ModelState.IsValid)
            {
                var JobCreate = Convert.ToString(Session["name"]);
                manageJob.JobCreatedBy   = JobCreate;
                manageJob.JobCreatedDate = DateTime.Now;

                string allfl = "";
                foreach (HttpPostedFileBase file in JobDocuments)
                {
                    if (file != null)
                    {
                        var InputFileName  = Path.GetFileName(file.FileName);
                        var ServerSavePath = Path.Combine(Server.MapPath("~/Content/Admin/UploadedFiles/") + InputFileName);
                        //Save file to server folder
                        file.SaveAs(ServerSavePath);
                        //assigning file uploaded status to ViewBag for showing message to user.
                        ViewBag.UploadStatus = JobDocuments.Count().ToString() + " files uploaded successfully.";
                        allfl += InputFileName + ",";
                    }
                }
                manageJob.JobDocuments = allfl.Remove(allfl.Length - 1, 1);
                db.ManageJobs.Add(manageJob);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            // ViewBag.RefCityId = new SelectList(db.CityMasters, "CityId", "CityName", manageJob.RefCityId);
            ViewBag.RefDepartmentId = new SelectList(db.Departments, "DepId", "DepName", manageJob.RefDepartmentId);
            return(View(manageJob));
        }
Example #5
0
        public bool RemoveJob(string jobId)
        {
            ManageJob job = null;

            try
            {
                job = JobManager.Instance.Jobs.Find(j => j.Id.Equals(jobId));

                if (job == null)
                {
                    _logger.Warn($"Remove Job【{jobId}】Error,Not Found Job【{jobId}】");
                    JobManager.Instance.NotifyClientLog(jobId, $"Remove Job Error, Not Found Job.");
                    return(false);
                }

                JobManager.Instance.Jobs.Remove(job);

                JobManager.Instance.SaveJobs();
                JobManager.Instance.DeleteJob(job.Id);

                _logger.Info($"Remove Job【{jobId}】Success.");
                JobManager.Instance.NotifyClientLog(jobId, $"Remove Job Success.");

                return(true);
            }
            catch (Exception e)
            {
                _logger.Error(e, $"Remove Job【{jobId}】Error.");
                JobManager.Instance.NotifyClientLog(jobId, $"Remove Job Error,{e.Message}");
                return(false);
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ManageJob manageJob = db.ManageJobs.Find(id);

            db.ManageJobs.Remove(manageJob);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "JobId,JobName,JobSkills,JobExpirience,JobIsActive,JobDocuments,JobCreatedBy,JobModifiedBy,JobCreatedDate,JobModifiedDate,RefDepartmentId,RefCityId")] ManageJob manageJob)
 {
     if (ModelState.IsValid)
     {
         db.Entry(manageJob).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.RefCityId       = new SelectList(db.CityMasters, "CityId", "CityName", manageJob.RefCityId);
     ViewBag.RefDepartmentId = new SelectList(db.Departments, "DepId", "DepName", manageJob.RefDepartmentId);
     return(View(manageJob));
 }
Example #8
0
 private void UpdateJobRow(DataGridViewRow row, ManageJob job)
 {
     row.Cells["cln_id"].Value       = job.Id;
     row.Cells["cln_name"].Value     = job.Name;
     row.Cells["cln_type"].Value     = job.Type;
     row.Cells["cln_cron"].Value     = job.Cron;
     row.Cells["cln_preTime"].Value  = job.PreviousFireTime?.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");
     row.Cells["cln_nextTime"].Value = job.NextFireTime?.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");
     row.Cells["cln_enable"].Value   = JobEnable2Str(job.Enable);
     row.Cells["cln_state"].Value    = JobState2Str(job.State);
     row.Tag = job;
 }
Example #9
0
        private void SwitchJobEnable(ManageJob job)
        {
            if (job == null)
            {
                return;
            }

            AsyncUtil.Run(() => job.Enable ? _jobManagerProxy.DisableJob(job.Id) : _jobManagerProxy.EnableJob(job.Id),
                          result => { }, exception =>
            {
                _logger.Error(exception, "Switch Job Status Error");
            });
        }
Example #10
0
        private void ShowLog(ManageJob job)
        {
            if (InvokeRequired)
            {
                Invoke(new MethodInvoker(() => ShowLog(job)));
                return;
            }

            if (job == null)
            {
                txt_log.Text = "";
                return;
            }

            var jobId = job.Id;

            if (!_logDict.ContainsKey(jobId))
            {
                AsyncUtil.Run(() =>
                {
                    var chacheLog   = _jobManagerProxy.GetChacheLog(jobId);
                    _logDict[jobId] = new Queue <string>();
                    foreach (var log in chacheLog)
                    {
                        _logDict[jobId].Enqueue(log);
                    }
                }, () => ShowLog(job), exception =>
                {
                    _logger.Error(exception, "Get Cache Log Error");
                });
                return;
            }

            var logs = _logDict[jobId];

            if (logs == null)
            {
                txt_log.Text = "";
                return;
            }

            StringBuilder sb = new StringBuilder();

            foreach (var log in logs)
            {
                sb.AppendLine(log);
            }
            txt_log.Text = sb.ToString();
            txt_log.Select(txt_log.Text.Length, 0);
            txt_log.ScrollToCaret();
        }
Example #11
0
        // GET: Admin/ManageJobs/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ManageJob manageJob = db.ManageJobs.Find(id);

            if (manageJob == null)
            {
                return(HttpNotFound());
            }
            return(View(manageJob));
        }
Example #12
0
        /// <summary>
        /// 从XML获得ManageJob,版本2
        /// </summary>
        /// <param name="xmlJob"></param>
        /// <returns></returns>
        private ManageJob GetJobFromXml_1(XmlElement xmlJob)
        {
            var job = new ManageJob();

            var name = xmlJob.GetAttribute("name");

            job.Name = name;

            var type = xmlJob.GetAttribute("type");

            Enum.TryParse(type, out JobType jobType);
            job.Type = jobType;

            var cron = xmlJob.GetAttribute("cron");

            job.Cron = cron;

            var workPath = xmlJob.GetAttribute("path");

            job.WorkPath = workPath;

            var filePath = xmlJob.GetAttribute("cmd");

            job.Command = filePath;

            var className = xmlJob.GetAttribute("class");

            job.ClassName = className;

            var methodName = xmlJob.GetAttribute("method");

            job.MethodName = methodName;

            var enable = xmlJob.GetAttribute("enable");

            bool.TryParse(enable, out bool jobEnable);
            job.Enable = jobEnable;

            var rank = xmlJob.GetAttribute("rank");

            int.TryParse(rank, out int jobRank);
            job.Rank = jobRank;

            foreach (XmlElement xmlParam in xmlJob.GetElementsByTagName("param"))
            {
                job.Params.Add(xmlParam.Attributes["value"].Value);
            }

            return(job);
        }
Example #13
0
        /// <summary>
        /// 执行EXE服务
        /// </summary>
        /// <param name="job"></param>
        private void InvokeExeServer(ManageJob job)
        {
            var args = string.Join(" ", job.Params);

            var jobIndex = Jobs.FindIndex(j => j.Id.Equals(job.Id));

            if (jobIndex < 0)
            {
                return;
            }

            Jobs[jobIndex].State = JobState.Normal;
            UpdateClientJob(Jobs[jobIndex]);

            AsyncUtil.Run(() =>
            {
                Thread.Sleep(500);

                Jobs[jobIndex].State            = JobState.Normal;
                Jobs[jobIndex].PreviousFireTime = DateTimeOffset.Now;
                UpdateClientJob(Jobs[jobIndex]);

                NotifyClientLog(job.Id, "================= EXE Server Running ==================");

                _logger.Info($"Execute EXE Server Job:{job.Name}[{job.WorkPath} ({args})]");

                ExecProcessAndWait(job.Id, job.WorkPath, args, Directory.GetParent(job.WorkPath).FullName);
            }, () =>
            {
                Jobs[jobIndex].State = JobState.Complete;

                NotifyClientLog(job.Id, "================= EXE Server Finished ==================");
                UpdateClientJob(Jobs[jobIndex]);
            }, exception =>
            {
                if (exception is AppDomainUnloadedException)
                {
                    NotifyClientLog(job.Id, "================= EXE Server Uninstalled ==================");
                }
                else
                {
                    _logger.Error(exception);
                    NotifyClientLog(job.Id, "EXE Server Error。" + exception.Message);
                    Jobs[jobIndex].State = JobState.Error;

                    NotifyClientLog(job.Id, "================= EXE Server Error ==================");
                    UpdateClientJob(Jobs[jobIndex]);
                }
            });
        }
Example #14
0
 public ActionResult DeleteConfirmed(int id)
 {
     try
     {
         ManageJob manageJob = db.ManageJobs.Find(id);
         db.ManageJobs.Remove(manageJob);
         db.SaveChanges();
     }
     catch (Exception ex)
     {
         TempData["err"] = ex.Message;
     }
     return(RedirectToAction("Index"));
 }
Example #15
0
        private void UpdateJob(ManageJob job)
        {
            foreach (DataGridViewRow row in dgv_data.Rows)
            {
                if (row.Cells["cln_id"].Value.Equals(job.Id))
                {
                    UpdateJobRow(row, job);
                    return;
                }
            }
            var rowIndex = dgv_data.Rows.Add();
            var newRow   = dgv_data.Rows[rowIndex];

            UpdateJobRow(newRow, job);
        }
        // GET: User/ManageJobs/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ManageJob manageJob = db.ManageJobs.Find(id);

            if (manageJob == null)
            {
                return(HttpNotFound());
            }
            ViewBag.RefCityId       = new SelectList(db.CityMasters, "CityId", "CityName", manageJob.RefCityId);
            ViewBag.RefDepartmentId = new SelectList(db.Departments, "DepId", "DepName", manageJob.RefDepartmentId);
            return(View(manageJob));
        }
Example #17
0
        /// <summary>
        /// 执行EXE任务
        /// </summary>
        /// <param name="job"></param>
        private void InvokeExeJob(ManageJob job)
        {
            NotifyClientLog(job.Id, "================= EXE Job Running =================");

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var args = string.Join(" ", job.Params);

            _logger.Info($"Execute exe Job:{job.Name}[{job.WorkPath}({args})]");

            ExecProcessAndWait(job.Id, job.WorkPath, args, Directory.GetParent(job.WorkPath).FullName);

            NotifyClientLog(job.Id, $"================= EXE Finished, Elapsed [{stopwatch.Elapsed:g}] =================");
        }
Example #18
0
        public bool AddJob(ManageJob job)
        {
            try
            {
                if (job == null)
                {
                    _logger.Warn($"Add Job Error,Job is null");
                    JobManager.Instance.NotifyClientLog("", $"Add Job Error, Job is null");
                    return(false);
                }

                var oldJob = JobManager.Instance.Jobs.Find(j => j.Id.Equals(job.Id));

                if (oldJob != null)
                {
                    _logger.Warn($"Add Job【{job.Id}】Error,Job【{job.Id}】Existed.");
                    JobManager.Instance.NotifyClientLog("", $"Add Job Error, Job Existed.");
                    return(false);
                }

                if (JobManager.Instance.Jobs.Count <= 0)
                {
                    job.Rank = 1;
                }
                else
                {
                    job.Rank = JobManager.Instance.Jobs.Max(j => j.Rank) + 1;
                }

                JobManager.Instance.Jobs.Add(job);

                JobManager.Instance.SaveJobs();
                JobManager.Instance.UpdateScheduler(job.Id);

                _logger.Info($"Add Job【{job.Id}】Success.");
                JobManager.Instance.NotifyClientLog(job.Id, $"Add Job Success.");

                return(true);
            }
            catch (Exception e)
            {
                _logger.Error(e, $"Add Job【{job?.Id}】Error.");
                JobManager.Instance.NotifyClientLog(job?.Id, $"Add Job Error,{e.Message}");
                return(false);
            }
        }
        /// <summary>
        /// 审核
        /// </summary>
        /// <param name="p_id"></param>
        /// <returns></returns>
        public int PutPass(ManageJob manageJob)
        {
            int result = 0;

            try
            {
                //字符串修改
                string str = "update  ManageJob  set M_Pass=1 where M_Id=@p_id";
                //调用
                result = DapperHelper <CompanyManage> .Execute(str, new { p_id = manageJob.M_Id });
            }
            catch (Exception e)
            {
                Logger.Error(e.TargetSite.ToString());
            }
            return(result);
        }
Example #20
0
        /// <summary>
        /// 提交简历
        /// </summary>
        /// <param name="job"></param>
        /// <returns></returns>
        public int AddManageJob(ManageJob job)
        {
            string str = "insert into ManageJob values (@R_Name,@R_Phone,@R_Age,@R_EmailAddress,@C_CompanyName,@C_AvailablePositions,@C_TypeLabor,@M_Pass,@C_CompanyAddress)";

            return(DapperHelper <ManageJob> .Execute(str, new
            {
                R_Name = job.R_Name,
                R_Phone = job.R_Phone,
                R_Age = job.R_Age,
                R_EmailAddress = job.R_Address,
                C_CompanyName = job.C_CompanyName,
                C_AvailablePositions = job.C_AvailablePositions,
                C_TypeLabor = job.C_TypeLabor,
                M_Pass = job.M_Pass,
                C_CompanyAddress = job.C_CompanyAddress,
            }));
        }
        public void UpdatePass(int id, string name, string comName, string email, string adress)
        {
            ManageJob manageJob = new ManageJob();

            manageJob.M_Id   = id;
            manageJob.R_Name = name;
            string json   = JsonConvert.SerializeObject(manageJob);
            string result = Sender("put", "/api/ManageJob", json);

            if (int.Parse(result) > 0)
            {
                System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
                client.Host = "smtp.163.com";//使用163的SMTP服务器发送邮件
                client.UseDefaultCredentials = true;
                client.DeliveryMethod        = System.Net.Mail.SmtpDeliveryMethod.Network;
                client.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "XY9992"); //163的SMTP服务器需要用163邮箱的用户名和smtp授权码作认证,如果没有需要去163申请个,
                                                                                                               //这里假定你已经拥有了一个163邮箱的账户,用户名为abc,密码为*******
                System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
                Message.From = new System.Net.Mail.MailAddress("*****@*****.**");                            //这里需要注意,163似乎有规定发信人的邮箱地址必须是163的,而且发信人的邮箱用户名必须和上面SMTP服务器认证时的用户名相同
                                                                                                               //因为上面用的用户名abc作SMTP服务器认证,所以这里发信人的邮箱地址也应该写为[email protected]

                Message.To.Add(email);                                                                         //将邮件发送给Gmail

                //Message.To.Add("*****@*****.**");//将邮件发送给Gmail
                //Message.To.Add("*****@*****.**");//将邮件发送给QQ邮箱
                Message.Subject = "" + comName + "";
                string name1 = name.Substring(0, 1);
                Message.Body            = "恭喜" + name1 + "先生/女士,您的简历在本公司通过审核,<br/> 请去" + adress + "参加面试";
                Message.SubjectEncoding = System.Text.Encoding.UTF8;
                Message.BodyEncoding    = System.Text.Encoding.UTF8;
                Message.Priority        = System.Net.Mail.MailPriority.High;
                Message.IsBodyHtml      = true; //可以为html
                try
                {
                    client.Send(Message);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex.ToString());
                    throw;
                }
            }
            Response.Redirect("/CompanyManage/GetManageJob?selectId=" + seleid + "&page=" + _page + "&pageSize=" + 10);
        }
        //提交简历
        public ActionResult PostResumes(string cname, string position, string address, string rName, string rPhone, string rAge, string rAddress, string rSalary)
        {
            ManageJob job = new ManageJob();

            job.C_CompanyName        = cname;
            job.C_AvailablePositions = position;
            job.C_CompanyAddress     = address;
            job.R_Name      = rName;
            job.R_Phone     = rPhone;
            job.R_Age       = Convert.ToInt32(rAge);
            job.R_Address   = rAddress;
            job.M_Pass      = 0;
            job.C_TypeLabor = rSalary;

            string json   = JsonConvert.SerializeObject(job);
            var    result = Sender("post", "api/Resumes/AddManageJob", json);

            return(Json(result));
        }
Example #23
0
        /// <summary>
        /// 执行CMD任务
        /// </summary>
        /// <param name="job"></param>
        private void InvokeCmdJob(ManageJob job)
        {
            NotifyClientLog(job.Id, "================= CMD Running =================");

            var stopwatch = new Stopwatch();

            stopwatch.Start();

            _logger.Info($"Execute CMD Job:{job.Name}[{job.Command}]");

            var cmd = job.Command;

            var match     = Regex.Match(cmd, "((?<exe>(\".+\")|(.+))? (?<args>.+))|(?<exe>(\".+\")|(.+))");
            var exe       = match.Groups["exe"].Value;
            var arguments = match.Groups["args"]?.Value ?? "";

            ExecProcessAndWait(job.Id, exe, arguments, job.WorkPath);

            NotifyClientLog(job.Id, $"================= CMD Finished, Elapsed [{stopwatch.Elapsed:g}] =================");
        }
Example #24
0
        private void FillJob(ManageJob job)
        {
            txt_name.Text     = job.Name;
            cmb_type.Text     = job.Type.ToString();
            txt_cron.Text     = job.Cron;
            cmb_enable.Text   = job.Enable ? Resources.Enable : Resources.Disable;
            txt_workPath.Text = job.WorkPath;
            txt_cmd.Text      = job.Command;

            InitCmbClasses();
            cmb_classes.Text = job.ClassName;

            InitCmbMethods();
            cmb_methods.Text = job.MethodName;

            foreach (var param in job.Params)
            {
                dgv_params.Rows.Add(param);
            }
        }
Example #25
0
        /// <summary>
        /// 执行Server
        /// </summary>
        /// <param name="job"></param>
        public void InvokeServer(ManageJob job)
        {
            switch (job.Type)
            {
            case JobType.DLL:
                InvokeDllServer(job);
                break;

            case JobType.EXE:
                InvokeExeServer(job);
                break;

            case JobType.CMD:
                InvokeCmdServer(job);
                break;

            default:
                _logger.Warn($"Unkonw Job Type【{job.Type}】");
                break;
            }
        }
Example #26
0
        private ManageJob GetJob()
        {
            var job = _job;

            if (job == null)
            {
                job = new ManageJob();
            }

            job.Name = txt_name.Text;

            Enum.TryParse(cmb_type.Text, out JobType jobType);
            job.Type = jobType;

            job.Cron = txt_cron.Text;

            job.Enable = Resources.Enable.Equals(cmb_enable.Text);

            job.WorkPath = txt_workPath.Text;

            job.Command = txt_cmd.Text;

            job.ClassName = cmb_classes.Text;

            job.MethodName = cmb_methods.Text;

            job.Params.Clear();

            foreach (DataGridViewRow row in dgv_params.Rows)
            {
                var value = row.Cells["cln_param"].Value?.ToString();

                if (!string.IsNullOrWhiteSpace(value))
                {
                    job.Params.Add(value);
                }
            }

            return(job);
        }
Example #27
0
        /// <summary>
        /// 任务信息转换为需要显示的任务信息
        /// </summary>
        /// <param name="job">要显示的任务</param>
        /// <returns></returns>
        private ManageJob Job2Show(ManageJob job)
        {
            if (job.Cron.Equals(Constant.ServerCron))
            {
                job.NextFireTime = null;
                job.State        = job.Enable ? job.State : JobState.None;
            }
            else
            {
                var triggerKey = new TriggerKey(job.Id);
                var trigger    = _scheduler.GetTrigger(triggerKey).Result;
                var preTime    = trigger?.GetPreviousFireTimeUtc();
                if (preTime != null)
                {
                    job.PreviousFireTime = preTime;
                }
                job.NextFireTime = trigger?.GetNextFireTimeUtc();
                job.State        = TriggerState2JobState(_scheduler.GetTriggerState(triggerKey).Result);
            }

            return(job);
        }
Example #28
0
 public ActionResult Edit([Bind(Include = "JobId,JobName,JobSkills,JobExpirience,JobIsActive,JobDocuments,JobCreatedBy,JobModifiedBy,JobCreatedDate,JobModifiedDate,RefDepartmentId,RefCityId")] ManageJob manageJob)
 {
     if (ModelState.IsValid)
     {
         try
         {
             var ModifiedName = Convert.ToString(Session["name"]);
             manageJob.JobModifiedBy   = ModifiedName;
             manageJob.JobModifiedDate = DateTime.Now;
             db.Entry(manageJob).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
         catch (Exception ex)
         {
             TempData["err"] = ex.Message;
         }
     }
     ViewBag.RefCityId       = new SelectList(db.CityMasters, "CityId", "CityName", manageJob.RefCityId);
     ViewBag.RefDepartmentId = new SelectList(db.Departments, "DepId", "DepName", manageJob.RefDepartmentId);
     return(View(manageJob));
 }
Example #29
0
        public bool UpdateJob(ManageJob job)
        {
            try
            {
                if (job == null)
                {
                    _logger.Warn($"Update Job Error, Job is null.");
                    JobManager.Instance.NotifyClientLog("", $"Update Job Error, Job is null");
                    return(false);
                }

                var jobIndex = JobManager.Instance.Jobs.FindIndex(j => j.Id.Equals(job.Id));

                if (jobIndex < 0)
                {
                    _logger.Warn($"Update Job【{job.Id}】Error, Not Found Job【{job.Id}】");
                    JobManager.Instance.NotifyClientLog(job?.Id, $"Update Job Error, Not Found Job.");
                    return(false);
                }

                JobManager.Instance.Jobs[jobIndex] = job;

                JobManager.Instance.SaveJobs();
                JobManager.Instance.UpdateScheduler(job.Id);

                _logger.Info($"Update Job【{job.Id}】Success.");
                JobManager.Instance.NotifyClientLog(job?.Id, $"Update Job Success.");

                return(true);
            }
            catch (Exception e)
            {
                _logger.Error(e, $"Update Job【{job?.Id}】Error.");
                JobManager.Instance.NotifyClientLog(job?.Id, $"Update Job Error,{e.Message}");
                return(false);
            }
        }
Example #30
0
        /// <summary>
        /// 从ManageJob创建XML
        /// </summary>
        /// <param name="xmlDoc"></param>
        /// <param name="job"></param>
        /// <returns></returns>
        private XmlElement CreateXmlJob(XmlDocument xmlDoc, ManageJob job)
        {
            var xmlJob = xmlDoc.CreateElement("Job");

            xmlJob.SetAttribute("id", job.Id);
            xmlJob.SetAttribute("name", job.Name);
            xmlJob.SetAttribute("type", job.Type.ToString());
            xmlJob.SetAttribute("cron", job.Cron);
            xmlJob.SetAttribute("path", job.WorkPath);
            xmlJob.SetAttribute("cmd", job.Command);
            xmlJob.SetAttribute("class", job.ClassName);
            xmlJob.SetAttribute("method", job.MethodName);
            xmlJob.SetAttribute("enable", job.Enable.ToString());
            xmlJob.SetAttribute("rank", job.Rank.ToString());

            foreach (var param in job.Params)
            {
                var xmlParam = xmlDoc.CreateElement("param");
                xmlParam.SetAttribute("value", param);
                xmlJob.AppendChild(xmlParam);
            }

            return(xmlJob);
        }