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); } }
/// <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); } }
/// <summary>获取模型之后</summary> /// <remarks>用于派生类,可扩展用于:处理模型信息的自定义</remarks> /// <param name="reqPackag"></param> /// <param name="rspPackage"></param> protected virtual void AfterGetModelInfo(RequestPackage reqPackag, ResponsePackage rspPackage) { }
public F1Model(RequestPackage rqp) { // заход с фильтром для "filtered_view" NetSqlГарзаДоговоры = F1HomeData.F1GetДоговоры(rqp); }
private void _RequestPush(RequestPackage package) { System.Threading.Interlocked.Increment(ref _TotalRequest); _Requests.Enqueue(package); }
/// <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; }
/// <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; } }
/// <summary> /// init /// </summary> /// <param name="package"></param> /// <param name="session"></param> public ActionGetter(RequestPackage package, GameSession session) { ReqPackage = package; _session = session; OpCode = package.OpCode; }
public abstract void PackageRecieve(RequestPackage package, MessageInfo info);
public abstract ResponsePackage execute(ClientConnectionInfoArgs clientConnectionInfoArgs, RequestPackage requestPackage);
/// <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); }
public override ResponsePackage execute(ClientConnectionInfoArgs clientConnectionInfoArgs, RequestPackage requestPackage) { ResponsePackage responsePackage = new ResponsePackage(); responsePackage.Response = "XiepPong"; return(responsePackage); }
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); }
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(); }
/// <summary> /// init /// </summary> /// <param name="package"></param> public ActionGetter(RequestPackage package) { ReqPackage = package; }
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(); }
private void _RequestPush(RequestPackage package) { lock(Peer._LockRequest) { _Requests.Enqueue(package); Peer.TotalRequest++; } }
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); }
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; }
/// <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; }
/// <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); }
/// <summary> 获取模型信息 </summary> private ResponsePackage GetModelInfo(RequestPackage reqPackage) { ResponsePackage rspPackage = new ResponsePackage(); AfterGetModelInfo(reqPackage, rspPackage); return rspPackage; }
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); }
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); }