From 79c61db8fcc43dfb35d6dbdd367ccef0acde40e1 Mon Sep 17 00:00:00 2001 From: Chris Chen Date: Sun, 2 Nov 2025 18:26:41 -0800 Subject: [PATCH] Cleanup --- Church.Net.Entity2/AddressInfo.cs | 31 ---- Church.Net.Entity2/AutoReplyItem.cs | 46 ------ Church.Net.Entity2/BibleBook.cs | 18 -- Church.Net.Entity2/BibleStudy.cs | 21 --- Church.Net.Entity2/Career.cs | 19 --- Church.Net.Entity2/CellGroupRoutineEvent.cs | 68 -------- Church.Net.Entity2/Church.Net.Entity.csproj | 17 -- Church.Net.Entity2/Contribution.cs | 23 --- Church.Net.Entity2/Enumeration.cs | 55 ------- Church.Net.Entity2/FamilyMember.cs | 71 -------- Church.Net.Entity2/FamilyMemberOAuth.cs | 19 --- Church.Net.Entity2/Games/MD2/MobInfo.cs | 155 ------------------ Church.Net.Entity2/HappinessBEST.cs | 26 --- Church.Net.Entity2/HappinessWeek.cs | 76 --------- Church.Net.Entity2/Interface/IEntity.cs | 18 -- .../Interface/IExceptionError.cs | 26 --- Church.Net.Entity2/Interface/IMessenger.cs | 39 ----- Church.Net.Entity2/LineMessagingAccount.cs | 16 -- Church.Net.Entity2/LogInfo.cs | 35 ---- .../Messenger/LineMessageInfo.cs | 20 --- Church.Net.Entity2/NewVisitor.cs | 65 -------- Church.Net.Entity2/PastoralDomain.cs | 73 --------- Church.Net.Entity2/PastoralDomainInfo.cs | 24 --- Church.Net.Entity2/PastoralDomainMembers.cs | 38 ----- Church.Net.Entity2/Religion.cs | 18 -- Church.Net.Entity2/VisitingReason.cs | 19 --- Church.Net.Entity2/Vocabulary.cs | 84 ---------- Church.Net.Entity2/WhoIsSpy.cs | 27 --- Church.Net.WebAPI/Church.Net.WebAPI.csproj | 22 +-- Church.Net.WebAPI/HandleExceptionFilter.cs | 40 ++--- LineAPI/LineAPI.csproj | 2 +- LineMessaging/LineMessaging.csproj | 4 +- TestProject/TestProject.csproj | 2 +- 33 files changed, 32 insertions(+), 1185 deletions(-) delete mode 100644 Church.Net.Entity2/AddressInfo.cs delete mode 100644 Church.Net.Entity2/AutoReplyItem.cs delete mode 100644 Church.Net.Entity2/BibleBook.cs delete mode 100644 Church.Net.Entity2/BibleStudy.cs delete mode 100644 Church.Net.Entity2/Career.cs delete mode 100644 Church.Net.Entity2/CellGroupRoutineEvent.cs delete mode 100644 Church.Net.Entity2/Church.Net.Entity.csproj delete mode 100644 Church.Net.Entity2/Contribution.cs delete mode 100644 Church.Net.Entity2/Enumeration.cs delete mode 100644 Church.Net.Entity2/FamilyMember.cs delete mode 100644 Church.Net.Entity2/FamilyMemberOAuth.cs delete mode 100644 Church.Net.Entity2/Games/MD2/MobInfo.cs delete mode 100644 Church.Net.Entity2/HappinessBEST.cs delete mode 100644 Church.Net.Entity2/HappinessWeek.cs delete mode 100644 Church.Net.Entity2/Interface/IEntity.cs delete mode 100644 Church.Net.Entity2/Interface/IExceptionError.cs delete mode 100644 Church.Net.Entity2/Interface/IMessenger.cs delete mode 100644 Church.Net.Entity2/LineMessagingAccount.cs delete mode 100644 Church.Net.Entity2/LogInfo.cs delete mode 100644 Church.Net.Entity2/Messenger/LineMessageInfo.cs delete mode 100644 Church.Net.Entity2/NewVisitor.cs delete mode 100644 Church.Net.Entity2/PastoralDomain.cs delete mode 100644 Church.Net.Entity2/PastoralDomainInfo.cs delete mode 100644 Church.Net.Entity2/PastoralDomainMembers.cs delete mode 100644 Church.Net.Entity2/Religion.cs delete mode 100644 Church.Net.Entity2/VisitingReason.cs delete mode 100644 Church.Net.Entity2/Vocabulary.cs delete mode 100644 Church.Net.Entity2/WhoIsSpy.cs diff --git a/Church.Net.Entity2/AddressInfo.cs b/Church.Net.Entity2/AddressInfo.cs deleted file mode 100644 index 6af1eb2..0000000 --- a/Church.Net.Entity2/AddressInfo.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; - -namespace Church.Net.Entity -{ - public class AddressInfo : IEntity - { - public AddressInfo() - { - Id = "new"; - } - [Key] - public string Id { get; set; } - public string Address { get; set; } - public string City { get; set; } - public string State { get; set; } - public string Zip { get; set; } - - public string GetCSZ() - { - string result = City; - - string sz = $"{State} {Zip}".Trim(); - - return result + (string.IsNullOrWhiteSpace(sz) ? "" : $", {sz}"); - } - } -} diff --git a/Church.Net.Entity2/AutoReplyItem.cs b/Church.Net.Entity2/AutoReplyItem.cs deleted file mode 100644 index db8967c..0000000 --- a/Church.Net.Entity2/AutoReplyItem.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class AutoReplyItem : IEntity - { - [Required, Key] - public string Id { get; set; } - public string Command { get; set; } - public string Description { get; set; } - public string Content { get; set; } - public virtual ICollection AutoReplyItemRelations { get; set; } - - } - public class PastoralDomainAutoReplys : ICombinedKeyEntity - { - public PastoralDomainAutoReplys() - { - - } - - public PastoralDomainAutoReplys(string pastoralDomainCId, string autoReplyItemId) - { - PastoralDomainCommunityAppId = pastoralDomainCId; - AutoReplyItemId = autoReplyItemId; - } - - [ForeignKey("PastoralDomain")] - [Required, Key, Column(Order = 0)] - public string PastoralDomainCommunityAppId { get; set; } - public virtual PastoralDomain PastoralDomain { get; set; } - - [ForeignKey("FamilyMember")] - [Required, Key, Column(Order = 1)] - public string AutoReplyItemId { get; set; } - public virtual AutoReplyItem FamilyMember { get; set; } - - } -} diff --git a/Church.Net.Entity2/BibleBook.cs b/Church.Net.Entity2/BibleBook.cs deleted file mode 100644 index 3c5cee9..0000000 --- a/Church.Net.Entity2/BibleBook.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class BibleBook - { - public int Id { get; set; } - public string Chinese { get; set; } - public string ChineseShort { get; set; } - public string English { get; set; } - public string EnglishShort { get; set; } - } -} diff --git a/Church.Net.Entity2/BibleStudy.cs b/Church.Net.Entity2/BibleStudy.cs deleted file mode 100644 index 2b27316..0000000 --- a/Church.Net.Entity2/BibleStudy.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class BibleStudy - { - public DateTime Date { get; set; } - public string Topic { get; set; } - [ForeignKey("Book")] - public string Id { get; set; } - public BibleBook Book { get; set; } - public string Chapter { get; set; } - public int VerseStart { get; set; } - public int VerseEnd { get; set; } - } -} diff --git a/Church.Net.Entity2/Career.cs b/Church.Net.Entity2/Career.cs deleted file mode 100644 index 1d02a3e..0000000 --- a/Church.Net.Entity2/Career.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class Career : IEntity - { - [Required, Key] - public string Id { get; set; } - [StringLength(50)] - public string Name { get; set; } - - } -} diff --git a/Church.Net.Entity2/CellGroupRoutineEvent.cs b/Church.Net.Entity2/CellGroupRoutineEvent.cs deleted file mode 100644 index cc70dca..0000000 --- a/Church.Net.Entity2/CellGroupRoutineEvent.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class CellGroupRoutineEvent : IEntity - { - [Required, Key] - public string Id { get; set; } - - [Required] - public DateTime Time { get; set; } - public string Address { get; set; } - public virtual ICollection Attendees { get; set; } - public virtual ICollection Prayers { get; set; } - - - [ForeignKey("CellGroupInfo")] - public string PastoralDomainId { get; set; } - public PastoralDomain CellGroupInfo { get; set; } - } - public class CellGroupRoutineEventAttendee : ICombinedKeyEntity - { - [ForeignKey("CellGroupRoutineEvent")] - [Key, Column(Order = 0)] - public string EventId { get; set; } - public CellGroupRoutineEvent CellGroupRoutineEvent { get; set; } - - [Required, Key, Column(Order = 1)] - public string Id { get; set; } - public string Name { get; set; } - public bool JoinPotluck { get; set; } - public string PotluckItem { get; set; } - public string Comment { get; set; } - - } - - - public class CellGroupRoutineEventWorship : ICombinedKeyEntity - { - [ForeignKey("CellGroupRoutineEvent")] - [Key, Column(Order = 0)] - public string EventId { get; set; } - - [Required, Key, Column(Order = 1)] - public string WorshipVideoId { get; set; } - public string Comment { get; set; } - - } - public class CellGroupRoutineEventPrayer : ICombinedKeyEntity - { - [ForeignKey("CellGroupRoutineEvent")] - [Key, Column(Order = 0)] - public string EventId { get; set; } - public CellGroupRoutineEvent CellGroupRoutineEvent { get; set; } - [Required, Key, Column(Order = 1)] - public string MemberId { get; set; } - public string Prayer { get; set; } - public string Comment { get; set; } - - } -} diff --git a/Church.Net.Entity2/Church.Net.Entity.csproj b/Church.Net.Entity2/Church.Net.Entity.csproj deleted file mode 100644 index 66d4b25..0000000 --- a/Church.Net.Entity2/Church.Net.Entity.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - - netstandard2.0 - True - \\ArkNAS\home\Nuget Packages - 1.0.0.4 - 1.0.0.4 - 1.0.0.4 - - - - - - - - diff --git a/Church.Net.Entity2/Contribution.cs b/Church.Net.Entity2/Contribution.cs deleted file mode 100644 index b2143ab..0000000 --- a/Church.Net.Entity2/Contribution.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations.Schema; -using System.ComponentModel.DataAnnotations; -using System.Text; -using System.ComponentModel; - -namespace Church.Net.Entity -{ - public class Contribution : IEntity - { - [ForeignKey("HappinessGroup")] - public string GroupId { get; set; } - public PastoralDomain HappinessGroup { get; set; } - [Key] - public string Id { get; set; } - public string Contributor { get; set; } - public decimal Amount { get; set; } - public string Comment { get; set; } - public DateTime Time { get; set; } - } -} diff --git a/Church.Net.Entity2/Enumeration.cs b/Church.Net.Entity2/Enumeration.cs deleted file mode 100644 index a9e31af..0000000 --- a/Church.Net.Entity2/Enumeration.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class Enumeration - { - public enum Gender - { - Female=0, - Male=1 - } - - public enum Month - { - January=1, - Feburary, - March, - April, - May, - June, - July, - August, - September, - October, - November, - December - } - - public enum PartsOfSpeech - { - Nouns, - Verbs, - VerbsUnRegular, - Pronouns, - Adverbs, - Adjectives, - Conjunctions, - Articles, - Prepositions - } - public enum PracticeStage - { - Select, - Memorized, - Visualize, - Apply, - Review, - FlashCard - } - } -} diff --git a/Church.Net.Entity2/FamilyMember.cs b/Church.Net.Entity2/FamilyMember.cs deleted file mode 100644 index 248255d..0000000 --- a/Church.Net.Entity2/FamilyMember.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Church.Net.Entity.Interface; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Security.Claims; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - [Flags] - public enum Role - { - None = 0, - FamilyMember = 1 << 0, // 0001 -- the bitshift is unnecessary, but done for consistency - CellGroupLeader = 1 << 1, // 0010 - Pastor = 1 << 2, // 0100 - Admin = 1 << 3, // 1111 - Best = 1 << 4, // 1111 - All = ~(~0 << 20) // 1111 - } - public class FamilyMember : IEntity - { - public FamilyMember() - { - - } - [Key] - public string Id { get; set; } - - public string Email { get; set; } - - [JsonIgnore] - public string Password { get; set; } - public string AvatarImage { get; set; } - - - [StringLength(50)] - public string FirstName { get; set; } - [StringLength(50)] - public string LastName { get; set; } - public Enumeration.Gender Gender { get; set; } - - public DateTime? Birthday { get; set; } - public bool Married { get; set; } - public bool Baptized { get; set; } - public DateTime? DateOfBaptized { get; set; } - public DateTime? DateOfWalkIn { get; set; } - [StringLength(500)] - public string Address { get; set; } - [StringLength(50)] - public string ComunityAppId { get; set; } - - [ForeignKey("Career")] - public string CareerId { get; set; } - public Career Career { get; set; } - - public virtual ICollection PastoralDomains { get; set; } - public virtual ICollection OAuthInfos { get; set; } - public string Comment { get; set; } - public Role Role { get; set; } - - - - - } - -} diff --git a/Church.Net.Entity2/FamilyMemberOAuth.cs b/Church.Net.Entity2/FamilyMemberOAuth.cs deleted file mode 100644 index f9d0052..0000000 --- a/Church.Net.Entity2/FamilyMemberOAuth.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations.Schema; -using System.ComponentModel.DataAnnotations; -using System.Text; - -namespace Church.Net.Entity -{ - public class FamilyMemberOAuth - { - - [ForeignKey("HappinessGroup")] - [Key, Column(Order = 0)] - public string FamilyMemberId { get; set; } - [Required, Key, Column(Order = 1)] - public string OAuthType { get; set; } - public string OAuthAccessToken { get; set; } - } -} diff --git a/Church.Net.Entity2/Games/MD2/MobInfo.cs b/Church.Net.Entity2/Games/MD2/MobInfo.cs deleted file mode 100644 index fcbc0e4..0000000 --- a/Church.Net.Entity2/Games/MD2/MobInfo.cs +++ /dev/null @@ -1,155 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations.Schema; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Newtonsoft.Json; -using Church.Net.Entity.Interface; - -namespace Church.Net.Entity.Games.MD2 -{ - public enum MobType - { - Mob, - RoamingMonster, - Boss - } - - public enum GameBundle - { - CoreGame, - HeavenFallen, - Zombiecide, - - } - public enum MobSkillType - { - Attack, - Defense, - Combat, - Passive - } - - public enum MobSkillTarget - { - Random = 40, - LeastHp = 50, - LeastMp = 60, - HighestHp = 70, - HighestMp = 80, - LowestLevel = 90, - MostCorruption = 200, - LeastCorruption = 201 - } - public enum MD2Icon - { - Attack, - Defense, - Mana, - Shadow, - EnemySkill, - EnemyClaw, - Reroll, - Fire, - Frost, - OneHand, - TwoHand, - Helmet, - Armor, - Ring, - Foot, - Melee, - Range, - Magic, - HP, - MP, - Dice, - Arrow, - ArrowBullseye, - ArrowOverload, - SoulToken, - Rage, - RedDice, - BlueDice, - YellowDice, - OrangeDice, - BlackDice - } - public class MobInfo : IEntity - { - [Key] - public string Id { get; set; } - public MobType Type { get; set; } - public GameBundle From { get; set; } - public string Name { get; set; } - public string LeaderImgUrl { get; set; } - public string MinionImgUrl { get; set; } - public virtual ICollection MobLevelInfos { get; set; } - public virtual ICollection Skills { get; set; } - } - - - public class MobLevelInfo : IEntity - { - - [Key] - public string Id { get; set; } - [ForeignKey("MobInfo")] - public string MobInfoId { get; set; } - [JsonIgnore] - public virtual MobInfo MobInfo { get; set; } - public int RewardTokens { get; set; } - public int FixedRareTreasure { get; set; } - public int FixedEpicTreasure { get; set; } - public int FixedLegendTreasure { get; set; } - public int FixedHp { get; set; } - public int HpPerHero { get; set; } - public int Actions { get; set; } - - [ForeignKey("AttackInfo")] - public string AttackInfoId { get; set; } - public MD2DiceSet AttackInfo { get; set; } - [ForeignKey("DefenceInfo")] - public string DefenceInfoId { get; set; } - public MD2DiceSet DefenceInfo { get; set; } - public virtual ICollection Skills { get; set; } - - - } - public class MobSkill : IEntity - { - - [Key] - public string Id { get; set; } - [ForeignKey("MobLevelInfo")] - public string MobLevelInfoId { get; set; } - - [ForeignKey("MobInfo")] - public string MobInfoId { get; set; } - [JsonIgnore] - public virtual MobInfo MobInfo { get; set; } - - [JsonIgnore] - public virtual MobLevelInfo MobLevelInfo { get; set; } - - public MobSkillType Type { get; set; } - public MobSkillTarget? SkillTarget { get; set; } - - public int ClawRoll { get; set; } - public int SkillRoll { get; set; } - public string Name { get; set; } - public string Description { get; set; } - } - - public class MD2DiceSet : IEntity - { - [Key] - public string Id { get; set; } - public int? Yellow { get; set; } - public int? Orange { get; set; } - public int? Red { get; set; } - public int? Blue { get; set; } - public int? Green { get; set; } - public int? Black { get; set; } - } -} diff --git a/Church.Net.Entity2/HappinessBEST.cs b/Church.Net.Entity2/HappinessBEST.cs deleted file mode 100644 index d9fe0fa..0000000 --- a/Church.Net.Entity2/HappinessBEST.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class HappinessBEST : IEntity - { - [ForeignKey("HappinessGroup")] - public string GroupId { get; set; } - - public PastoralDomain HappinessGroup { get; set; } - [Key] - public string Id { get; set; } - - [Required] - public string Name { get; set; } - public string Email { get; set; } - public string Phone { get; set; } - } -} diff --git a/Church.Net.Entity2/HappinessWeek.cs b/Church.Net.Entity2/HappinessWeek.cs deleted file mode 100644 index b856a61..0000000 --- a/Church.Net.Entity2/HappinessWeek.cs +++ /dev/null @@ -1,76 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class HappinessWeek : IEntity - { - [ForeignKey("HappinessGroup")] - public string GroupId { get; set; } - - public PastoralDomain HappinessGroup { get; set; } - [Required, Key] - public string Id { get; set; } - - public DateTime Date { get; set;} - public string InvitationText { get; set; } - public string Address { get; set; } - public string CityAndZipCode { get; set; } - public int SEQ { get; set; } - [NotMapped] - public bool UpdateRestWeekDate { get; set; } - [NotMapped] - public string Topic { get; set; } - public virtual ICollection Tasks { get; set; } - public virtual ICollection Costs { get; set; } - public string Comment { get; set; } - } - - public enum HappinessTaskType - { - [Description("帶遊戲")] - IceBreak, - [Description("唱歌")] - Worship, - [Description("見證")] - Testimony, - [Description("信息")] - Message, - [Description("準備禮物")] - Gift, - [Description("準備點心")] - Dessert - } - public class HappinessTask : IEntity - { - [ForeignKey("HappinessWeek")] - public string WeekId { get; set; } - public HappinessWeek HappinessWeek { get; set; } - [Required, Key] - public string Id { get; set; } - public HappinessTaskType Type { get; set; } - public string Tasker { get; set; } - public string Content { get; set; } - } - public class HappinessCost : IEntity - { - [ForeignKey("HappinessWeek")] - public string WeekId { get; set; } - public HappinessWeek HappinessWeek { get; set; } - [Key] - public string Id { get; set; } - public string Tasker { get; set; } - public string Content { get; set; } - public decimal Amount { get; set; } - } - - - -} diff --git a/Church.Net.Entity2/Interface/IEntity.cs b/Church.Net.Entity2/Interface/IEntity.cs deleted file mode 100644 index e97f131..0000000 --- a/Church.Net.Entity2/Interface/IEntity.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Church.Net.Entity.Interface -{ - public interface IEntity - { - string Id { get; set; } - } - public interface ICombinedKeyEntity - { - } - public interface IBussinessEntity - { - Guid Id { get; set; } - } -} diff --git a/Church.Net.Entity2/Interface/IExceptionError.cs b/Church.Net.Entity2/Interface/IExceptionError.cs deleted file mode 100644 index af803b9..0000000 --- a/Church.Net.Entity2/Interface/IExceptionError.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace Church.Net.Entity.Interface -{ - public interface ILog - { - int TrackNo { get; set; } - string DetailMessage { get; set; } - string Message { get; set; } - Guid Id { get; set; } - string Source { get; set; } - string StackTrace { get; set; } - DateTime Time { get; set; } - string Url { get; set; } - LogLevel Level { get; set; } - string UserId { get; set; } - } - public enum LogLevel - { - Info, - Warning, - Error - } -} diff --git a/Church.Net.Entity2/Interface/IMessenger.cs b/Church.Net.Entity2/Interface/IMessenger.cs deleted file mode 100644 index 0e7fad3..0000000 --- a/Church.Net.Entity2/Interface/IMessenger.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity.Interface -{ - public enum MessengerType - { - Email, - Line, - Wechat, - SMS - } - public interface IMessenger - { - MessengerType Type { get; } - Task SendMessage(IMessengerClient target, string message); - Task SendMessage(IMessengerClient target, object message); - } - - public interface IMessengerClient - { - string Id { get; } - - string LineAccountId { get; set; } - - LineMessagingAccount LineMessagingAccount { get; set; } - } - - - public interface IMessageClient: IEntity - { - MessengerType Type { get; } - string ClientId { get; set; } - - } - -} diff --git a/Church.Net.Entity2/LineMessagingAccount.cs b/Church.Net.Entity2/LineMessagingAccount.cs deleted file mode 100644 index c4201b8..0000000 --- a/Church.Net.Entity2/LineMessagingAccount.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Church.Net.Entity.Interface; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; - -namespace Church.Net.Entity -{ - public class LineMessagingAccount : IEntity - { - [Required, Key] - public string Id { get; set; } - public string Name { get; set; } - public string ChatToken { get; set; } - public int TotalUsage { get; set; } - public int Seq { get; set; } - } -} diff --git a/Church.Net.Entity2/LogInfo.cs b/Church.Net.Entity2/LogInfo.cs deleted file mode 100644 index c7fca8b..0000000 --- a/Church.Net.Entity2/LogInfo.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations.Schema; -using System.Text; - -namespace Church.Net.Entity -{ - public class LogInfo : IEntity - { - public LogInfo() - { - - } - public LogInfo(LogLevel level) - { - Id = Guid.NewGuid().ToString(); - Time = DateTime.UtcNow; - Level = level; - } - - public string Id { get; set; } - - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public int TrackNo { get; set; } - public string Url { get; set; } - public string Message { get; set; } - public string Source { get; set; } - public string StackTrace { get; set; } - public string DetailMessage { get; set; } - public string UserId { get; set; } - public DateTime Time { get; set; } - public LogLevel Level { get; set; } - } -} diff --git a/Church.Net.Entity2/Messenger/LineMessageInfo.cs b/Church.Net.Entity2/Messenger/LineMessageInfo.cs deleted file mode 100644 index 94b3eda..0000000 --- a/Church.Net.Entity2/Messenger/LineMessageInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; - -namespace Church.Net.Entity.Messenger -{ - public class LineMessageClient : IMessageClient - { - public MessengerType Type => MessengerType.Line; - [Required, Key] - public string Id { get; set; } - public string ClientId { get; set; } - public bool IsGroup { get; set; } - public bool IsManager { get; set; } - public string Name { get; set; } - - } -} diff --git a/Church.Net.Entity2/NewVisitor.cs b/Church.Net.Entity2/NewVisitor.cs deleted file mode 100644 index 3be9dd2..0000000 --- a/Church.Net.Entity2/NewVisitor.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class NewVisitor:IEntity - { - [Key] - public string Id { get; set; } - - [StringLength(50)] - [DisplayName("名字")] - [Required] - public string FirstName { get; set; } - [StringLength(50)] - [DisplayName("姓氏")] - [Required] - public string LastName { get; set; } - - [DisplayName("性別")] - public Enumeration.Gender Gender { get; set; } - [StringLength(500)] - - [DisplayName("地址")] - public string Address { get; set; } - [StringLength(150)] - [DisplayName("電話")] - [Required] - public string Phone { get; set; } - [StringLength(150)] - - [DisplayName("E-Mail")] - public string Email { get; set; } - [StringLength(50)] - - [DisplayName("社群軟體ID")] - public string ComunityAppId { get; set; } - [DisplayName("首次參加主日時間")] - public DateTime VisitingDate { get; set; } - - [System.ComponentModel.DataAnnotations.Schema.NotMapped] - public bool HideBirthDate { get; set; } - - [DisplayName("生日")] - public DateTime? BirthDate { get; set; } - - [DisplayName("附註")] - public string Note { get; set; } - - [ForeignKey("Religion")] - public int? ReligionId { get; set; } - public Religion Religion { get; set; } - - //[ForeignKey("VisitingReason")] - //public int VisitingReasonId { get; set; } - //public VisitingReason VisitingReason { get; set; } - } -} diff --git a/Church.Net.Entity2/PastoralDomain.cs b/Church.Net.Entity2/PastoralDomain.cs deleted file mode 100644 index 41a407a..0000000 --- a/Church.Net.Entity2/PastoralDomain.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Church.Net.Entity.Interface; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public enum DomainType - { - CellGroup, - HappinessGroup, - CellGroupCoworker, - ChurchCoworker, - Administrator = 99 - } - public class PastoralDomain : IEntity, IMessengerClient - { - public PastoralDomain() - { - } - [Key] - public string Id { get; set; } - - public string Name { get; set; } - public string LogoImage { get; set; } - public string Description { get; set; } - - public string Image1 { get; set; } - - public string Image2 { get; set; } - - public string Image3 { get; set; } - - public string Image4 { get; set; } - - public string Image5 { get; set; } - - public string LineGroupId { get; set; } - - [ForeignKey("LineMessagingAccount")] - public string LineAccountId { get; set; } - public virtual LineMessagingAccount LineMessagingAccount { get; set; } - - [ForeignKey("Leader")] - public string LeaderMemberId { get; set; } - - public FamilyMember Leader { get; set; } - - [ForeignKey("ServiceAddress")] - public string ServiceAddressId { get; set; } - public AddressInfo ServiceAddress { get; set; } - - public DomainType Type { get; set; } - public DateTime? ServiceTime { get; set; } - public string TimeZone { get; set; } - public virtual ICollection Bests { get; set; } - public virtual ICollection HappinessWeeks { get; set; } - public virtual ICollection Contributions { get; set; } - - [JsonIgnore] - public virtual ICollection Members { get; set; } - [JsonIgnore] - public virtual IList AutoReplyItemRelations { get; set; } - [NotMapped] - public virtual ICollection FamilyMembers { get; set; } - - } -} diff --git a/Church.Net.Entity2/PastoralDomainInfo.cs b/Church.Net.Entity2/PastoralDomainInfo.cs deleted file mode 100644 index 375871d..0000000 --- a/Church.Net.Entity2/PastoralDomainInfo.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Church.Net.Entity.Interface; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class PastoralDomainInfo : IEntity - { - [Required, Key] - public string Id { get; set; } - - [ForeignKey("PastoralDomain")] - public string PastoralDomainId { get; set; } - - public PastoralDomain PastoralDomain { get; set; } - - - } -} diff --git a/Church.Net.Entity2/PastoralDomainMembers.cs b/Church.Net.Entity2/PastoralDomainMembers.cs deleted file mode 100644 index b621e02..0000000 --- a/Church.Net.Entity2/PastoralDomainMembers.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Church.Net.Entity.Interface; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class PastoralDomainMembers : ICombinedKeyEntity - { - public PastoralDomainMembers() - { - - } - - public PastoralDomainMembers(string pastoralDomainId, string familyMemberId) - { - PastoralDomainId = pastoralDomainId; - FamilyMemberId = familyMemberId; - } - - [ForeignKey("PastoralDomain")] - [Required, Key, Column(Order = 0)] - public string PastoralDomainId { get; set; } - - public virtual PastoralDomain PastoralDomain { get; set; } - - [ForeignKey("FamilyMember")] - [Required, Key, Column(Order = 1)] - public string FamilyMemberId { get; set; } - public virtual FamilyMember FamilyMember { get; set; } - - } -} diff --git a/Church.Net.Entity2/Religion.cs b/Church.Net.Entity2/Religion.cs deleted file mode 100644 index d4ab4cd..0000000 --- a/Church.Net.Entity2/Religion.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class Religion - { - [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public int ReligionId { get; set; } - [Display(Name = "宗教信仰")] - public string Name { get; set; } - } -} diff --git a/Church.Net.Entity2/VisitingReason.cs b/Church.Net.Entity2/VisitingReason.cs deleted file mode 100644 index ad876c5..0000000 --- a/Church.Net.Entity2/VisitingReason.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Security.Principal; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class VisitingReason - { - [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public int VisitingReasonId { get; set; } - - public string Reason { get; set; } - } -} diff --git a/Church.Net.Entity2/Vocabulary.cs b/Church.Net.Entity2/Vocabulary.cs deleted file mode 100644 index fe60413..0000000 --- a/Church.Net.Entity2/Vocabulary.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using static Church.Net.Entity.Enumeration; - -namespace Church.Net.Entity -{ - public class Vocabulary - { - [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public int Id { get; set; } - [Required] - public string Word { get; set; } - - [Required] - [DataType(DataType.MultilineText)] - public string DefinitionEn { get; set; } - [Required] - [DataType(DataType.MultilineText)] - public string DefinitionCh { get; set; } - public string NounPlural { get; set; } - public string VerbPast { get; set; } - public string VerbParticiple { get; set; } - - public PartsOfSpeech PartOfSpeech { get; set; } - public string ImagesUrl { get; set; } - public DateTime InsertDate { get; set; } - public DateTime PracticeDate { get; set; } - - public PracticeStage PracticeStage { get; set; } - public bool PracticeSelect { get; set; } - public bool PracticeMemorized { get; set; } - public bool PracticeVisualize { get; set; } - public bool PracticeApply { get; set; } - public bool PracticeReview { get; set; } - - [DataType(DataType.MultilineText)] - public string PracticeSentence { get; set; } - - public int FlashCardTimes { get; set; } - [NotMapped] - public int PracticeTimes { get; set; } - - public string MaskedWord - { - get - { - return GetMaskedWord(Word); - } - } - - public string MaskedVerbPast - { - get - { - return GetMaskedWord(VerbPast); - } - } - - public string MaskedVerbParticiple - { - get - { - return GetMaskedWord(VerbParticiple); - } - } - - private string GetMaskedWord(string word) - { - string reuslt = word.Substring(0, 1); - for (int i = 1; i < word.Length; i++) - { - reuslt = reuslt + " _"; - } - reuslt = reuslt + " " + word.Substring(word.Length - 1, 1); - return reuslt; - - } - } -} diff --git a/Church.Net.Entity2/WhoIsSpy.cs b/Church.Net.Entity2/WhoIsSpy.cs deleted file mode 100644 index 5f8ea99..0000000 --- a/Church.Net.Entity2/WhoIsSpy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Security.Principal; -using System.Text; -using System.Threading.Tasks; - -namespace Church.Net.Entity -{ - public class WhoIsSpy - { - [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] - public int Id { get; set; } - - public string Answer1Cht { get; set; } - public string Answer1Chs { get; set; } - public string Answer1En { get; set; } - public string Answer1Image => $"WhoIsSpy_{Id}_A.jpg"; - public string Answer2Cht { get; set; } - public string Answer2Chs { get; set; } - public string Answer2En { get; set; } - public string Answer2Image => $"WhoIsSpy_{Id}_B.jpg"; - - } -} diff --git a/Church.Net.WebAPI/Church.Net.WebAPI.csproj b/Church.Net.WebAPI/Church.Net.WebAPI.csproj index 6ee74d2..220b05c 100644 --- a/Church.Net.WebAPI/Church.Net.WebAPI.csproj +++ b/Church.Net.WebAPI/Church.Net.WebAPI.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 983731f5-925d-44ec-b4c8-a7c4ad857569 Linux 1.0.0.2 @@ -21,28 +21,28 @@ - - + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + - + + - - + + diff --git a/Church.Net.WebAPI/HandleExceptionFilter.cs b/Church.Net.WebAPI/HandleExceptionFilter.cs index 92704ff..0e315de 100644 --- a/Church.Net.WebAPI/HandleExceptionFilter.cs +++ b/Church.Net.WebAPI/HandleExceptionFilter.cs @@ -1,42 +1,36 @@ -using System.Threading.Tasks; -using System.Threading; -using System.Web.Http.Filters; -using System; +using System; +using Microsoft.AspNetCore.Mvc.Filters; using WebAPI.Services.Interfaces; namespace WebAPI { - public class HandleExceptionFilter : IExceptionFilter { - private ILoggingService _loggingService; + private readonly ILoggingService _loggingService; public HandleExceptionFilter(ILoggingService loggingService) { _loggingService = loggingService; } - public bool AllowMultiple => throw new NotImplementedException(); - - public Task ExecuteExceptionFilterAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken) + public void OnException(ExceptionContext context) { - return Task.Run(new Action(() => + if (context == null) { - if (actionExecutedContext == null) - { - throw new ArgumentNullException("filterContext"); - } + throw new ArgumentNullException(nameof(context)); + } - Exception exception = actionExecutedContext.Exception; - if (actionExecutedContext.Response.StatusCode == System.Net.HttpStatusCode.InternalServerError) - { - // Log exception - //_loggingService.Error(exception); - int errorTrackNo = _loggingService.Error(exception, actionExecutedContext.Request.RequestUri.AbsoluteUri); - //actionExecutedContext.Exception = new HttpException($"Error Track No:{errorTrackNo}"); + Exception exception = context.Exception; - } - })); + // Log exception + string requestUrl = $"{context.HttpContext.Request.Scheme}://{context.HttpContext.Request.Host}{context.HttpContext.Request.Path}{context.HttpContext.Request.QueryString}"; + int errorTrackNo = _loggingService.Error(exception, requestUrl); + + // Optionally, you can set the result here + // context.Result = new ObjectResult($"Error Track No:{errorTrackNo}") + // { + // StatusCode = 500 + // }; } } } diff --git a/LineAPI/LineAPI.csproj b/LineAPI/LineAPI.csproj index 132c02c..30402ac 100644 --- a/LineAPI/LineAPI.csproj +++ b/LineAPI/LineAPI.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 enable enable diff --git a/LineMessaging/LineMessaging.csproj b/LineMessaging/LineMessaging.csproj index 12ac66d..9e96198 100644 --- a/LineMessaging/LineMessaging.csproj +++ b/LineMessaging/LineMessaging.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 true 1.4.0 Kiyoaki Tsurutani @@ -14,7 +14,7 @@ https://github.com/kiyoaki/LineMessagingApi git LINE, BOT - Support .NET 6 + Support .NET 8 false opensource.pfx diff --git a/TestProject/TestProject.csproj b/TestProject/TestProject.csproj index 534680a..e950de3 100644 --- a/TestProject/TestProject.csproj +++ b/TestProject/TestProject.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 enable enable