private async void btu_createTask_Click(object sender, RoutedEventArgs e)
        {
            if (MainWindow.curAccount != null)
            {
                if (taskInfo != null)
                {
                    CreateTaskInfo cti = new CreateTaskInfo
                    {
                        path  = "/media/sda1/onecloud/tddownload",
                        tasks = new List <CreateTask> {
                            new CreateTask
                            {
                                name     = taskInfo.name,
                                url      = taskInfo.url,
                                filesize = 0
                            }
                        }
                    };
                    var ctk = await CreateTask(MainWindow.curAccount, cti);

                    Close();
                    MessageBox.Show(ctk, "提示");
                }
            }
        }
Exemple #2
0
        private async void btu_createTask_Click(object sender, RoutedEventArgs e)
        {
            if (MainWindow.curAccount != null)
            {
                if (taskInfo != null)
                {
                    CreateTaskInfo cti = new CreateTaskInfo
                    {
                        path  = tbx_savePath.Text.Trim(),
                        tasks = new List <CreateTask> {
                            new CreateTask
                            {
                                name     = taskInfo.name,
                                url      = taskInfo.url,
                                filesize = 0
                            }
                        }
                    };
                    var ctk = await CreateTask(MainWindow.curAccount, cti);

                    Close();
                    MessageBox.Show(ctk, "提示");
                }
            }
        }
Exemple #3
0
        async Task <int> CreateTask(string phone, CreateTaskInfo cti)
        {
            HttpMessage resp = await ApiHelper.CreateTask(phone, cti);

            switch (resp.statusCode)
            {
            case HttpStatusCode.OK:
                if (resp.data == null)
                {
                    return(-1);
                }
                var r = resp.data as CreateTaskResponse;
                if (r.rtn == 0)
                {
                    return(0);
                }
                else
                {
                    Debug.WriteLine($"CreateTask-出错({r.rtn})");
                }
                return(r.rtn);

            default:
                Debug.WriteLine("CreateTask-网络异常错误!");
                return(-1);
            }
        }
        public void Execute(CreateTaskInfo taskInfo)
        {
            if (taskInfo == null)
            {
                return;
            }

            if (taskInfo.CreateType == ECreateType.Index)
            {
                CreateChannel(taskInfo.PublishmentSystemID);
            }
            else if (taskInfo.CreateType == ECreateType.Channel)
            {
                CreateChannel(taskInfo.ChannelID);
            }
            else if (taskInfo.CreateType == ECreateType.Content)
            {
                var nodeInfo   = NodeManager.GetNodeInfo(PublishmentSystemId, taskInfo.ChannelID);
                var tableStyle = NodeManager.GetTableStyle(PublishmentSystemInfo, nodeInfo);
                var tableName  = NodeManager.GetTableName(PublishmentSystemInfo, nodeInfo);
                CreateContent(tableStyle, tableName, taskInfo.ChannelID, taskInfo.ContentID);
            }
            else if (taskInfo.CreateType == ECreateType.AllContent)
            {
                CreateContents(taskInfo.ChannelID);
            }
            else if (taskInfo.CreateType == ECreateType.File)
            {
                CreateFile(taskInfo.TemplateID);
            }
        }
Exemple #5
0
        public bool IsExists(CreateTaskInfo info)
        {
            if (info == null)
            {
                return(false);
            }

            var exists = false;

            const string sqlString = @"SELECT ID FROM siteserver_CreateTask WHERE CreateType = @CreateType AND PublishmentSystemID = @PublishmentSystemID AND ChannelID = @ChannelID AND ContentID = @ContentID AND TemplateID = @TemplateID";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmCreateType, EDataType.NVarChar, 50, ECreateTypeUtils.GetValue(info.CreateType)),
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, info.PublishmentSystemID),
                GetParameter(ParmChannelId, EDataType.Integer, info.ChannelID),
                GetParameter(ParmContentId, EDataType.Integer, info.ContentID),
                GetParameter(ParmTemplateId, EDataType.Integer, info.TemplateID),
            };

            using (var rdr = ExecuteReader(sqlString, parms))
            {
                if (rdr.Read() && !rdr.IsDBNull(0))
                {
                    exists = true;
                }
                rdr.Close();
            }

            return(exists);
        }
Exemple #6
0
        public void Insert(CreateTaskInfo info)
        {
            const string sqlString = "INSERT INTO siteserver_CreateTask (CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID) VALUES (@CreateType, @PublishmentSystemID, @ChannelID, @ContentID, @TemplateID)";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmCreateType, EDataType.NVarChar, 50, ECreateTypeUtils.GetValue(info.CreateType)),
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, info.PublishmentSystemID),
                GetParameter(ParmChannelId, EDataType.Integer, info.ChannelID),
                GetParameter(ParmContentId, EDataType.Integer, info.ContentID),
                GetParameter(ParmTemplateId, EDataType.Integer, info.TemplateID),
            };

            ExecuteNonQuery(sqlString, parms);
            ServiceManager.ClearIsPendingCreateCache();
        }
