예제 #1
0
 void GetRateDetail()
 {
     try
     {
         if (TaskItems.TaskSettingID <= 0)
         {
             return;
         }
         TaskRate = new List <TaskDurationRate>();
         WebRequest webRequest = new WebRequest();
         webRequest.Session = CurrentApp.Session;
         webRequest.Code    = (int)S3107Codes.GetRateDetail;
         webRequest.ListData.Add(TaskItems.TaskSettingID.ToString());
         Service31071Client client = new Service31071Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session),
                                                            WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service31071"));
         WebReturn webReturn = client.UMPTaskOperation(webRequest);
         client.Close();
         if (!webReturn.Result)
         {
             return;
         }
         if (webReturn.ListData.Count <= 0)
         {
             return;
         }
         for (int i = 0; i < webReturn.ListData.Count; i++)
         {
             OperationReturn optReturn = XMLHelper.DeserializeObject <TaskDurationRate>(webReturn.ListData[i]);
             if (!optReturn.Result)
             {
                 ShowException(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message));
                 continue;
             }
             TaskDurationRate rateItem = optReturn.Data as TaskDurationRate;
             if (rateItem == null)
             {
                 ShowException(string.Format("Fail. rateItem is null"));
                 return;
             }
             TaskRate.Add(rateItem);
         }
     }
     catch (Exception ex)
     {
         ShowException(ex.Message);
     }
 }
예제 #2
0
        private bool TaskDBOperation()
        {
            bool               flag = true;
            WebRequest         webRequest;
            Service31071Client client;
            WebReturn          webReturn;

            try
            {
                if (!S3107App.TaskModify)//新建數據需要獲取任務分配ID、運行週期ID
                {
                    //生成新的任务分配ID
                    webRequest         = new WebRequest();
                    webRequest.Session = CurrentApp.Session;
                    webRequest.Code    = (int)RequestCode.WSGetSerialID;
                    webRequest.ListData.Add("31");
                    webRequest.ListData.Add("372");
                    webRequest.ListData.Add(DateTime.Now.ToString("yyyyMMddHHmmss"));
                    client = new Service31071Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session),
                                                    WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service31071"));
                    webReturn = client.UMPTaskOperation(webRequest);
                    client.Close();
                    if (!webReturn.Result)
                    {
                        return(false);
                    }
                    string strNewResultID = webReturn.Data;
                    if (string.IsNullOrEmpty(strNewResultID))
                    {
                        ShowException(CurrentApp.GetLanguageInfo("3107T00082", "strNewResultID1 Is Null"));
                        return(false);
                    }
                    TaskItems.TaskSettingID = Convert.ToInt64(strNewResultID);

                    //生成新的运行周期ID
                    webRequest         = new WebRequest();
                    webRequest.Session = CurrentApp.Session;
                    webRequest.Code    = (int)RequestCode.WSGetSerialID;
                    webRequest.ListData.Add("31");
                    webRequest.ListData.Add("313");
                    webRequest.ListData.Add(DateTime.Now.ToString("yyyyMMddHHmmss"));
                    client = new Service31071Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session),
                                                    WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service31071"));
                    webReturn = client.UMPTaskOperation(webRequest);
                    client.Close();
                    if (!webReturn.Result)
                    {
                        return(false);
                    }
                    strNewResultID = webReturn.Data;
                    if (string.IsNullOrEmpty(strNewResultID))
                    {
                        ShowException(CurrentApp.GetLanguageInfo("3107T00082", "strNewResultID2 Is Null"));
                        return(false);
                    }
                    TaskItems.FrequencyID = Convert.ToInt64(strNewResultID);
                }

                //往任务设置中插入用户信息
                TaskItems.Creator     = CurrentApp.Session.UserID;
                TaskItems.CreatorName = CurrentApp.Session.UserInfo.UserName;

                #region  时长分配比率 T_31_048  在插入数据库时获取自动任务分配ID时读取

                TaskRate = new List <TaskDurationRate>();
                if (ckDataGrid.IsChecked == true)
                {
                    if (dataGrid.Items.Count < 0)
                    {
                        return(false);
                    }
                    TaskDurationRate rateItem;
                    double           ratecount = 0.0;
                    foreach (DataGridInfo tempRate in dataGrid.ItemsSource)
                    {
                        rateItem             = new TaskDurationRate();
                        rateItem.DurationMin = tempRate.DurationMin;
                        rateItem.DurationMax = tempRate.DurationMax;
                        if (tempRate.DurationMin > tempRate.DurationMax)
                        {
                            ShowInformation(CurrentApp.GetLanguageInfo("3107T00085", "Please Input Right Duration"));
                            return(false);
                        }
                        rateItem.Rate          = tempRate.Rate;
                        rateItem.TaskSettingID = TaskItems.TaskSettingID;
                        ratecount += tempRate.Rate;
                        TaskRate.Add(rateItem);
                    }
                    if (ratecount != 100.0)
                    {
                        ShowInformation(CurrentApp.GetLanguageInfo("3107T00085", "Please Input Right Duration"));
                        return(false);
                    }
                }


                #endregion


                //往T_31_023、T_31_026、T_31_048中插入数据
                webRequest         = new WebRequest();
                webRequest.Session = CurrentApp.Session;
                webRequest.Code    = (int)S3107Codes.TaskSettingDBO;
                OperationReturn optReturn = XMLHelper.SeriallizeObject(TaskItems);//任务设置    0
                if (!optReturn.Result)
                {
                    ShowException(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message));
                    return(false);
                }
                webRequest.ListData.Add(optReturn.Data.ToString());

                string tempFlag = S3107App.TaskModify == true ? "T" : "F";
                webRequest.ListData.Add(tempFlag);                  //   1

                webRequest.ListData.Add(TaskRate.Count.ToString()); //2
                if (TaskRate.Count > 0 && ckDataGrid.IsChecked == true)
                {
                    for (int i = 0; i < TaskRate.Count; i++)
                    {
                        optReturn = XMLHelper.SeriallizeObject(TaskRate[i]);
                        if (!optReturn.Result)
                        {
                            ShowException(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message));
                            return(false);
                        }
                        webRequest.ListData.Add(optReturn.Data.ToString());//时长比率 2+i
                    }
                }
                client    = new Service31071Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session), WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service31071"));
                webReturn = client.UMPTaskOperation(webRequest);
                client.Close();
                if (!webReturn.Result)
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                ShowException(ex.Message);
                return(false);
            }
            return(flag);
        }