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">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<UserSecretsId>983731f5-925d-44ec-b4c8-a7c4ad857569</UserSecretsId>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
<FileVersion>1.0.0.2</FileVersion>
|
||||
@ -21,28 +21,28 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="LineBotSDK" Version="2.8.35" />
|
||||
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.9" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.8" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.11" />
|
||||
<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>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.8" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.8" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.8">
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.11" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.11">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</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.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="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.10" />
|
||||
<PackageReference Include="QRCoder-ImageSharp" Version="0.9.0" />
|
||||
<PackageReference Include="SharpGrabber.Converter" Version="1.1.0" />
|
||||
<PackageReference Include="SharpGrabber.YouTube" Version="1.5.0" />
|
||||
<PackageReference Include="SixLabors.ImageSharp" Version="2.1.3" />
|
||||
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="1.0.0-beta15" />
|
||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.6" />
|
||||
<PackageReference Include="SixLabors.ImageSharp.Drawing" Version="2.1.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@ -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)
|
||||
{
|
||||
Exception exception = context.Exception;
|
||||
|
||||
// Log exception
|
||||
//_loggingService.Error(exception);
|
||||
int errorTrackNo = _loggingService.Error(exception, actionExecutedContext.Request.RequestUri.AbsoluteUri);
|
||||
//actionExecutedContext.Exception = new HttpException($"Error Track No:{errorTrackNo}");
|
||||
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
|
||||
// };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<Version>1.4.0</Version>
|
||||
<Authors>Kiyoaki Tsurutani</Authors>
|
||||
@ -14,7 +14,7 @@
|
||||
<RepositoryUrl>https://github.com/kiyoaki/LineMessagingApi</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<PackageTags>LINE, BOT</PackageTags>
|
||||
<PackageReleaseNotes>Support .NET 6</PackageReleaseNotes>
|
||||
<PackageReleaseNotes>Support .NET 8</PackageReleaseNotes>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>opensource.pfx</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user