Cleanup
This commit is contained in:
parent
afb9b91dbb
commit
79c61db8fc
@ -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}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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<PastoralDomainAutoReplys> 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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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<CellGroupRoutineEventAttendee> Attendees { get; set; }
|
|
||||||
public virtual ICollection<CellGroupRoutineEventPrayer> 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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>netstandard2.0</TargetFramework>
|
|
||||||
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
|
|
||||||
<PackageOutputPath>\\ArkNAS\home\Nuget Packages</PackageOutputPath>
|
|
||||||
<AssemblyVersion>1.0.0.4</AssemblyVersion>
|
|
||||||
<FileVersion>1.0.0.4</FileVersion>
|
|
||||||
<Version>1.0.0.4</Version>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
|
||||||
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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<PastoralDomainMembers> PastoralDomains { get; set; }
|
|
||||||
public virtual ICollection<FamilyMemberOAuth> OAuthInfos { get; set; }
|
|
||||||
public string Comment { get; set; }
|
|
||||||
public Role Role { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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<MobLevelInfo> MobLevelInfos { get; set; }
|
|
||||||
public virtual ICollection<MobSkill> 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<MobSkill> 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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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<HappinessTask> Tasks { get; set; }
|
|
||||||
public virtual ICollection<HappinessCost> 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; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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<bool> SendMessage(IMessengerClient target, string message);
|
|
||||||
Task<bool> 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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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<HappinessBEST> Bests { get; set; }
|
|
||||||
public virtual ICollection<HappinessWeek> HappinessWeeks { get; set; }
|
|
||||||
public virtual ICollection<Contribution> Contributions { get; set; }
|
|
||||||
|
|
||||||
[JsonIgnore]
|
|
||||||
public virtual ICollection<PastoralDomainMembers> Members { get; set; }
|
|
||||||
[JsonIgnore]
|
|
||||||
public virtual IList<PastoralDomainAutoReplys> AutoReplyItemRelations { get; set; }
|
|
||||||
[NotMapped]
|
|
||||||
public virtual ICollection<FamilyMember> FamilyMembers { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -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";
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<UserSecretsId>983731f5-925d-44ec-b4c8-a7c4ad857569</UserSecretsId>
|
<UserSecretsId>983731f5-925d-44ec-b4c8-a7c4ad857569</UserSecretsId>
|
||||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
<FileVersion>1.0.0.2</FileVersion>
|
<FileVersion>1.0.0.2</FileVersion>
|
||||||
@ -21,28 +21,28 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="LineBotSDK" Version="2.8.35" />
|
<PackageReference Include="LineBotSDK" Version="2.8.35" />
|
||||||
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.9" />
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.11" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.8" />
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.1.0" />
|
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.1.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.8">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.11">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.8" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.11" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.8" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.11" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.8">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.11">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.8" />
|
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.7" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.10" />
|
||||||
<PackageReference Include="QRCoder-ImageSharp" Version="0.9.0" />
|
<PackageReference Include="QRCoder-ImageSharp" Version="0.9.0" />
|
||||||
<PackageReference Include="SharpGrabber.Converter" Version="1.1.0" />
|
<PackageReference Include="SharpGrabber.Converter" Version="1.1.0" />
|
||||||
<PackageReference Include="SharpGrabber.YouTube" Version="1.5.0" />
|
<PackageReference Include="SharpGrabber.YouTube" Version="1.5.0" />
|
||||||
<PackageReference Include="SixLabors.ImageSharp" Version="2.1.3" />
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.6" />
|
||||||
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta15" />
|
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.4" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -1,42 +1,36 @@
|
|||||||
using System.Threading.Tasks;
|
using System;
|
||||||
using System.Threading;
|
using Microsoft.AspNetCore.Mvc.Filters;
|
||||||
using System.Web.Http.Filters;
|
|
||||||
using System;
|
|
||||||
using WebAPI.Services.Interfaces;
|
using WebAPI.Services.Interfaces;
|
||||||
|
|
||||||
namespace WebAPI
|
namespace WebAPI
|
||||||
{
|
{
|
||||||
|
|
||||||
public class HandleExceptionFilter : IExceptionFilter
|
public class HandleExceptionFilter : IExceptionFilter
|
||||||
{
|
{
|
||||||
private ILoggingService _loggingService;
|
private readonly ILoggingService _loggingService;
|
||||||
|
|
||||||
public HandleExceptionFilter(ILoggingService loggingService)
|
public HandleExceptionFilter(ILoggingService loggingService)
|
||||||
{
|
{
|
||||||
_loggingService = loggingService;
|
_loggingService = loggingService;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool AllowMultiple => throw new NotImplementedException();
|
public void OnException(ExceptionContext context)
|
||||||
|
|
||||||
public Task ExecuteExceptionFilterAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
|
|
||||||
{
|
{
|
||||||
return Task.Run(new Action(() =>
|
if (context == null)
|
||||||
{
|
{
|
||||||
if (actionExecutedContext == null)
|
throw new ArgumentNullException(nameof(context));
|
||||||
{
|
|
||||||
throw new ArgumentNullException("filterContext");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Exception exception = actionExecutedContext.Exception;
|
Exception exception = context.Exception;
|
||||||
if (actionExecutedContext.Response.StatusCode == System.Net.HttpStatusCode.InternalServerError)
|
|
||||||
{
|
|
||||||
// Log exception
|
// Log exception
|
||||||
//_loggingService.Error(exception);
|
string requestUrl = $"{context.HttpContext.Request.Scheme}://{context.HttpContext.Request.Host}{context.HttpContext.Request.Path}{context.HttpContext.Request.QueryString}";
|
||||||
int errorTrackNo = _loggingService.Error(exception, actionExecutedContext.Request.RequestUri.AbsoluteUri);
|
int errorTrackNo = _loggingService.Error(exception, requestUrl);
|
||||||
//actionExecutedContext.Exception = new HttpException($"Error Track No:{errorTrackNo}");
|
|
||||||
|
|
||||||
}
|
// Optionally, you can set the result here
|
||||||
}));
|
// context.Result = new ObjectResult($"Error Track No:{errorTrackNo}")
|
||||||
|
// {
|
||||||
|
// StatusCode = 500
|
||||||
|
// };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||||
<Version>1.4.0</Version>
|
<Version>1.4.0</Version>
|
||||||
<Authors>Kiyoaki Tsurutani</Authors>
|
<Authors>Kiyoaki Tsurutani</Authors>
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<RepositoryUrl>https://github.com/kiyoaki/LineMessagingApi</RepositoryUrl>
|
<RepositoryUrl>https://github.com/kiyoaki/LineMessagingApi</RepositoryUrl>
|
||||||
<RepositoryType>git</RepositoryType>
|
<RepositoryType>git</RepositoryType>
|
||||||
<PackageTags>LINE, BOT</PackageTags>
|
<PackageTags>LINE, BOT</PackageTags>
|
||||||
<PackageReleaseNotes>Support .NET 6</PackageReleaseNotes>
|
<PackageReleaseNotes>Support .NET 8</PackageReleaseNotes>
|
||||||
<SignAssembly>false</SignAssembly>
|
<SignAssembly>false</SignAssembly>
|
||||||
<AssemblyOriginatorKeyFile>opensource.pfx</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>opensource.pfx</AssemblyOriginatorKeyFile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user