internal void RemoveEmptyCollectionValues() { try { var RemoveIndexs = new List <int>(); for (int i = 0; i < WebRequestItems.Count; i++) { WebRequestParamsItem WebRequestItem = WebRequestItems[i]; if (WebRequestItem != null && WebRequestItem.Key != null && WebRequestItem.Value != null) { if (WebRequestItem.Key.Trim() == string.Empty && WebRequestItem.Value.Trim() == string.Empty) { RemoveIndexs.Add(i); } } else { RemoveIndexs.Add(i); } } foreach (var ItemIndex in RemoveIndexs) { WebRequestItems.RemoveAt(ItemIndex); } } catch { } }
private void WebRequestParamsUpdate(MResponse ClientResponse, MNetworkClient NetworkClient) { if (!AccessController.IsPrivilege(NetworkClient, "requests.edit")) { return; } try { var RequestParamsItems = Package.Unpacking <MBinding_WebRequestSaver>(ClientResponse.DataBytes); using (var db = new DatabaseContext()) { var DbRequestParamsItems = new List <WebRequestParamsItem>(); foreach (var RequestParamsItem in RequestParamsItems.Params) { WebRequestParamsItem DbRequestParam = db.WebRequestParamsItems.FirstOrDefault (x => x.Id == RequestParamsItem.Id); if (DbRequestParam != null) { DbRequestParam.Key = RequestParamsItem.Key; DbRequestParam.Value = RequestParamsItem.Value; DbRequestParam.Description = RequestParamsItem.Description; db.SaveChanges(); DbRequestParamsItems.Add(DbRequestParam); } else { //if (db.WebRequestParamsItems.FirstOrDefault(x => x.Key == RequestParamsItem.Key) == null) //{ DbRequestParam = RequestParamsItem; DbRequestParam.Key = (DbRequestParam.Key != null) ? DbRequestParam.Key : ""; DbRequestParam.Value = (DbRequestParam.Value != null) ? DbRequestParam.Value : ""; DbRequestParam.Description = (DbRequestParam.Description != null) ? DbRequestParam.Description : ""; DbRequestParam.WebRequestItemId = RequestParamsItems.Item.Id; if (DbRequestParam.Key.Trim() != string.Empty || DbRequestParam.Value.Trim() != string.Empty) { db.WebRequestParamsItems.Add(DbRequestParam); db.SaveChanges(); DbRequestParamsItems.Add(DbRequestParam); } //} } } if (DbRequestParamsItems.Count != 0) { Sender.Broadcast("WebRequestParamsItem.Update.Confirm", DbRequestParamsItems.ToArray()); } } } catch (DbException ex) { Sender.Send(NetworkClient, "WebRequestParamsItem.Update.Error"); } }
internal void UpdateDataGrid_OnTextBox() { ObservableCollection <WebRequestParamsItem> Collection = GetLinkRequestToCollection.GetCollection(EditorRequestData.RequestLink); if (Collection != null) { WebRequestParamsItem[] CollectionArray; CollectionArray = WebRequestItems.ToArray(); foreach (var WebRequestItem in Collection) { if (WebRequestItem != null && WebRequestItem.Key != null) { WebRequestParamsItem GWebRequestItem = Array.Find(CollectionArray, x => x.Key == WebRequestItem.Key); if (GWebRequestItem == null) { WebRequestItems.Add(WebRequestItem); } else { GWebRequestItem.Key = WebRequestItem.Key; GWebRequestItem.Value = WebRequestItem.Value; DataGrid_FormRequestData.Items.Refresh(); } } } CollectionArray = Collection.ToArray(); var RemoveIndexs = new List <int>(); for (int i = 0; i < WebRequestItems.Count; i++) { WebRequestParamsItem RequestParamsItem = WebRequestItems[i]; if (RequestParamsItem != null && RequestParamsItem.Key != null) { if (!Array.Exists(CollectionArray, x => x.Key == RequestParamsItem.Key)) { WebRequestItems.RemoveAt(i); GeneralLogic.DataGrid_RemoveParamsById(RequestParamsItem.Id); } } } GeneralLogic.DataGrid_UpdateParamsBroadcast(); } else { WebRequestItems.Clear(); if (RequestDirectory != null) { GeneralLogic.DataGrid_RemoveParamsAll(RequestDirectory.WebRequestId); } } }
/// <summary> /// Обновляет список параметров запроса /// </summary> /// <param name="UC">EditorWebRequestControl</param> public static void RequestParamsUpdate_Confirm(EditorWebRequestControl UC) { NetworkDelegates.Add(delegate(MResponse ServerResponse) { if (UC.RequestDirectory == null) { return; } var RequestParamsItems = Package.Unpacking <WebRequestParamsItem[]>(ServerResponse.DataBytes); for (int i = 0; i < RequestParamsItems.Length; i++) { bool IsEdit = false; WebRequestParamsItem ParamsItem = RequestParamsItems[i]; if (ParamsItem.WebRequestItemId != UC.RequestDirectory.WebRequestId) { return; } if (UC.WebRequestItems.Count != 0) { for (int k = 0; k < UC.WebRequestItems.Count; k++) { if (UC.WebRequestItems[k].Id == ParamsItem.Id || UC.WebRequestItems[k].Key == ParamsItem.Key) { UC.WebRequestItems[k] = ParamsItem; IsEdit = true; break; } } if (!IsEdit) { UC.WebRequestItems.Add(ParamsItem); } } } //UC.WebRequestItems = new ObservableCollection<WebRequestParamsItem>(RequestParamsItems); //UC.DataGrid_FormRequestData.Items.Refresh(); }, UC.Dispatcher, -1, "WebRequestParamsItem.Update.Confirm", UC.GeneralLogic.UserControl_Uid, true); }
private static ObservableCollection <WebRequestParamsItem> CutEqualMark(string[] NbspArrayCut) { ObservableCollection <WebRequestParamsItem> WebRequestItems = new ObservableCollection <WebRequestParamsItem>(); for (int i = 0; i < NbspArrayCut.Length; i++) { string EqualItem = NbspArrayCut[i]; int EqualMark = EqualItem.IndexOf('='); if (EqualItem.Length != 1) { if (EqualMark != -1) { string[] Cuts = EqualItem.Split('='); var WebRequestItem = new WebRequestParamsItem(); if (Cuts[0].Trim() != string.Empty) { WebRequestItem.Key = (Cuts[0].Trim() != string.Empty) ? Cuts[0] : ""; WebRequestItem.Value = (Cuts[1].Trim() != string.Empty) ? Cuts[1] : ""; WebRequestItems.Add(WebRequestItem); } } else { var WebRequestItem = new WebRequestParamsItem(); WebRequestItem.Key = EqualItem; WebRequestItem.Value = ""; WebRequestItems.Add(WebRequestItem); } } } return((WebRequestItems.Count == 0) ? null : WebRequestItems); }
public static WebResponseTemplate Send(string Method, string Link, ObservableCollection <WebRequestParamsItem> FormRequestsData = null) { var WebResponse = new WebResponseTemplate(); // Создать объект запроса //var request = WebRequest.Create(Link); var request = (HttpWebRequest)WebRequest.Create(Link); request.Method = Method; if (Method != "GET") { request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; if (FormRequestsData != null) { string RequestParams = ""; for (int i = 0; i < FormRequestsData.Count; i++) { WebRequestParamsItem ParamsItem = FormRequestsData[i]; if (i == FormRequestsData.Count - 1) { RequestParams += $"{ParamsItem.Key}={ParamsItem.Value}"; } else { RequestParams += $"{ParamsItem.Key}={ParamsItem.Value}&"; } } byte[] DataStream = Encoding.UTF8.GetBytes(RequestParams); request.ContentLength = DataStream.Length; using (var stream = request.GetRequestStream()) stream.Write(DataStream, 0, DataStream.Length); } } try { // Получить ответ с сервера HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Получаем поток данных из ответа using (var reader = new StreamReader(response.GetResponseStream())) WebResponse.Response = reader.ReadToEnd(); WebResponse.Info = GetResponseInfo(request, response); } catch (WebException ex) { if (ex.Response != null) { using (StreamReader stream = new StreamReader(ex.Response.GetResponseStream())) WebResponse.Response = stream.ReadToEnd(); } WebResponse.Info = GetResponseInfo(request, ex.Response); } return(WebResponse); }