From d23d0d328a47cf92338d8ba5b0a97204607c1c9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BD=D1=8E=D1=82=D0=B8=D0=BD=20=D0=9C=D0=B0=D0=BA?= =?UTF-8?q?=D1=81=D0=B8=D0=BC=20=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB=D0=B0=D0=B5?= =?UTF-8?q?=D0=B2=D0=B8=D1=87?= Date: Thu, 15 Jul 2021 22:24:08 +0300 Subject: [PATCH] =?UTF-8?q?#1183=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D1=8F=D0=B5=D1=82=20GroupChangeSettings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SafetyEnums/{Changes.cs => Change.cs} | 200 +++++++++--------- .../Enums/SafetyEnums/GroupChangeSettings.cs | 16 +- 2 files changed, 105 insertions(+), 111 deletions(-) rename VkNet/Enums/SafetyEnums/{Changes.cs => Change.cs} (86%) diff --git a/VkNet/Enums/SafetyEnums/Changes.cs b/VkNet/Enums/SafetyEnums/Change.cs similarity index 86% rename from VkNet/Enums/SafetyEnums/Changes.cs rename to VkNet/Enums/SafetyEnums/Change.cs index 2f7a4e17e..706c111d0 100644 --- a/VkNet/Enums/SafetyEnums/Changes.cs +++ b/VkNet/Enums/SafetyEnums/Change.cs @@ -1,101 +1,101 @@ -using System; -using Newtonsoft.Json; -using VkNet.Utils; -using VkNet.Utils.JsonConverter; -using VkNet.Enums.SafetyEnums; -namespace VkNet.Enums.SafetyEnums -{ - /// - /// Изменение настроек сообщества - /// - [Serializable] - public class Changes - { - /// - /// Название секции или раздела, который был изменён - /// - [JsonProperty("{FIELD}")] - public string Field { get; set; } - - /// - /// Новое значение - /// - [JsonProperty("new_value")] - public string NewValue { get; set; } - - /// - /// Старое значение - /// - [JsonProperty("old_value")] - public string OldValue { get; set; } - - #region Методы - - /// - /// - /// - /// - public static Changes FromJson(VkResponse response) - { - var field = ""; - if(response["title"]!=null) - field = "title"; - else if(response["description"]!=null) - field = "description"; - else if(response["access"]!=null) - field = "access"; - else if(response["screen_name"]!=null) - field = "screen_name"; - else if(response["public_category"]!=null) - field = "public_category"; - else if(response["age_limits"]!=null) - field = "age_limits"; - else if(response["website"]!=null) - field = "website"; - else if(response["public_subcategory"]!=null) - field = "public_subcategory"; - - else if(response["enable_status_default"]!=null) - field = "enable_status_default"; - else if(response["enable_audio"]!=null) - field = "enable_audio"; - else if(response["enable_photo"]!=null) - field = "enable_photo"; - else if(response["enable_video"]!=null) - field = "enable_video"; - else if(response["enable_market"]!=null) - field = "enable_market"; - if(field!="") - return new Changes - { - Field = field, - NewValue = response[field]["new_value"], - OldValue = response[field]["old_value"] - }; else return new Changes - { - Field = field, - NewValue = null, - OldValue = null - }; - } - - /// - /// Преобразование класса в - /// - /// Ответ сервера. - /// Результат преобразования в - public static implicit operator Changes(VkResponse response) - { - if (response == null) - { - return null; - } - - return response.HasToken() - ? FromJson(response) - : null; - } - - #endregion - } +using System; +using Newtonsoft.Json; +using VkNet.Utils; +using VkNet.Utils.JsonConverter; +using VkNet.Enums.SafetyEnums; +namespace VkNet.Enums.SafetyEnums +{ + /// + /// Изменение настроек сообщества + /// + [Serializable] + public class Change + { + /// + /// Название секции или раздела, который был изменён + /// + [JsonProperty("{FIELD}")] + public string Field { get; set; } + + /// + /// Новое значение + /// + [JsonProperty("new_value")] + public string NewValue { get; set; } + + /// + /// Старое значение + /// + [JsonProperty("old_value")] + public string OldValue { get; set; } + + #region Методы + + /// + /// + /// + /// + public static Change FromJson(VkResponse response) + { + var field = ""; + if(response["title"]!=null) + field = "title"; + else if(response["description"]!=null) + field = "description"; + else if(response["access"]!=null) + field = "access"; + else if(response["screen_name"]!=null) + field = "screen_name"; + else if(response["public_category"]!=null) + field = "public_category"; + else if(response["age_limits"]!=null) + field = "age_limits"; + else if(response["website"]!=null) + field = "website"; + else if(response["public_subcategory"]!=null) + field = "public_subcategory"; + + else if(response["enable_status_default"]!=null) + field = "enable_status_default"; + else if(response["enable_audio"]!=null) + field = "enable_audio"; + else if(response["enable_photo"]!=null) + field = "enable_photo"; + else if(response["enable_video"]!=null) + field = "enable_video"; + else if(response["enable_market"]!=null) + field = "enable_market"; + if(field!="") + return new Change + { + Field = field, + NewValue = response[field]["new_value"], + OldValue = response[field]["old_value"] + }; else return new Change + { + Field = field, + NewValue = null, + OldValue = null + }; + } + + /// + /// Преобразование класса в + /// + /// Ответ сервера. + /// Результат преобразования в + public static implicit operator Change(VkResponse response) + { + if (response == null) + { + return null; + } + + return response.HasToken() + ? FromJson(response) + : null; + } + + #endregion + } } \ No newline at end of file diff --git a/VkNet/Enums/SafetyEnums/GroupChangeSettings.cs b/VkNet/Enums/SafetyEnums/GroupChangeSettings.cs index 0814fac2e..9c77691fd 100644 --- a/VkNet/Enums/SafetyEnums/GroupChangeSettings.cs +++ b/VkNet/Enums/SafetyEnums/GroupChangeSettings.cs @@ -1,7 +1,7 @@ using System; +using System.Collections.Generic; using Newtonsoft.Json; using VkNet.Utils; -using VkNet.Utils.JsonConverter; using VkNet.Enums.SafetyEnums; namespace VkNet.Model.GroupUpdate @@ -22,10 +22,9 @@ public class GroupChangeSettings /// Описание внесённых изменений /// [JsonProperty("changes")] - public Changes Changes { get; set; } + public Dictionary Changes { get; set; } - - #region Методы + #region Методы /// /// @@ -33,12 +32,7 @@ public class GroupChangeSettings /// public static GroupChangeSettings FromJson(VkResponse response) { - return new GroupChangeSettings - { - UserId = response["user_id"], - Changes = response["changes"], - - }; + return JsonConvert.DeserializeObject(response.RawJson); } /// @@ -58,6 +52,6 @@ public static implicit operator GroupChangeSettings(VkResponse response) : null; } - #endregion + #endregion } } \ No newline at end of file