From 95d48086aad8e4289bd09d723d012dcfa20baf94 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=91=A3=E9=94=9F?= <1325226573@qq.com>
Date: Wed, 6 Jul 2022 20:41:57 +0800
Subject: [PATCH] =?UTF-8?q?'=E6=B7=BB=E5=8A=A0=E4=BA=86Subscription?=
 =?UTF-8?q?=E7=9A=84Request=E5=92=8CResponse=E4=BF=AE=E6=94=B9=E4=BA=86Azu?=
 =?UTF-8?q?reQuery=E7=9A=84=E4=B8=80=E8=A1=8C=E4=BB=A3=E7=A0=81'?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Resources/Resource.designer.cs            |  2 +-
 azure_m/azure_m/azure_m/App.xaml.cs           |  2 +-
 .../Models/RequestModels/Subscriptions.cs     | 26 ++++++++
 .../Models/ResponseModels/Subscriptions.cs    | 62 +++++++++++--------
 .../azure_m/azure_m/Services/AzureQuery.cs    |  3 +-
 .../azure_m/ViewModels/MypageViewModel.cs     | 10 +++
 .../azure_m/ViewModels/VNDetailsViewModel.cs  |  6 +-
 .../azure_m/azure_m/Views/AllServicePage.xaml |  5 --
 .../azure_m/Views/AllServicePage.xaml.cs      |  8 +--
 .../azure_m/azure_m/Views/LoginPage.xaml.cs   |  2 +-
 .../azure_m/azure_m/Views/MainPage.xaml.cs    |  7 ++-
 azure_m/azure_m/azure_m/Views/Mypage.xaml     | 12 ++++
 azure_m/azure_m/azure_m/Views/Mypage.xaml.cs  | 20 ++++++
 azure_m/azure_m/azure_m/azure_m.csproj        |  3 +
 14 files changed, 124 insertions(+), 44 deletions(-)
 create mode 100644 azure_m/azure_m/azure_m/Models/RequestModels/Subscriptions.cs
 create mode 100644 azure_m/azure_m/azure_m/ViewModels/MypageViewModel.cs
 create mode 100644 azure_m/azure_m/azure_m/Views/Mypage.xaml
 create mode 100644 azure_m/azure_m/azure_m/Views/Mypage.xaml.cs

