Ejemplo n.º 1
0
        public bool TryDecodePackage(HttpListenerRequest request, out RequestPackage package, out int statusCode)
        {
            statusCode = 200;
            package    = null;
            string RawUrl   = request.RawUrl;
            bool   NetPayCb = RawUrl.IndexOf("Pay") > 0;

            if (NetPayCb) // Pay for 3rd
            {
                string data = "";
                if (String.Compare(request.HttpMethod, "get", StringComparison.OrdinalIgnoreCase) == 0 ||
                    String.Compare(request.HttpMethod, "post", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    data = request.RawUrl.Substring("Service.aspx".Length + 1);
                    data = HttpUtility.UrlDecode(data);
                }

                int    MsgId     = -1;
                string SessionId = "";
                int    ActionId  = -1;
                int    UserId    = -1;
                string content   = "";
                package = null;
                content = data;
                if (data.Contains("Pay360"))
                {
                    ActionId = 2500;
                    content  = data.Substring(data.IndexOf('?') + 1);
                }
                if (data.Contains("GuccangGuard"))
                {
                    ActionId = 4000;
                    content  = "guccang";
                }
                if (data.Contains("BaiDu"))
                {
                    //if(String.Compare(request.HttpMethod, "get", StringComparison.OrdinalIgnoreCase) == 0)
                    //{
                    //    Console.WriteLine("BaiDu this is get method" + request.RemoteEndPoint);
                    //}
                    //if (String.Compare(request.HttpMethod, "post", StringComparison.OrdinalIgnoreCase) == 0)
//                    {
//                       Console.WriteLine("BaiDu this is post method" + request.RemoteEndPoint);
//                  }


                    ActionId = 2502;
                    content  = "";
                    using (var br = new System.IO.BinaryReader(request.InputStream))
                    {
                        int contentLenght = (int)request.ContentLength64;
                        content = System.Text.Encoding.UTF8.GetString(br.ReadBytes(contentLenght));
                    }
                }
                if (ActionId < 0)
                {
                    return(false);
                }
                package = new RequestPackage(MsgId, SessionId, ActionId, UserId)
                {
                    Message = content
                };
                return(true);
            }
            else if (RawUrl.IndexOf("webBackOffice") > 0)
            {
                // web back-office
                using (var br = new System.IO.BinaryReader(request.InputStream))
                {
                    int    contentLenght = (int)request.ContentLength64;
                    string content       = System.Text.Encoding.UTF8.GetString(br.ReadBytes(contentLenght));
                    package = new RequestPackage(0, "", 4000, 0)
                    {
                        Message = content
                    };
                    System.Console.WriteLine(content);
                }
                return(true);
            }
            else // GameServer Logic
            {
                byte[]      content;
                var         bytes = GetRequestStream(request.InputStream);
                MessagePack head  = ReadMessageHead(bytes, out content);
                if (head == null)
                {
                    return(false);
                }
                package = new RequestPackage(head.MsgId, head.SessionId, head.ActionId, head.UserId)
                {
                    Message = content
                };
                return(true);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 生成装车任务
        /// </summary>
        private void btnCreateTask_Click(object sender, EventArgs e)
        {
            try
            {
                using (WaitDialogForm waitDialog = new WaitDialogForm("提示", "正在存储装车信息,请稍后..."))
                {
                    int    outType = 0;
                    object obj     = null;

                    Dictionary <string, object> settings = GlobeSettings.SystemSettings;
                    if (settings.ContainsKey("出库方式") && settings["出库方式"].ToString() == "1")
                    {
                        outType = 1;
                    }

                    #region
                    if (!IsOldMap)//表示调用李奇才的方法
                    {
                        if ((obj = this.InvokeScript("submit")) == null)
                        {
                            MsgBox.Warn("未找到已排序订单!");
                            return;
                        }
                    }
                    else
                    {
                        if ((obj = this.InvokeScript(this.Submit)) == null)
                        {
                            MsgBox.Warn("未找到已排序订单!");
                            return;
                        }
                    }
                    #endregion

                    List <SortMapReceiveDataEntity> list = JsonConvert.DeserializeObject <List <SortMapReceiveDataEntity> >(obj.ToString());
                    if (list == null || list.Count == 0)
                    {
                        MsgBox.Warn("未找到已排序订单");
                        return;
                    }
                    if (list.Count == this._list.Count ||
                        MsgBox.AskOK("还有未排序的订单,是否继续提交?") == DialogResult.OK)
                    {
                        LoadingHeaderEntity header = new LoadingHeaderEntity()
                        {
                            WarehouseCode = GlobeSettings.LoginedUser.WarehouseCode,
                            LoadingNO     = outType == 1 ? this._loadingNo : DateTime.Now.ToString("yyyyMMddHHmmssms"),
                            VehicleID     = this._vehicle == null ? 0 : this._vehicle.ID,
                            UserName      = GlobeSettings.LoginedUser.UserName,
                            UpdateDate    = DateTime.Now
                        };
                        List <LoadingDetailEntity> details = new List <LoadingDetailEntity>();
                        foreach (SortMapReceiveDataEntity data in list)
                        {
                            SOHeaderEntity soHeader = this._list.Find(new Predicate <SOHeaderEntity>(
                                                                          (item) =>
                            {
                                return(item.BillNO == data.orderId);
                            }));
                            if (soHeader == null)
                            {
                                continue;
                            }
                            details.Add(new LoadingDetailEntity()
                            {
                                LoadingNO     = header.LoadingNO,
                                BillNO        = soHeader.BillNO,
                                InVehicleSort = ConvertUtil.ToInt(data.paixu),
                                UpdateDate    = DateTime.Now,
                                BillID        = soHeader.BillID
                            });
                        }
                        List <LoadingUserEntity> users = new List <LoadingUserEntity>();
                        if (this._loadingUsers != null && this._loadingUsers.Count > 0)
                        {
                            foreach (UserEntity item in this._loadingUsers)
                            {
                                users.Add(new LoadingUserEntity()
                                {
                                    LoadingNO  = header.LoadingNO,
                                    UserName   = item.UserName,
                                    UserCode   = item.UserCode,
                                    UpdateDate = DateTime.Now,
                                    TaskType   = "145"
                                });
                            }
                        }

                        List <LoadingUserEntity> transUsers = new List <LoadingUserEntity>();
                        if (this._transUsers != null && this._transUsers.Count > 0)
                        {
                            foreach (UserEntity item in this._transUsers)
                            {
                                transUsers.Add(new LoadingUserEntity()
                                {
                                    LoadingNO  = header.LoadingNO,
                                    UserName   = item.UserName,
                                    UserCode   = item.UserCode,
                                    UpdateDate = DateTime.Now,
                                    TaskType   = "148"
                                });
                            }
                        }

                        header.Details = details;
                        users.AddRange(transUsers);
                        header.Users = users;
                        // 存储排序记录
                        CreateLoadingInfo(header);
                        //返回没有排序的订单
                        if (!string.IsNullOrEmpty(this._loadingNo))
                        {
                            List <SortMapReceiveDataEntity> billsUnSelected = GetLoadingNOUnSelected(this._loadingNo);
                            if (billsUnSelected.Count > 0)
                            {
                                foreach (SortMapReceiveDataEntity item in billsUnSelected)
                                {
                                    RequestPackage request = new RequestPackage("removeOrderid.php");
                                    request.Method = EHttpMethod.Get.ToString();
                                    request.Params.Add("orderid", item.orderId);

                                    ResponsePackage response = _httpContext.Request(request);

                                    if (response.Result == EResponseResult.成功)
                                    {
                                        string jsonData = Encoding.Default.GetString(response.ResultData as byte[]);
                                        if (jsonData == "NULL")
                                        {
                                            MsgBox.Warn("网络环境异常,请检查网络!");
                                        }
                                    }
                                }
                            }
                        }


                        ///装车重新分任务
                        foreach (SortMapReceiveDataEntity data in list)
                        {
                            SOHeaderEntity soHeader = this._list.Find(new Predicate <SOHeaderEntity>(
                                                                          (item) =>
                            {
                                return(item.BillNO == data.orderId);
                            }));
                            CreateTask(soHeader.BillID, "148");
                        }
                        AutoAssignTask();
                        this.DialogResult = DialogResult.OK;
                    }
                }
            }
            catch (Exception ex)
            {
                MsgBox.Err("错误:" + ex.Message);
            }
        }
Ejemplo n.º 3
0
 /// <summary>获取模型之后</summary>
 /// <remarks>用于派生类,可扩展用于:处理模型信息的自定义</remarks>
 /// <param name="reqPackag"></param>
 /// <param name="rspPackage"></param>
 protected virtual void AfterGetModelInfo(RequestPackage reqPackag, ResponsePackage rspPackage)
 {
 }
Ejemplo n.º 4
0
 public F1Model(RequestPackage rqp)
 {
     // заход с фильтром для "filtered_view"
     NetSqlГарзаДоговоры = F1HomeData.F1GetДоговоры(rqp);
 }
Ejemplo n.º 5
0
        private void _RequestPush(RequestPackage package)
        {
            System.Threading.Interlocked.Increment(ref _TotalRequest);

            _Requests.Enqueue(package);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 请求提交订单
 /// </summary>
 /// <returns></returns>
 private bool RequestSubmitOrder(QueryTrainData data)
 {
     bool result = false;
     RequestPackage request = new RequestPackage();
     request.Encoding = Encoding.UTF8;
     request.RequestURL = "/otn/leftTicket/submitOrderRequest";
     request.RefererURL = "/otn/leftTicket/init";
     request.Params.Add("secretStr", data.secretStr);
     request.Params.Add("train_date", this.dtpTrainDate.Value.ToString("yyyy-MM-dd"));
     request.Params.Add("back_train_date", DateTime.Now.ToString("yyyy-MM-dd"));
     request.Params.Add("tour_flag", "dc");
     request.Params.Add("purpose_codes", "ADULT");
     request.Params.Add("query_from_station_name", data.QueryLeftNewDTO.from_station_name);
     request.Params.Add("query_to_station_name", data.QueryLeftNewDTO.to_station_name);
     ArrayList list = HttpContext.Send(request);
     if (list.Count == 2)
     {
         string jsonResult = Encoding.UTF8.GetString(list[1] as byte[]);
         ResponseBase response = JsonConvert.DeserializeObject<ResponseBase>(jsonResult);
         if (response.status && response.httpstatus == 200)
         {
             result = true;
         }
         else if (response.messages != null && response.messages.Length > 0)
         {
             throw new Exception(response.messages[0]);
         }
     }
     return result;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 登录 12306
 /// </summary>
 void btnLogin_Click(object sender, EventArgs e)
 {
     try
     {
         this.btnLogin.Enabled = false;
         AppContext.Tip.Show(
             "正在登录...",
             this,
             this.btnLogin.Location.X, this.btnLogin.Location.Y - 20);
         string loginName = this.txtLoginName.Text.Trim();
         string loginPwd  = this.txtLoginPwd.Text.Trim();
         string code      = this.txtCode.Text.Trim();
         PWLoading.Show(this, "正在登录...", new Action(() =>
         {
             RequestPackage request = new RequestPackage();
             request.Params.Add("loginUserDTO.user_name", System.Web.HttpUtility.UrlEncode(loginName));
             request.Params.Add("userDTO.password", System.Web.HttpUtility.UrlEncode(loginPwd));
             request.Params.Add("randCode", System.Web.HttpUtility.UrlEncode(code));
             request.RequestURL = "/otn/login/loginAysnSuggest";
             request.RefererURL = "/otn/login/init";
             request.Method     = "post";
             ArrayList list     = HttpContext.Send(request);
             if (list.Count == 2)
             {
                 string jsonResult     = Encoding.UTF8.GetString(list[1] as byte[]);
                 ResponseLogin package = JsonConvert.DeserializeObject <ResponseLogin>(jsonResult);
                 if (package.Data != null && package.Data.loginCheck == "Y")
                 {
                     AppContext.LoginUser = new LoginUser()
                     {
                         UserName = loginName,
                         Password = loginPwd,
                     };
                     this.DialogResult = DialogResult.OK;
                 }
                 else
                 {
                     if (package.messages != null && package.messages.Length > 0)
                     {
                         if (this.InvokeRequired)
                         {
                             this.Invoke(new Action(() =>
                             {
                                 MessageBox.Show(this, package.messages[0], "提示");
                                 this.btnLogin.Enabled = true;
                                 this.GetValidateCode();
                                 this.txtCode.Focus();
                             }));
                         }
                     }
                 }
             }
             else
             {
                 Log.Log.Write(list);
             }
         }));
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, "错误:" + ex.Message, "系统错误");
         this.btnLogin.Enabled = true;
     }
 }
Ejemplo n.º 8
0
 /// <summary>
 /// init
 /// </summary>
 /// <param name="package"></param>
 /// <param name="session"></param>
 public ActionGetter(RequestPackage package, GameSession session)
 {
     ReqPackage = package;
     _session   = session;
     OpCode     = package.OpCode;
 }
Ejemplo n.º 9
0
 public abstract void PackageRecieve(RequestPackage package, MessageInfo info);
Ejemplo n.º 10
0
 public abstract ResponsePackage execute(ClientConnectionInfoArgs clientConnectionInfoArgs, RequestPackage requestPackage);
Ejemplo n.º 11
0
        /// <summary>
        /// 提交订单
        /// </summary>
        private bool SubmitOrder(string passengerTicketStr, string oldPassengerStr, string code)
        {
            bool result = false;

            PWLoading.Show(this, "正在检查订单,请稍后...", new Action(() =>
            {
                RequestPackage request = new RequestPackage();
                request.Encoding       = Encoding.UTF8;
                request.Method         = "post";
                request.RefererURL     = "/otn/confirmPassenger/initDc";
                request.RequestURL     = "/otn/confirmPassenger/checkOrderInfo";
                request.Params.Add("cancel_flag", "2");
                request.Params.Add("bed_level_order_num", "000000000000000000000000000000");
                request.Params.Add("passengerTicketStr", passengerTicketStr);
                request.Params.Add("oldPassengerStr", oldPassengerStr);
                request.Params.Add("tour_flag", TicketInfo.tour_flag);
                request.Params.Add("randCode", code);
                request.Params.Add("_json_att", string.Empty);
                request.Params.Add("REPEAT_SUBMIT_TOKEN", SubmitToken);
                ArrayList list = HttpContext.Send(request);
                if (list.Count == 2)
                {
                    PWLoading.UpdateMessage("正在查询余票数量...");
                    string jsonResult     = Encoding.UTF8.GetString(list[1] as byte[]);
                    ResponseBase response = JsonConvert.DeserializeObject <ResponseCheckOrderInfo>(jsonResult);
                    if (response.status)
                    {
                        ResponseCheckOrderInfo res_check_order = response as ResponseCheckOrderInfo;
                        if (res_check_order.Data.submitStatus)
                        {
                            string date = TicketInfo.queryLeftTicketRequestDTO.TrainDate.ToString("ddd MMM dd yyyy 00:00:00 ",
                                                                                                  System.Globalization.CultureInfo.CreateSpecificCulture("en-US")) + "GMT + 0800(中国标准时间)";
                            string train_date = Data.QueryLeftNewDTO.StartTrainDate.ToString(
                                "ddd MMM dd yyyy 00:00:00 ",
                                System.Globalization.CultureInfo.CreateSpecificCulture("en-US")) + "GMT + 0800(中国标准时间)";
                            request.RequestURL = "/otn/confirmPassenger/getQueueCount";
                            request.RefererURL = "/otn/confirmPassenger/initDc";
                            request.Params.Clear();
                            request.Params.Add("train_date", System.Web.HttpUtility.UrlEncode(train_date));
                            request.Params.Add("train_no", System.Web.HttpUtility.UrlEncode(Data.QueryLeftNewDTO.train_no));
                            request.Params.Add("stationTrainCode", System.Web.HttpUtility.UrlEncode(Data.QueryLeftNewDTO.station_train_code));
                            request.Params.Add("seatType", System.Web.HttpUtility.UrlEncode("0"));
                            request.Params.Add("fromStationTelecode", System.Web.HttpUtility.UrlEncode(Data.QueryLeftNewDTO.from_station_telecode));
                            request.Params.Add("toStationTelecode", System.Web.HttpUtility.UrlEncode(Data.QueryLeftNewDTO.to_station_telecode));
                            request.Params.Add("leftTicket", System.Web.HttpUtility.UrlEncode(Data.QueryLeftNewDTO.yp_info));
                            request.Params.Add("purpose_codes", System.Web.HttpUtility.UrlEncode("00"));
                            request.Params.Add("_json_att", string.Empty);
                            request.Params.Add("REPEAT_SUBMIT_TOKEN", System.Web.HttpUtility.UrlEncode(SubmitToken));
                            list = HttpContext.Send(request);
                            if (list.Count == 2)
                            {
                                PWLoading.UpdateMessage("正在确认订单...");
                                jsonResult = Encoding.UTF8.GetString(list[1] as byte[]);
                                response   = JsonConvert.DeserializeObject <ResponseQueueCount>(jsonResult);
                                if (response.status)
                                {
                                    request.RequestURL = "/otn/confirmPassenger/confirmSingleForQueue";
                                    request.RefererURL = "/otn/confirmPassenger/initDc";
                                    request.Params.Clear();
                                    request.Params.Add("passengerTicketStr", passengerTicketStr);
                                    request.Params.Add("oldPassengerStr", oldPassengerStr);
                                    request.Params.Add("randCode", code);
                                    request.Params.Add("purpose_codes", TicketInfo.purpose_codes);
                                    request.Params.Add("key_check_isChange", TicketInfo.key_check_isChange);
                                    request.Params.Add("leftTicketStr", TicketInfo.leftTicketStr);
                                    request.Params.Add("train_location", TicketInfo.train_location);
                                    request.Params.Add("_json_att", string.Empty);
                                    request.Params.Add("REPEAT_SUBMIT_TOKEN", SubmitToken);
                                    list       = HttpContext.Send(request);
                                    jsonResult = Encoding.UTF8.GetString(list[1] as byte[]);
                                    response   = JsonConvert.DeserializeObject <ResponseSubmit>(jsonResult);
                                    if (response.status)
                                    {
                                        if ((response as ResponseSubmit).Data.submitStatus)
                                        {
                                            result = true;
                                        }
                                    }
                                }
                            }
                            else
                            {
                                Log.Log.Write(list);
                            }
                        }
                        else
                        {
                            Log.Log.Write(list);
                            throw new Exception(res_check_order.Data.errMsg);
                        }
                    }
                    else if (response.messages != null && response.messages.Length > 0)
                    {
                        string message = response.messages[0];
                        Log.Log.Write(list);
                        throw new Exception(message);
                    }
                }
                else
                {
                    Log.Log.Write(list);
                }
            }));
            return(result);
        }
Ejemplo n.º 12
0
        public override ResponsePackage execute(ClientConnectionInfoArgs clientConnectionInfoArgs, RequestPackage requestPackage)
        {
            ResponsePackage responsePackage = new ResponsePackage();

            responsePackage.Response = "XiepPong";
            return(responsePackage);
        }
Ejemplo n.º 13
0
        public static Object Update(RequestPackage rqp0)
        {
            Object result = "error";

            if (rqp0 == null || rqp0.Parameters == null)
            {
                return(result);
            }

            // Надо сохранить в 1с, в xl, в sql и потом обновить sql из xl и 1с.

            String f0 = rqp0["f0"] as String;
            String cmd;

            if (String.IsNullOrWhiteSpace(f0))
            {
                cmd = "Добавить";
            }
            else
            {
                cmd = "Обновить";
            }

            // Первое сохранение в 1с потому, что, если это новая запись, то получим код который нужен для xl и для sql.
            {
                if (String.IsNullOrWhiteSpace(f0))
                {
                    // для новой записи - надо получить внутренний номер договора из sql
                    String agrNum = F1HomeData.F1GetAgrNumSql();
                    rqp0["f2"] = agrNum;
                    // если нет внешнего номера договора, то назначаем ему внутренний
                    if (String.IsNullOrWhiteSpace(rqp0["f3"] as String))
                    {
                        rqp0["f3"] = agrNum;
                    }
                }
                RequestPackage rqp1 = new RequestPackage();

                Int32.TryParse(rqp0["f14"] as String, out Int32 code);

                rqp1.Command    = (code > 0) ? "Обновить" : "Добавить";
                rqp1.Parameters = new RequestParameter[]
                {
                    new RequestParameter("Тип", "Справочник"),
                    new RequestParameter("Вид", "Договоры"),
                    new RequestParameter("Код", code.ToString()),
                    new RequestParameter("Примечание", rqp0["f1"] as String),
                    new RequestParameter("Наименование", rqp0["f3"] as String),
                    new RequestParameter("Владелец", rqp0["f4"] as String),
                    new RequestParameter("ВладелецКод", rqp0["f4c"] as String),
                    new RequestParameter("ДатаДоговора", rqp0["f6"] as String),
                    new RequestParameter("ОтветЛицо", rqp0["f12"] as String),
                    new RequestParameter("СуммаДоговора", rqp0["f13"] as String),
                    new RequestParameter("НомерТоргов", rqp0["f15"] as String),
                    new RequestParameter("ДатаОкончания", rqp0["ДатаОкончания"] as String),
                    new RequestParameter("ОтсрочкаПлатежа", rqp0["ОтсрочкаПлатежа"] as String),
                    //{ "Представитель", rqp["Представитель"] as String },
                    //{ "ДопСоглашение", rqp["ДопСоглашение"] as String },
                    new RequestParameter("Пролонгация", rqp0["Пролонгация"] as String),
                    new RequestParameter("ГосударственныйИдентификатор", rqp0["f17"] as String),
                    new RequestParameter("ВключитьРассылкуДокументов", (Boolean)rqp0["ur"]),
                    new RequestParameter("ВключитьВРассылкуСчёт", (Boolean)rqp0["urd1"]),
                    new RequestParameter("ВключитьВРассылкуНакладную", (Boolean)rqp0["urd2"]),
                    new RequestParameter("ВключитьВРассылкуАкт", (Boolean)rqp0["urd3"]),
                    new RequestParameter("ВключитьВРрассылкуСчётФактуру", (Boolean)rqp0["urd4"]),
                    new RequestParameter("ВключитьВРассылкуДокументыКачества", (Boolean)rqp0["urd5"]),
                };

                code = F1HomeData.F1Upsert1c(rqp1);
                if (code >= 0)
                {
                    rqp0["f14"] = code.ToString();
                }
            }

            // Сохранение в xl убрал за ненадобностью.
            { }

            F1HomeData.F1UpsertSql(cmd, rqp0);
            result = "ok";

            if (cmd == "Добавить")
            {
                result = F1HomeData.F1GetДоговоры(rqp0["f4"] as String, rqp0["f13"] as String, rqp0["f15"] as String);
            }
            return(result);
        }
Ejemplo n.º 14
0
 public void Update2()
 {
     // исправляем количество со старой датой
     foreach (RequestParameter p in Rqp.Parameters)
     {
         String name = p.Name;
         if (!String.IsNullOrWhiteSpace(name) &&
             name.Length == 88 &&
             (new Regex(@"[0-9a-f-]{36} [0-9a-f-]{36} \d\d\.\d\d\.\d\d \d \d [qel]")).IsMatch(name))
         {
             Guid.TryParse(name.Substring(0, 36), out Guid stUid);
             Guid.TryParse(name.Substring(37, 36), out Guid uid);
             String         field = name.Substring(87, 1);
             String         value = p.Value as String;
             RequestPackage rqp1  = null;
             if (field == "q")
             {
                 rqp1 = new RequestPackage
                 {
                     SessionId  = SessionId,
                     Command    = "[DeliverySchedule].[dbo].[заявки_на_закупку_таблица__изменить_количество]",
                     Parameters = new RequestParameter[]
                     {
                         new RequestParameter {
                             Name = "session_id", Value = SessionId
                         },
                         new RequestParameter {
                             Name = "спецификации_таблица_uid", Value = stUid
                         },
                         new RequestParameter {
                             Name = "uid", Value = uid
                         },
                         new RequestParameter {
                             Name = "количество", Value = global::Nskd.Convert.ToDecimalOrNull(value)
                         }
                     }
                 };
             }
             else if (field == "e")
             {
                 value = (value.Length == 5) ? $"20{value.Substring(3, 2)}-{value.Substring(0, 2)}-01" : null;
                 rqp1  = new RequestPackage
                 {
                     SessionId  = SessionId,
                     Command    = "[DeliverySchedule].[dbo].[заявки_на_закупку_таблица__изменить_срок_годности]",
                     Parameters = new RequestParameter[]
                     {
                         new RequestParameter {
                             Name = "session_id", Value = SessionId
                         },
                         new RequestParameter {
                             Name = "спецификации_таблица_uid", Value = stUid
                         },
                         new RequestParameter {
                             Name = "uid", Value = uid
                         },
                         new RequestParameter {
                             Name = "срок_годности", Value = value
                         }
                     }
                 };
             }
             else if (field == "l")
             {
                 rqp1 = new RequestPackage
                 {
                     SessionId  = SessionId,
                     Command    = "[DeliverySchedule].[dbo].[заявки_на_закупку_таблица__изменить_срок_исполнения]",
                     Parameters = new RequestParameter[]
                     {
                         new RequestParameter {
                             Name = "session_id", Value = SessionId
                         },
                         new RequestParameter {
                             Name = "спецификации_таблица_uid", Value = stUid
                         },
                         new RequestParameter {
                             Name = "uid", Value = uid
                         },
                         new RequestParameter {
                             Name = "срок_исполнения_отгрузка_покупатель", Value = global::Nskd.Convert.ToDecimalOrNull(value)
                         }
                     }
                 };
             }
             if (rqp1 != null)
             {
                 var rsp = rqp1.GetResponse("http://127.0.0.1:11012/");
             }
         }
     }
     // изменяем дату
     foreach (RequestParameter p in Rqp.Parameters)
     {
         String name  = p.Name;
         String value = p.Value as String;
         if (!String.IsNullOrWhiteSpace(name) &&
             name.Length == 51 &&
             (new Regex(@"[0-9a-f-]{36} \d\d\.\d\d\.\d\d \d \d [qe]")).IsMatch(name) &&
             value != null && (new Regex(@"\d\d\.\d\d\.\d\d")).IsMatch(value))
         {
             Guid.TryParse(name.Substring(0, 36), out Guid uid);
             DateTime.TryParse(name.Substring(37, 8), out DateTime oldDate);
             DateTime.TryParse(value, out DateTime newDate);
             RequestPackage rqp1 = new RequestPackage
             {
                 SessionId  = SessionId,
                 Command    = "[DeliverySchedule].[dbo].[заявки_на_закупку_шапка__изменить_дату]",
                 Parameters = new RequestParameter[]
                 {
                     new RequestParameter {
                         Name = "session_id", Value = SessionId
                     },
                     new RequestParameter {
                         Name = "uid", Value = uid
                     },
                     new RequestParameter {
                         Name = "old_date", Value = oldDate
                     },
                     new RequestParameter {
                         Name = "new_date", Value = newDate
                     }
                 }
             };
             ResponsePackage rsp = rqp1.GetResponse("http://127.0.0.1:11012/");
         }
     }
     // обновить данные для страницы
     Load();
 }
Ejemplo n.º 15
0
 /// <summary>
 /// init
 /// </summary>
 /// <param name="package"></param>
 public ActionGetter(RequestPackage package)
 {
     ReqPackage = package;
 }
Ejemplo n.º 16
0
        public void Load()
        {
            RequestPackage rqp = new RequestPackage()
            {
                Command    = "[Pharm-Sib].[dbo].[спецификации__получить]",
                Parameters = new RequestParameter[]
                {
                    new RequestParameter()
                    {
                        Name = "session_id", Value = SessionId
                    },
                    new RequestParameter()
                    {
                        Name = "id", Value = SpecId
                    }
                }
            };
            ResponsePackage rsp = rqp.GetResponse("http://127.0.0.1:11012/");

            if (rsp != null && rsp.Data != null && rsp.Data.Tables.Count > 0)
            {
                СпецификацияШапка = new ТаблицаДанных(rsp.Data.Tables[0]);
                if (rsp.Data.Tables.Count > 1)
                {
                    СпецификацияТаблица      = new ТаблицаДанных(rsp.Data.Tables[1]);
                    СпецификацияТаблица.Sort = "[номер_строки]";
                }
            }

            if (СпецификацияШапка != null && СпецификацияШапка.RowsCount > 0)
            {
                String o = СпецификацияШапка[0]["дата_первой_поставки"];

                String oSiop = СпецификацияШапка[0]["срок_исполнения_отгрузка_покупатель"];

                DateTime?dDpo = null;
                if (oSiop != null)
                {
                    if (o != "")
                    {
                        dDpo = (DateTime.Parse(o)).AddDays(-Int32.Parse(oSiop));
                        sDpo = ((DateTime)dDpo).ToString("dd.MM.yy");
                    }
                }

                String   oSiso = СпецификацияШапка[0]["срок_исполнения_склад_отгрузка"];
                DateTime?dDps  = null;
                if (oSiso != null)
                {
                    sSiso = oSiso;
                    if (dDpo != null)
                    {
                        dDps = ((DateTime)dDpo).AddDays(-Int32.Parse(oSiso));
                        sDps = ((DateTime)dDps).ToString("dd.MM.yy");
                    }
                }

                String   oSizs = СпецификацияШапка[0]["срок_исполнения_заявка_склад"];
                DateTime?dDozp = null;
                if (oSizs != null)
                {
                    sSizs = oSizs;
                    if (dDps != null)
                    {
                        dDozp = ((DateTime)dDps).AddDays(-Int32.Parse(oSizs));
                        sDozp = ((DateTime)dDozp).ToString("dd.MM.yy");
                    }
                }
            }

            rqp = new RequestPackage()
            {
                Command    = "[DeliverySchedule].[dbo].[заявки_на_закупку__получить]",
                Parameters = new RequestParameter[]
                {
                    new RequestParameter()
                    {
                        Name = "session_id", Value = SessionId
                    },
                    new RequestParameter()
                    {
                        Name = "код_спецификации", Value = SpecId
                    }
                }
            };
            rsp = rqp.GetResponse("http://127.0.0.1:11012/");
            if (rsp != null && rsp.Data != null && rsp.Data.Tables.Count > 0)
            {
                ЗаявкиНаЗакупкуШапка      = new ТаблицаДанных(rsp.Data.Tables[0]);
                ЗаявкиНаЗакупкуШапка.Sort = "[дата_поставки_покупателю], [тип_формирования]";
                if (rsp.Data.Tables.Count > 1)
                {
                    ЗаявкиНаЗакупкуТаблица = new ТаблицаДанных(rsp.Data.Tables[1]);
                }
            }

            Shedule = CreateSheduleTable();
        }
Ejemplo n.º 17
0
 private void _RequestPush(RequestPackage package)
 {
     lock(Peer._LockRequest)
     {
         _Requests.Enqueue(package);
         Peer.TotalRequest++;
     }
 }
Ejemplo n.º 18
0
 public override void PackageRecieve(RequestPackage package, MessageInfo info)
 {
     throw new LoggableException("ServerPeer base recieved a RequestPackage but ServerPeer cannot handle this message type.", null, LogType.Error);
 }
Ejemplo n.º 19
0
        private Request _TryGetRequest(RequestPackage package)
        {
            if(package.Code == ClientToServerOpCode.Ping)
            {
                (this as IResponseQueue).Push(ServerToClientOpCode.Ping, new byte[0]);
                return null;
            }

            if(package.Code == ClientToServerOpCode.CallMethod)
            {
                /*var EntityId = new Guid(package.Args[0]);
                var MethodName = Encoding.Default.GetString(package.Args[1]);

                byte[] par = null;
                var ReturnId = Guid.Empty;
                if(package.Args.TryGetValue(2, out par))
                {
                    ReturnId = new Guid(par);
                }

                var MethodParams = (from p in package.Args
                                    where p.Key >= 3
                                    orderby p.Key
                                    select p.Value).ToArray();*/

                var data = package.Data.ToPackageData<PackageCallMethod>();
                return _ToRequest(data.EntityId, data.MethodName, data.ReturnId, data.MethodParams);
            }

            if(package.Code == ClientToServerOpCode.Release)
            {
                //var EntityId = new Guid(package.Args[0]);

                var data = package.Data.ToPackageData<PackageRelease>();
                _SoulProvider.Unbind(data.EntityId);
                return null;
            }

            return null;
        }
Ejemplo n.º 20
0
 /// <summary>
 /// 验查用户登录状态
 /// </summary>
 /// <returns>是否需要重新登录</returns>
 private bool CheckUser()
 {
     bool result = false;
     // 检查登录状态
     RequestPackage request = new RequestPackage()
     {
         Method = "post",
         RequestURL = "/otn/login/checkUser",
         RefererURL = "/otn/leftTicket/init",
     };
     request.Params.Add("_json_att", string.Empty);
     ArrayList list = HttpContext.Send(request);
     if (list.Count == 2)
     {
         string jsonResult = Encoding.UTF8.GetString(list[1] as byte[]);
         ResponseCheckLogin response = JsonConvert.DeserializeObject<ResponseCheckLogin>(jsonResult);
         result = response.Data.flag;
     }
     return result;
 }
Ejemplo n.º 21
0
        /// <summary>
        /// 发送请求
        /// </summary>
        /// <param name="package"></param>
        /// <returns></returns>
        public static ArrayList Send(RequestPackage package)
        {
            ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => { return(true); };
            ArrayList       list     = new ArrayList();
            HttpWebRequest  request  = null;
            HttpWebResponse response = null;
            string          url      = HOST_URL + package.RequestURL;
            string          method   = package.Method.ToString().ToLower();

            if (package.Method.ToLower() == EHttpMethod.Get.ToString().ToLower())
            {
                if (package.Params.Count > 0)
                {
                    url = string.Format("{0}?{1}", url, JoinParams(package.Params));
                }
                request                 = WebRequest.Create(url) as HttpWebRequest;
                request.Accept          = package.Accept;
                request.UserAgent       = "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALCJS; rv:11.0) like Gecko";
                request.CookieContainer = Cookie;
                request.Referer         = HOST_URL + package.RefererURL;
                request.Method          = method;
                request.Host            = "kyfw.12306.cn";
            }
            else
            {
                request = WebRequest.Create(url) as HttpWebRequest;
                string data = JoinParams(package.Params);
                byte[] b    = package.Encoding.GetBytes(data);
                request.ContentType     = "application/x-www-form-urlencoded; charset=UTF-8";
                request.Accept          = package.Accept;
                request.UserAgent       = "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALCJS; rv:11.0) like Gecko";
                request.CookieContainer = Cookie;
                request.Referer         = HOST_URL + package.RefererURL;
                request.Method          = method;
                request.ContentLength   = b.Length;
                request.KeepAlive       = true;
                using (Stream stream = request.GetRequestStream())
                {
                    stream.Write(b, 0, b.Length);
                }
            }
            try
            {
                //获取服务器返回的资源
                using (response = request.GetResponse() as HttpWebResponse)
                {
                    using (Stream stream = response.GetResponseStream())
                    {
                        if (response.Cookies.Count > 0)
                        {
                            Cookie.Add(response.Cookies);
                        }
                        list.Add(Cookie);
                        var         cookie   = GetAllCookies(Cookie);
                        List <byte> dataList = new List <byte>();
                        while (true)
                        {
                            int data = stream.ReadByte();
                            if (data == -1)
                            {
                                break;
                            }
                            dataList.Add((byte)data);
                        }
                        list.Add(dataList.ToArray());
                    }
                }
            }
            catch (WebException wex)
            {
                WebResponse wr = wex.Response;
                using (Stream st = wr.GetResponseStream())
                {
                    using (StreamReader sr = new StreamReader(st, System.Text.Encoding.UTF8))
                    {
                        list.Add(sr.ReadToEnd());
                    }
                }
            }
            catch (Exception ex)
            {
                list.Add("发生异常/n/r" + ex.Message);
            }
            return(list);
        }
Ejemplo n.º 22
0
 /// <summary> 获取模型信息 </summary>
 private ResponsePackage GetModelInfo(RequestPackage reqPackage)
 {
     ResponsePackage rspPackage = new ResponsePackage();
     AfterGetModelInfo(reqPackage, rspPackage);
     return rspPackage;
 }
Ejemplo n.º 23
0
 public ActionGetter GetActionGetter(RequestPackage package, GameSession session)
 {
     // 可以实现自定的ActionGetter子类
     return(new ActionGetter(package, session));
 }
 protected override void AfterGetModelInfo(RequestPackage reqPackag, ResponsePackage rspPackage)
 {
     base.AfterGetModelInfo(reqPackag, rspPackage);
 }
Ejemplo n.º 25
0
        public static String SaveTableV2(RequestPackage rqp)
        {
            // сюда заходим с пакетом в параметрах которого представлены строки таблицы
            // в формате [row_index][column_name]
            String msg = "MvcApplication2.Areas.Order.Models.F1Model.SaveTableV2(): \n";

            if (rqp == null)
            {
                throw new NullReferenceException();
            }
            if (rqp.Parameters == null || rqp.Parameters.Length == 0)
            {
                return(msg + "\tНет параметров для разбора.\n");
            }

            // надо сформировать запросы на сохранение для каждой строки
            // начинаем со строки с индексом 0
            // заканчиваем когда не найдётся параметра со следующим индексом строки
            Int32 ri = 0;

            for (; ; ri++)
            {
                // создаём новый пакет для очередной строки (пока пустой)
                RequestPackage rqpR = new RequestPackage
                {
                    SessionId  = rqp.SessionId,
                    Command    = "[Pharm-Sib].[dbo].[спецификации_таблица_строка_исполнить]",
                    Parameters = new RequestParameter[0]
                };

                // среди всех параметров исходного пакета ищем праметры для этой строки
                // и копируем их в новый пакет
                Regex re = new Regex(String.Format(@"\[{0}\]\[(\w+)\]", ri));

                foreach (RequestParameter p in rqp.Parameters)
                {
                    GroupCollection groups = re.Match(p.Name).Groups;
                    if (groups.Count == 2)
                    {
                        Array.Resize <RequestParameter>(ref rqpR.Parameters, rqpR.Parameters.Length + 1);
                        rqpR.Parameters[rqpR.Parameters.Length - 1] = new RequestParameter {
                            Name = groups[1].Value, Value = p.Value
                        };
                    }
                }

                // если ничего не нашли, то заканчиваем цикл
                if (rqpR.Parameters.Length == 0)
                {
                    break;
                }
                // если что-то есть - исполнить
                else
                {
                    rqpR.AddSessionIdToParameters();
                    rqpR.ConvertParametersToSqlCompatibleType(specTableRowStoredProcFields);
                    ResponsePackage rsp = rqpR.GetResponse("http://" + NskdEnv.DATA_SERVICE_HOST + ":" + NskdEnv.DATA_SERVICE_HOST_SQL_PORT_V12 + "/");
                    msg += rsp.Status;
                }
            }
            return(msg);
        }