Exemple #7
0
        public List <CreateTaskInfo> GetList(int publishmentSystemId, int totalNum)
        {
            var list = new List <CreateTaskInfo>();

            if (publishmentSystemId > 0)
            {
                //string sqlString =
                //    $"SELECT TOP {totalNum} ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID FROM siteserver_CreateTask WHERE PublishmentSystemID = @PublishmentSystemID ORDER BY ID DESC";
                var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "WHERE PublishmentSystemID = @PublishmentSystemID ORDER BY ID DESC", totalNum);

                var parms = new IDataParameter[]
                {
                    GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId)
                };

                using (var rdr = ExecuteReader(sqlString, parms))
                {
                    while (rdr.Read())
                    {
                        var i    = 0;
                        var info = new CreateTaskInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i));
                        list.Add(info);
                    }
                    rdr.Close();
                }
            }
            else
            {
                //string sqlString =
                //    $"SELECT TOP {totalNum} ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID FROM siteserver_CreateTask ORDER BY ID DESC";
                var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "ORDER BY ID DESC", totalNum);

                using (var rdr = ExecuteReader(sqlString))
                {
                    while (rdr.Read())
                    {
                        var i    = 0;
                        var info = new CreateTaskInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i));
                        list.Add(info);
                    }
                    rdr.Close();
                }
            }

            return(list);
        }
Exemple #8
0
        public CreateTaskInfo GetLastPendingTask()
        {
            CreateTaskInfo info = null;

            //var sqlString = "SELECT TOP 1 ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID FROM siteserver_CreateTask ORDER BY ID";
            var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "ORDER BY ID", 1);

            using (var rdr = ExecuteReader(sqlString))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    info = new CreateTaskInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i));
                }
                rdr.Close();
            }
            return(info);
        }
Exemple #9
0
        /// <summary>
        /// 一次获取多个任务
        /// </summary>
        /// <param name="topNum"></param>
        /// <returns></returns>
        public List <CreateTaskInfo> GetLastPendingTasks(int topNum)
        {
            List <CreateTaskInfo> list = null;

            var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "ORDER BY ID", topNum);

            using (var rdr = ExecuteReader(sqlString))
            {
                while (rdr.Read())
                {
                    var i    = 0;
                    var info = new CreateTaskInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i));
                    list.Add(info);
                }
                rdr.Close();
            }
            return(list);
        }
        async Task <string> CreateTask(string phone, CreateTaskInfo cti)
        {
            HttpMessage resp = await ApiHelper.CreateTask(phone, cti);

            switch (resp.statusCode)
            {
            case HttpStatusCode.OK:
                if (resp.data == null)
                {
                    return("添加失败!服务器返回的数据为空");
                }
                var r = resp.data as CreateTaskResponse;
                if (r.rtn == 0)
                {
                    if (r.tasks != null && r.tasks.Count > 0)
                    {
                        var t = r.tasks[0];
                        if (t.result == 0)
                        {
                            return($"任务{t.name}添加成功!");
                        }
                        else
                        {
                            var tmsg = t.msg == "repeat_task" ? "已经存在相同的任务!无法重复添加" : t.msg;
                            return($"添加失败!\n错误码:{t.result}\n错误原因:{tmsg}");
                        }
                    }
                    else
                    {
                        return("添加失败!服务器返回的结果为空");
                    }
                }
                else
                {
                    Debug.WriteLine($"CreateTask-出错({r.rtn})");
                    return("添加失败!网络请求错误");
                }

            default:
                Debug.WriteLine("CreateTask-网络异常错误!");
                return("添加失败!网络异常错误");;
            }
        }
        /// <summary>
        /// 创建云添加任务
        /// </summary>
        /// <param name="phone"></param>
        /// <param name="cti"></param>
        /// <returns></returns>
        public static async Task <HttpMessage> CreateTask(string phone, CreateTaskInfo cti)
        {
            var client    = GetClient(phone);
            var sessionid = GetCookie(client, apiAccountUrl, "sessionid");
            var userid    = GetCookie(client, apiAccountUrl, "userid");
            var json      = JsonHelper.Serialize(cti);
            var purl      = System.Web.HttpUtility.UrlEncode(json, Encoding.UTF8);

            Debug.WriteLine("purl=" + purl);
            var resp = await Task.Run(() =>
            {
                client.BaseUrl = new Uri(apiRemoteDlUrl);
                var request    = new RestRequest($"createTask?pid={GetPeerID(phone)}&v=2&ct=32", Method.POST);
                request.AddParameter("sessionid", sessionid, ParameterType.Cookie);
                request.AddParameter("userid", userid, ParameterType.Cookie);
                request.AddParameter("text/plain", purl, ParameterType.RequestBody);
                return(client.Execute(request));
            });

            var message = new HttpMessage {
                statusCode = resp.StatusCode
            };

            if (resp.StatusCode == HttpStatusCode.OK)
            {
                Debug.WriteLine("CreateTask:" + resp.Content);
                var root = JsonHelper.Deserialize <CreateTaskResponse>(resp.Content);
                message.data = root;
            }
            else
            {
                Debug.WriteLine(resp.Content);
                message.data = resp.Content;
            }
            return(message);
        }