diff --git a/azure_m/azure_m/azure_m.Android/Resources/Resource.designer.cs b/azure_m/azure_m/azure_m.Android/Resources/Resource.designer.cs
index 2ce0df59..a8fbecc4 100644
--- a/azure_m/azure_m/azure_m.Android/Resources/Resource.designer.cs
+++ b/azure_m/azure_m/azure_m.Android/Resources/Resource.designer.cs
@@ -14,7 +14,7 @@ namespace azure_m.Droid
 {
 	
 	
-	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.2.0.155")]
+	[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.3.3.31")]
 	public partial class Resource
 	{
 		
diff --git a/azure_m/azure_m/azure_m/App.xaml.cs b/azure_m/azure_m/azure_m/App.xaml.cs
index 488e78d7..dfc29244 100644
--- a/azure_m/azure_m/azure_m/App.xaml.cs
+++ b/azure_m/azure_m/azure_m/App.xaml.cs
@@ -32,7 +32,7 @@ namespace azure_m
        
         private void App_LoginComplete(object sender,EventArgs e)
         {
-
+      
             MainPage=new AppShell();
         }
         
diff --git a/azure_m/azure_m/azure_m/Models/RequestModels/Subscriptions.cs b/azure_m/azure_m/azure_m/Models/RequestModels/Subscriptions.cs
new file mode 100644
index 00000000..8ab75e9f
--- /dev/null
+++ b/azure_m/azure_m/azure_m/Models/RequestModels/Subscriptions.cs
@@ -0,0 +1,26 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace azure_m.Models.RequestModels
+{
+    namespace SubscriptionsOperations
+    {
+        namespace List
+        {
+            public class ListSubscriptionsRequest : IRequest<ListSubscriptionsUri, ListSubscriptionsBody>
+            {
+
+            }
+            public class ListSubscriptionsBody
+            {
+
+            }
+            public class ListSubscriptionsUri//api-version=2020-01-01
+            {
+
+            }
+        }
+
+    }
+}
diff --git a/azure_m/azure_m/azure_m/Models/ResponseModels/Subscriptions.cs b/azure_m/azure_m/azure_m/Models/ResponseModels/Subscriptions.cs
index e2909845..df9adce9 100644
--- a/azure_m/azure_m/azure_m/Models/ResponseModels/Subscriptions.cs
+++ b/azure_m/azure_m/azure_m/Models/ResponseModels/Subscriptions.cs
@@ -4,35 +4,45 @@
     {
         public class SubscriptionsResponse
         {
-            public int count { get; set; }
-
-            public SubscriptionId[] data { get; set; }
-
-            /*
-
-            public Facet[] facets;
-
-            public string resultTruncated;
-
-            */
+            public string nextLink;
+            public Subscription[] value;
         }
 
-        public class SubscriptionId
+        public class Subscription
         {
-            public string id { get; set; }
-
-            public string subscriptionId { get; set; }
-
-            public string status { get; set; }
-
-            /*
-
-            public ManageGroup manageGroup;
-
-            public string secureScore;
-
-            */
-
+            public string authorizationSource;
+            public string displayName;
+            public string id;
+            public ManagedByTenant[] managedByTenants;
+            public SubscriptionState state;
+            public string subscriptionId;
+            public SubscriptionPolicies subscriptionPolicies;
+            public object tags;
+            public string tenantId;
+        }
+        public class ManagedByTenant
+        {
+            public string tenantId;
+        }
+        public class SubscriptionState
+        {
+            public string Deleted;
+            public string Disabled;
+            public string Enabled;
+            public string PastDue;
+            public string Warned;
+        }
+        public class SubscriptionPolicies
+        {
+            public string locationPlacementId;
+            public string quotaId;
+            public spendingLimit spendingLimit;
+        }
+        public class spendingLimit
+        {
+            public string CurrentPeriodOff;
+            public string Off;
+            public string On;
         }
     }
 }
diff --git a/azure_m/azure_m/azure_m/Services/AzureQuery.cs b/azure_m/azure_m/azure_m/Services/AzureQuery.cs
index 8228bee1..636e9c97 100644
--- a/azure_m/azure_m/azure_m/Services/AzureQuery.cs
+++ b/azure_m/azure_m/azure_m/Services/AzureQuery.cs
@@ -107,8 +107,9 @@ namespace azure_m.Services
                     query = subscriptionSql,
                 })
                 .ReceiveJson<SubscriptionsResponse>();
+            subscriptionId = res.value[0].subscriptionId;
 
-            subscriptionId = res.data[0].subscriptionId;
+           // subscriptionId = res.data[0].subscriptionId;
         }
 
 
diff --git a/azure_m/azure_m/azure_m/ViewModels/MypageViewModel.cs b/azure_m/azure_m/azure_m/ViewModels/MypageViewModel.cs
new file mode 100644
index 00000000..0b6c999b
--- /dev/null
+++ b/azure_m/azure_m/azure_m/ViewModels/MypageViewModel.cs
@@ -0,0 +1,10 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace azure_m.ViewModels
+{
+    internal class MypageViewModel
+    {
+    }
+}
diff --git a/azure_m/azure_m/azure_m/ViewModels/VNDetailsViewModel.cs b/azure_m/azure_m/azure_m/ViewModels/VNDetailsViewModel.cs
index 7a0174a3..34f4fddd 100644
--- a/azure_m/azure_m/azure_m/ViewModels/VNDetailsViewModel.cs
+++ b/azure_m/azure_m/azure_m/ViewModels/VNDetailsViewModel.cs
@@ -8,8 +8,8 @@ using System.Threading.Tasks;
 using azure_m.Services;
 using System.Diagnostics;
 using System.Linq;
