黄贺彬 6 年 前
コミット
c9ca3236c5

+ 1 - 1
TEAMModelOS.Model/Common/Models/JwtBlackRecord.cs

@@ -6,7 +6,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Common.Models
 {
-    [TableSpaceAttribute(Name = "Common")]
+    [TableSpace(Name = "Common")]
     public class JwtBlackRecord :TableEntity
     {
         public string Jti { get; set; } 

+ 1 - 1
TEAMModelOS.Model/Common/Models/LoginInfo.cs

@@ -9,7 +9,7 @@ namespace TEAMModelOS.Model.Common.Models
     /// <summary>
     /// 登录信息
     /// </summary>
-    [TableSpaceAttribute(Name = "Common")]
+    [TableSpace(Name = "Common")]
     public class LoginInfo : TableEntity
     {
         public string TeamModelId { get; set; }

+ 30 - 0
TEAMModelOS.Model/Common/Models/Region.cs

@@ -0,0 +1,30 @@
+using MessagePack;
+using Microsoft.WindowsAzure.Storage.Table;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
+
+namespace TEAMModelOS.Model.Common.Models
+{
+    [TableSpace(Name = "Common")]
+    [MessagePackObject(keyAsPropertyName: true)]
+    public class Region :TableEntity
+    {
+        [JsonProperty(PropertyName = "sysAddID")]
+        public int SysAddID { get; set; }
+        public string CountryId { get; set; }
+        public string CountryName { get; set; }
+        public string ProvinceId { get; set; }
+        public string ProvinceName { get; set; }
+        public string CityId { get; set; }
+        public string CityName { get; set; }
+        public string DistrictId { get; set; }
+        public string DistrictName { get; set; }
+        public string AreaType { get; set; }
+        public string Lang { get; set; }
+        public double Lng { get; set; }
+        public double Lat { get; set; }
+    }
+}

+ 17 - 0
TEAMModelOS.Model/Common/Models/Role.cs

@@ -0,0 +1,17 @@
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
+
+namespace TEAMModelOS.Model.Common.Models
+{
+    [TableSpace(Name = "Common")]
+    public class Role : TableEntity
+    {
+        public string Name { get; set; }
+        public string Code { get; set; }
+        public int Level { get; set; }
+        public int Status { get; set; }
+    }
+}

+ 1 - 1
TEAMModelOS.Model/Common/Models/RoleUser.cs

@@ -7,7 +7,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 namespace TEAMModelOS.Model.Common.Models
 {
 
-    [TableSpaceAttribute(Name = "Common")]
+    [TableSpace(Name = "Common")]
     public class RoleUser : TableEntity
     {
         public string Name { get; set; }

+ 30 - 0
TEAMModelOS.Model/Common/Models/School.cs

@@ -0,0 +1,30 @@
+using Microsoft.WindowsAzure.Storage.Table;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Table;
+
+namespace TEAMModelOS.Model.Common.Models
+{
+    [TableSpace(Name = "Common")]
+    public class School :TableEntity
+    {
+        public string Code { get; set; }
+        public string Name { get; set; }
+        public string CountryId { get; set; }
+        public string CountryName { get; set; }
+        public string ProvinceId { get; set; }
+        public string ProvinceName { get; set; }
+        public string CityId { get; set; }
+        public string CityName { get; set; }
+        public string Address { get; set; }
+        public string TypeId { get; set; }
+        public string TypeName { get; set; }
+        public string Source { get; set; }
+        public string DistId { get; set; }
+        public string DistName { get; set; }
+        public string SchoolDist { get; set; }
+        public string AliasName { get; set; }
+        public string ShortCode { get; set; }
+    }
+}

+ 1 - 1
TEAMModelOS.Model/Common/Models/TeamModelUser.cs

@@ -6,7 +6,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Common.Models
 {
-    [TableSpaceAttribute(Name = "Common")]
+    [TableSpace(Name = "Common")]
     public class TeamModelUser : TableEntity
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/Period.cs

@@ -6,7 +6,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Syllabus.Models
 {
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public  class Period : TableEntity
     {
 

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/PeriodSubject.cs

@@ -6,7 +6,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Syllabus.Models
 {
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public  class PeriodSubject : Period
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/PeriodSubjectEdition.cs

@@ -5,7 +5,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Syllabus.Models
 {
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public class PeriodSubjectEdition : PeriodSubject
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/PeriodSubjectEditionTerm.cs

@@ -9,7 +9,7 @@ namespace TEAMModelOS.Model.Syllabus.Models
     /// <summary>
     /// 学段册别表
     /// </summary>
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public class PeriodSubjectEditionTerm : PeriodSubjectEdition
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/StandardTextbook.cs

@@ -10,7 +10,7 @@ namespace TEAMModelOS.Model.Syllabus.Models
     /// <summary>
     /// 标准教材
     /// </summary>
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public class StandardTextbook : TableEntity
     {
         /// <summary>

+ 1 - 1
TEAMModelOS.Model/Syllabus/Models/TeacherTextbook.cs

@@ -5,7 +5,7 @@ using TEAMModelOS.SDK.Context.Attributes.Table;
 
 namespace TEAMModelOS.Model.Syllabus.Models
 {
-    [TableSpaceAttribute(Name = "Syllabus")]
+    [TableSpace(Name = "Syllabus")]
     public class TeacherTextbook : StandardTextbook
     {
         /// <summary>

+ 109 - 51
TEAMModelOS.SDK/Module/AzureTable/Implements/AzureTableDBRepository.cs

@@ -148,26 +148,28 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
             return entitys.Count;
         }
 
-        public async Task<T> FindById<T>(string id) where T : TableEntity, new()
+        public async Task<T> FindByRowKey<T>(string RowKey) where T : TableEntity, new()
         {
             string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
-            if (!string.IsNullOrEmpty(id))
+            if (!string.IsNullOrEmpty(RowKey))
             {
-                exQuery.Where(TableQuery.GenerateFilterCondition("Id", QueryComparisons.Equal, id));
-                return await QueryObject<T>(exQuery , TableName);
+                string typeStr = SwitchType(RowKey, "RowKey");
+                exQuery.Where(typeStr);
+                // exQuery.Where(TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, id));
+                return await QueryObject<T>(exQuery, TableName);
             }
             else
             {
-                return null; 
+                return null;
             }
-           
+
 
         }
 
         public async Task<List<T>> FindListByDict<T>(Dictionary<string, object> dict) where T : TableEntity, new()
         {
-            string TableName=  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
             StringBuilder builder = new StringBuilder();
             if (null != dict && dict.Count > 0)
@@ -178,13 +180,19 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 {
                     if (dict[key] != null && !string.IsNullOrEmpty(dict[key].ToString()))
                     {
+                        string typeStr = SwitchType(dict[key], key);
+
                         if (index == 1)
                         {
-                            builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            //builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append(typeStr);
+
                         }
                         else
                         {
-                            builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            //builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append("  " + TableOperators.And + "  " + typeStr);
+
                         }
                         index++;
                     }
@@ -193,30 +201,35 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 exQuery.Where(builder.ToString());
                 return await QueryList<T>(exQuery, TableName);
             }
-            else {
-                return null; 
+            else
+            {
+                return null;
             }
         }
 
-        public async Task<List<T>> FindListByKey<T>(string key, string value) where T : TableEntity, new()
+        public async Task<List<T>> FindListByKey<T>(string key, object value) where T : TableEntity, new()
         {
             string TableName = await InitializeTable<T>();
 
             var exQuery = new TableQuery<T>();
-            if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
+            if (!string.IsNullOrEmpty(key) &&null!= value && !string.IsNullOrEmpty(value.ToString()))
             {
-                exQuery.Where(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, value));
+
+                string typeStr = SwitchType(value, key);
+                exQuery.Where(typeStr);
+                //exQuery.Where(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, value));
                 return await QueryList<T>(exQuery, TableName);
             }
-            else {
-                return null; 
+            else
+            {
+                return null;
             }
-            
+
         }
 
         public async Task<T> FindOneByDict<T>(IDictionary<string, object> dict) where T : TableEntity, new()
         {
-            string TableName =  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
             StringBuilder builder = new StringBuilder();
             if (null != dict && dict.Count > 0)
@@ -227,47 +240,78 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 {
                     if (dict[key] != null && !string.IsNullOrEmpty(dict[key].ToString()))
                     {
+
+
+                        string typeStr = SwitchType(dict[key], key);
+
                         if (index == 1)
                         {
-                            builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            //builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append(typeStr);
                         }
                         else
                         {
-                            builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            // builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append("  " + TableOperators.And + "  " + typeStr);
                         }
                         index++;
                     }
                 }
                 exQuery.Where(builder.ToString());
-                return await QueryObject<T>(exQuery ,TableName);
+                return await QueryObject<T>(exQuery, TableName);
             }
             else
             {
-                return null; 
+                return null;
             }
-            
+
         }
 
-        public async Task<T> FindOneByKey<T>(string key, string value) where T : TableEntity, new()
+        private static string SwitchType(object obj, string key)
+        {
+            Type s = obj.GetType();
+            TypeCode typeCode = Type.GetTypeCode(s);
+
+            switch (typeCode)
+            {
+
+                case TypeCode.String: return TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, obj.ToString());
+                case TypeCode.Int32: return TableQuery.GenerateFilterConditionForInt(key, QueryComparisons.Equal, (int)obj);
+                case TypeCode.Double: return TableQuery.GenerateFilterConditionForDouble(key, QueryComparisons.Equal, (double)obj);
+                case TypeCode.Byte: return TableQuery.GenerateFilterConditionForBinary(key, QueryComparisons.Equal, (byte[])obj);
+                case TypeCode.Boolean: return TableQuery.GenerateFilterConditionForBool(key, QueryComparisons.Equal, (bool)obj);
+                case TypeCode.DateTime: return TableQuery.GenerateFilterConditionForDate(key, QueryComparisons.Equal, (DateTimeOffset)obj);
+                case TypeCode.Int64: return TableQuery.GenerateFilterConditionForLong(key, QueryComparisons.Equal, (long)obj);
+
+                default: return null;
+            }
+        }
+
+        public async Task<T> FindOneByKey<T>(string key, object value) where T : TableEntity, new()
         {
             string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
-            if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value))
+            if (!string.IsNullOrEmpty(key) && null != value && !string.IsNullOrEmpty(value.ToString()))
             {
-                exQuery.Where(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal,
-                                                                          value));
-                return await QueryObject<T>(exQuery ,TableName );
+
+                string typeStr = SwitchType(value, key);
+                exQuery.Where(typeStr);
+                //exQuery.Where(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal,
+                //                                                          value));
+
+
+                return await QueryObject<T>(exQuery, TableName);
             }
             else
             {
                 return null;
             }
-            
+
         }
 
         public async Task<List<T>> GetEntities<T>(IDictionary<string, object> dict) where T : TableEntity, new()
         {
-           string TableName=  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
             StringBuilder builder = new StringBuilder();
             if (null != dict && dict.Count > 0)
@@ -278,22 +322,29 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 {
                     if (dict[key] != null && !string.IsNullOrEmpty(dict[key].ToString()))
                     {
+                        string typeStr = SwitchType(dict, key);
+
                         if (index == 1)
                         {
-                            builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            //builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append(typeStr);
+
                         }
                         else
                         {
-                            builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            // builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append("  " + TableOperators.And + "  " + typeStr);
+
                         }
                         index++;
                     }
                 }
                 exQuery.Where(builder.ToString());
-                return await QueryList<T>(exQuery,  TableName);
+                return await QueryList<T>(exQuery, TableName);
             }
-            else {
-                return null; 
+            else
+            {
+                return null;
             }
         }
 
@@ -316,7 +367,7 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
 
         public async Task<List<T>> UpdateAll<T>(List<T> entitys) where T : TableEntity, new()
         {
-            string TableName =  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             IList<TableResult> result = null;
             Parallel.ForEach(Partitioner.Create(0, entitys.Count, 100),
                   async range =>
@@ -329,7 +380,8 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
             return entitys;
         }
 
-        public async Task<List<T>> SaveOrUpdateAll<T>(List<T> entitys) where T : TableEntity, new() {
+        public async Task<List<T>> SaveOrUpdateAll<T>(List<T> entitys) where T : TableEntity, new()
+        {
             string TableName = await InitializeTable<T>();
             IList<TableResult> result = null;
             Parallel.ForEach(Partitioner.Create(0, entitys.Count, 100),
@@ -352,7 +404,7 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                       TableBatchOperation batchOperation = new TableBatchOperation();
                       for (Int32 i = range.Item1; i < range.Item2; i++)
                           batchOperation.Delete(entitys[i]);
-                      
+
                       result = await tableClient.GetTableReference(TableName).ExecuteBatchAsync(batchOperation);
                   });
             return (List<T>)result;
@@ -360,14 +412,14 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
 
         public async Task<T> Save<T>(TableEntity entity) where T : TableEntity, new()
         {
-            string TableName= await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             TableOperation operation = TableOperation.Insert(entity);
             TableResult result = await tableClient.GetTableReference(TableName).ExecuteAsync(operation);
             return (T)result.Result;
         }
         public async Task<T> SaveOrUpdate<T>(TableEntity entity) where T : TableEntity, new()
         {
-            string TableName =  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             TableOperation operation = TableOperation.InsertOrReplace(entity);
             TableResult result = await tableClient.GetTableReference(TableName).ExecuteAsync(operation);
             return (T)result.Result;
@@ -384,7 +436,7 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
         public async Task<T> Delete<T>(TableEntity entity) where T : TableEntity, new()
         {
 
-            string TableName =  await InitializeTable<T>();
+            string TableName = await InitializeTable<T>();
             TableOperation operation = TableOperation.Delete(entity);
             TableResult result = await tableClient.GetTableReference(TableName).ExecuteAsync(operation);
             return (T)result.Result;
@@ -405,8 +457,9 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
         //{
         //    throw new NotImplementedException();
         //}
-        
-        public async Task<AzurePagination<T>> FindListByDict<T>(Dictionary<string, object> dict, AzureTableToken azureTableToken) where T : TableEntity, new() {
+
+        public async Task<AzurePagination<T>> FindListByDict<T>(Dictionary<string, object> dict, AzureTableToken azureTableToken) where T : TableEntity, new()
+        {
             string TableName = await InitializeTable<T>();
             var exQuery = new TableQuery<T>();
             StringBuilder builder = new StringBuilder();
@@ -418,30 +471,35 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Implements
                 {
                     if (dict[key] != null && !string.IsNullOrEmpty(dict[key].ToString()))
                     {
+                        string typeStr = SwitchType(dict, key);
                         if (index == 1)
                         {
-                            builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            // builder.Append(TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append(typeStr);
+
                         }
                         else
                         {
-                            builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
+                            builder.Append("  " + TableOperators.And + "  " + typeStr);
+                            //builder.Append("  " + TableOperators.And + "  " + TableQuery.GenerateFilterCondition(key, QueryComparisons.Equal, dict[key].ToString()));
                         }
                         index++;
                     }
                 }
                 exQuery.Where(builder.ToString());
-                return await QueryList<T>(azureTableToken, exQuery , TableName);
+                return await QueryList<T>(azureTableToken, exQuery, TableName);
             }
-            else {
-                return null; 
+            else
+            {
+                return null;
             }
-            
+
         }
-        private async Task<AzurePagination<T>> QueryList<T>(AzureTableToken azureTableToken, TableQuery<T> exQuery,string TableName) where T : TableEntity, new()
+        private async Task<AzurePagination<T>> QueryList<T>(AzureTableToken azureTableToken, TableQuery<T> exQuery, string TableName) where T : TableEntity, new()
         {
             TableContinuationToken tableToken = new HaBookTableContinuationToken(azureTableToken).GetContinuationToken();
             List<T> entitys = new List<T>();
-            
+
             var result = await tableClient.GetTableReference(TableName).ExecuteQuerySegmentedAsync(exQuery, tableToken);
             if (result.Results.Count > 0)
             {

+ 3 - 3
TEAMModelOS.SDK/Module/AzureTable/Interfaces/IAzureTableDBRepository.cs

@@ -10,13 +10,13 @@ namespace TEAMModelOS.SDK.Module.AzureTable.Interfaces
     {
         Task<List<T>> GetEntities<T>(IDictionary<string, object> dict) where T : TableEntity, new();
         Task<T> FindOneByDict<T>(IDictionary<string, object> dict) where T : TableEntity, new();
-        Task<T> FindById<T>(string id) where T : TableEntity, new();
+        Task<T> FindByRowKey<T>(string RowKey) where T : TableEntity, new();
         Task<T> Save<T>(TableEntity entity) where T : TableEntity, new();
         Task<T> Update<T>(TableEntity entity) where T : TableEntity, new();
         Task<T> Delete<T>(TableEntity entity) where T : TableEntity, new();
-        Task<T> FindOneByKey<T>(string key, string value) where T : TableEntity, new();
+        Task<T> FindOneByKey<T>(string key, object value) where T : TableEntity, new();
         Task<List<T>> FindListByDict<T>(Dictionary<string, object> dict) where T : TableEntity, new();
-        Task<List<T>> FindListByKey<T>(string key, string value) where T : TableEntity, new();
+        Task<List<T>> FindListByKey<T>(string key, object value) where T : TableEntity, new();
         Task<List<T>> FindAll<T>() where T : TableEntity, new();
         Task<List<T>> DeleteAll<T>(List<T> entitys) where T : TableEntity, new();
         Task<List<T>> UpdateAll<T>(List<T> entitys) where T : TableEntity, new();

+ 14 - 3
TEAMModelOS/Controllers/Common/LoginController.cs

@@ -74,10 +74,21 @@ namespace TEAMModelOS.Controllers.Common
         [AllowAnonymous]
         public async Task<BaseJosnRPCResponse> Login(JosnRPCRequest<Dictionary<string,object>> request)
         {
-            //string id = HttpContextHelper.GetLoginUser(_httpContextAccessor);
             JsonRPCResponseBuilder responseBuilder = JsonRPCResponseBuilder.custom();
-            responseBuilder.Data(BaseConfigModel.Configuration["HaBookAuth:TeamModelLoginUrl"]);
-            return await Task.Factory.StartNew(() => { return responseBuilder.build(); });
+            if (request.@params.TryGetValue("type", out var type))
+            {
+                if (type.Equals("regist"))
+                {
+                    responseBuilder.Data(BaseConfigModel.Configuration["HaBookAuth:TeamModelRegistUrl"]);
+                    return await Task.Factory.StartNew(() => { return responseBuilder.build(); });
+                }
+                else if (type.Equals("login"))
+                {
+                    responseBuilder.Data(BaseConfigModel.Configuration["HaBookAuth:TeamModelLoginUrl"]);
+                    return await Task.Factory.StartNew(() => { return responseBuilder.build(); });
+                }
+            }
+            return await Task.Factory.StartNew(() => { return responseBuilder.Error("type error!").build(); });
         }
 
         

ファイルの差分が大きいため隠しています
+ 1 - 0
TEAMModelOS/JsonFile/area.json


+ 16 - 0
TEAMModelOS/SeedData/SeedDataService.cs

@@ -3,7 +3,11 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
+using TEAMModelOS.Model.Common.Models;
 using TEAMModelOS.Model.Syllabus.Models;
+using TEAMModelOS.SDK.Context.Configuration;
+using TEAMModelOS.SDK.Helper.Common.FileHelper;
+using TEAMModelOS.SDK.Helper.Common.JsonHelper;
 using TEAMModelOS.SDK.Module.AzureTable.Interfaces;
 
 namespace TEAMModelOS.SeedData
@@ -16,12 +20,24 @@ namespace TEAMModelOS.SeedData
             _azureTableDBRepository = azureTableDBRepository;
         }
 
+        public void SeedArea()
+        {
+
+            string path =  BaseConfigModel.ContentRootPath+ "/JsonFile/area.json" ;
+            string areaString =   FileHelper.FileToString(path);
+            List<Region> regions = MessagePackHelper.JsonToObject<List<Region>>(areaString);
+            regions.ForEach(m=> {
+                m.RowKey = m.SysAddID + "";
+            });
+        }
+
         public void SeedRootAdmin() {
 
         }
 
         public  void SeedData()
         {
+            SeedArea();
             string Lang = "zh-cn";
             List<Period> periods = new List<Period> {
                 new Period { PartitionKey= Lang , Name="小学",RowKey="Period_21",Type="Period",Lang=Lang },

+ 1 - 0
TEAMModelOS/TEAMModelOS.csproj

@@ -1,6 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
   <PropertyGroup>
     <TargetFramework>netcoreapp2.2</TargetFramework>
+    <UserSecretsId>a25fbaf0-43f2-412e-a606-4a19c5766202</UserSecretsId>
   </PropertyGroup>
   <ItemGroup>
     <Compile Remove="Providers\**" />