示例#1
0
        public ActionResult Edit(HttpPostedFileBase TaskDllStream, UpdateTaskInfoRequest model)
        {
            model.Source         = Source.Web;
            model.AlarmUserId    = Request.Form["AlarmUserId"] == null?"":Request.Form["AlarmUserId"].ToString();
            model.IsEnabledAlarm = Request.Form["IsEnabledAlarm"] == null ? 0 : (Request.Form["IsEnabledAlarm"].ToString().ToLower() == "on" ? 1 : 0);

            if (TaskDllStream != null)
            {
                string filename = TaskDllStream.FileName;
                Stream dll      = TaskDllStream.InputStream;
                byte[] dllbyte  = new byte[dll.Length];
                dll.Read(dllbyte, 0, Convert.ToInt32(dll.Length));
                model.TaskDll = dllbyte;
            }
            // model.TaskId =int.Parse(ViewBag.taskid);
            // model.TaskVersionId = int.Parse(ViewBag.taskversionid);
            ResponseBase <UpdateTaskInfoResponse> tasklist = PostToServer <UpdateTaskInfoResponse, UpdateTaskInfoRequest>(ClientProxy.UpdateTask_Url, model);

            if (tasklist.Status != ResponesStatus.Success)
            {
                //ModelState.AddModelError("AddTaskFailed", tasklist.Msg);
                return(View(new List <tb_task>()));
            }
            return(RedirectToAction("/index"));
        }
        public ResponseBase <UpdateTaskInfoResponse> UpdateTaskInfo(UpdateTaskInfoRequest req)
        {
            var task        = taskrep.FindSingle(x => x.id == req.TaskId);
            var taskVersion = taskversionrep.FindSingle(x => x.id == req.TaskVersionId);

            if (task == null || taskVersion == null)
            {
                return(ResponseToClient <UpdateTaskInfoResponse>(ResponesStatus.Failed, "任务不存在"));
            }
            if (task.taskschedulestatus == (int)TaskScheduleStatus.Scheduling)
            {
                return(ResponseToClient <UpdateTaskInfoResponse>(ResponesStatus.Failed, "当前任务正在被调度中,请先停止再修改任务!"));
            }
            if (!string.IsNullOrEmpty(req.TaskMainClassName))
            {
                task.taskclassname = req.TaskMainClassName;
            }
            if (!string.IsNullOrEmpty(req.TaskDescription))
            {
                task.taskdescription = req.TaskDescription;
            }
            if (!string.IsNullOrEmpty(req.TaskName))
            {
                task.taskname = req.TaskName;
            }
            if (!string.IsNullOrEmpty(req.TaskNameSpace))
            {
                task.tasknamespace = req.TaskNameSpace;
            }
            if (!string.IsNullOrEmpty(req.TaskRemark))
            {
                task.taskremark = req.TaskRemark;
            }
            if (req.IsEnabledAlarm >= 0)
            {
                task.isenablealarm = req.IsEnabledAlarm;
            }
            if (req.AlarmType >= 0)
            {
                task.alarmtype = req.AlarmType;
            }
            if (!string.IsNullOrEmpty(req.AlarmUserId))
            {
                task.alarmuserid = req.AlarmUserId;
            }
            if (req.GroupId > 0)
            {
                task.groupid = req.GroupId;
            }
            task.tasktype = req.TaskType;
            taskrep.Update(task);

            if (req.NodeId > 0)
            {
                taskVersion.nodeid = req.NodeId;
            }

            if (!string.IsNullOrEmpty(req.TaskCorn))
            {
                taskVersion.taskcron = (req.TaskType == (int)TaskType.SchedulingTask ? req.TaskCorn : "[simple,,1,,]");
            }
            if (!string.IsNullOrEmpty(req.TaskParams))
            {
                taskVersion.taskparams = req.TaskParams;
            }
            if (!string.IsNullOrEmpty(req.TaskDllFileName))
            {
                taskVersion.zipfilename = req.TaskDllFileName;
            }
            if (req.TaskDll != null && req.TaskDll.Length > 0)
            {
                taskVersion.zipfile = req.TaskDll;
            }
            taskVersion.taskupdatetime = DateTime.Now;
            taskversionrep.Update(taskVersion);
            return(ResponseToClient <UpdateTaskInfoResponse>(ResponesStatus.Success, "更新任务成功"));
        }