-using azure_m.Models.RequestModels.VNReuestModels.CreateOrUpdate;
-using azure_m.Models.RequestModels.NetworkInterfaceRequestModels;
+using azure_m.Models.RequestModels.VN.CreateOrUpdate;
+using azure_m.Models.RequestModels.NetworkInterface.CreateOrUpdate;
 
 
 namespace azure_m.ViewModels
@@ -36,7 +36,7 @@ namespace azure_m.ViewModels
         
         public Command CreateOrUpdateVN { get; set; }
 
-        public CreateOrupdateVNRequest vn = new CreateOrupdateVNRequest();
+        public CreateOrUpdateVNRequest vn = new CreateOrUpdateVNRequest();
         public VNDetailsViewModel()
         {
 #if DEBUG
diff --git a/azure_m/azure_m/azure_m/Views/AllServicePage.xaml b/azure_m/azure_m/azure_m/Views/AllServicePage.xaml
index 2548cdc3..b21a442b 100644
--- a/azure_m/azure_m/azure_m/Views/AllServicePage.xaml
+++ b/azure_m/azure_m/azure_m/Views/AllServicePage.xaml
@@ -3,11 +3,6 @@
              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:viewmodels="clr-namespace:azure_m.ViewModels" x:DataType="viewmodels:AllServiceViewModel"
              x:Class="azure_m.Views.AllServicePage"
               Title="鎵€鏈夋湇鍔�">
-    <ContentPage.ToolbarItems>
-        <ToolbarItem x:Name="Alert" IconImageSource="alert0.png" Clicked="OnAlert_Clicked" />
-        <ToolbarItem x:Name="Setting" IconImageSource="setting0.png" Clicked="OnSetting_Clicked" />
-        <ToolbarItem x:Name="My" IconImageSource="user0.png" Clicked="OnMy_Clicked" />
-    </ContentPage.ToolbarItems>
     <ContentPage.Resources>
         <ResourceDictionary>
             <Color x:Key="Accent">#96d1ff</Color>
diff --git a/azure_m/azure_m/azure_m/Views/AllServicePage.xaml.cs b/azure_m/azure_m/azure_m/Views/AllServicePage.xaml.cs
index c1abb813..72429aa0 100644
--- a/azure_m/azure_m/azure_m/Views/AllServicePage.xaml.cs
+++ b/azure_m/azure_m/azure_m/Views/AllServicePage.xaml.cs
@@ -21,17 +21,17 @@ namespace azure_m.Views
 
         private async void ImageButton_Clicked(object sender, EventArgs e)
         {
-            await Navigation.PushAsync(new AllResourcesPage());
+            await Navigation.PushAsync(new MainPage());
         }
 
         private async void ImageButton_Clicked_1(object sender, EventArgs e)
         {
-            await Navigation.PushAsync(new AllResourcesPage());
+            await Navigation.PushAsync(new VirtualMachinePage());
         }
 
         private async void ImageButton_Clicked_2(object sender, EventArgs e)
         {
-            await Navigation.PushAsync(new AllResourcesPage());
+            await Navigation.PushAsync(new ResourceGroupPage());
         }
 
         private async void ImageButton_Clicked_3(object sender, EventArgs e)
@@ -51,7 +51,7 @@ namespace azure_m.Views
 
         private async void ImageButton_Clicked_6(object sender, EventArgs e)
         {
-            await Navigation.PushAsync(new AllResourcesPage());
+            await Navigation.PushAsync(new SubscribePage());
         }
 
         private async void ImageButton_Clicked_7(object sender, EventArgs e)
diff --git a/azure_m/azure_m/azure_m/Views/LoginPage.xaml.cs b/azure_m/azure_m/azure_m/Views/LoginPage.xaml.cs
index 0c1315db..3dd41648 100644
--- a/azure_m/azure_m/azure_m/Views/LoginPage.xaml.cs
+++ b/azure_m/azure_m/azure_m/Views/LoginPage.xaml.cs
@@ -26,7 +26,7 @@ namespace azure_m.Views
         {
             try
             {
-                await QueryInfo.getTokenAsync();
+                //await QueryInfo.getTokenAsync();
                 LoginComplete?.Invoke(this, EventArgs.Empty);
             }
             catch(Exception ex)
diff --git a/azure_m/azure_m/azure_m/Views/MainPage.xaml.cs b/azure_m/azure_m/azure_m/Views/MainPage.xaml.cs
index 3545d98e..2c274921 100644
--- a/azure_m/azure_m/azure_m/Views/MainPage.xaml.cs
+++ b/azure_m/azure_m/azure_m/Views/MainPage.xaml.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.ComponentModel;
 using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
 
 namespace azure_m.Views
 {
@@ -134,10 +135,11 @@ namespace azure_m.Views
             GetResources(0);
         }
 
-        public void OnMyIcon_Clicked(object sender, EventArgs e)
+        public async void OnMyIcon_Clicked(object sender, EventArgs e)
         {
             //this.Navigation.PushAsync(new MyPage());
-            DisplayAlert("Alert", "My page", "OK");
+            //DisplayAlert("Alert", "My page", "OK");
+            await Navigation.PushAsync(new Mypage(),true);
         }
 
         public void OnSetting_Clicked(object sender, EventArgs e)
@@ -149,6 +151,7 @@ namespace azure_m.Views
         public void OnAlert_Clicked(object sender, EventArgs e)
         {
             //this.Navigation.PushAsync(new AlertsPage());
+            
             DisplayAlert("Alert", "AlertPage", "OK");
         }
 
diff --git a/azure_m/azure_m/azure_m/Views/Mypage.xaml b/azure_m/azure_m/azure_m/Views/Mypage.xaml
new file mode 100644
index 00000000..473b30b8
--- /dev/null
+++ b/azure_m/azure_m/azure_m/Views/Mypage.xaml
@@ -0,0 +1,12 @@
+锘�<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
+             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+             x:Class="azure_m.Views.Mypage">
+    <ContentPage.Content>
+        <StackLayout>
+            <Label Text="Welcome to Xamarin.Forms!"
+                VerticalOptions="CenterAndExpand" 
+                HorizontalOptions="CenterAndExpand" />
+        </StackLayout>
+    </ContentPage.Content>
+</ContentPage>
\ No newline at end of file
diff --git a/azure_m/azure_m/azure_m/Views/Mypage.xaml.cs b/azure_m/azure_m/azure_m/Views/Mypage.xaml.cs
new file mode 100644
index 00000000..1d9c70c1
--- /dev/null
+++ b/azure_m/azure_m/azure_m/Views/Mypage.xaml.cs
@@ -0,0 +1,20 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+using Xamarin.Forms;
+using Xamarin.Forms.Xaml;
+
+namespace azure_m.Views
+{
+    [XamlCompilation(XamlCompilationOptions.Compile)]
+    public partial class Mypage : ContentPage
+    {
+        public Mypage()
+        {
+            InitializeComponent();
+        }
+    }
+}
\ No newline at end of file
diff --git a/azure_m/azure_m/azure_m/azure_m.csproj b/azure_m/azure_m/azure_m/azure_m.csproj
index 107e014b..ada40b09 100644
--- a/azure_m/azure_m/azure_m/azure_m.csproj
+++ b/azure_m/azure_m/azure_m/azure_m.csproj
@@ -39,6 +39,9 @@
     <EmbeddedResource Update="Views\LogViewPage.xaml">
       <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
     </EmbeddedResource>
+    <EmbeddedResource Update="Views\Mypage.xaml">
+      <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
+    </EmbeddedResource>
     <EmbeddedResource Update="Views\Page1.xaml">
       <Generator>MSBuild:UpdateDesignTimeXaml</Generator>
     </EmbeddedResource>
-- 
GitLab