mirror of
https://github.com/SoDOff-Project/sodoff.git
synced 2025-10-11 08:18:49 -07:00
initial messaging work
add messaging schemas modify ``Viking`` and ``DBContext``
This commit is contained in:
parent
35a120bee9
commit
eb049bb4d5
@ -156,6 +156,12 @@ public class DBContext : DbContext {
|
|||||||
builder.Entity<Viking>().HasMany(v => v.ReportsReceived)
|
builder.Entity<Viking>().HasMany(v => v.ReportsReceived)
|
||||||
.WithOne(r => r.ReportedViking);
|
.WithOne(r => r.ReportedViking);
|
||||||
|
|
||||||
|
builder.Entity<Viking>().HasMany(v => v.MessagesMade)
|
||||||
|
.WithOne(r => r.Viking);
|
||||||
|
|
||||||
|
builder.Entity<Viking>().HasMany(v => v.MessageBoard)
|
||||||
|
.WithOne(r => r.FromViking);
|
||||||
|
|
||||||
// Dragons
|
// Dragons
|
||||||
builder.Entity<Dragon>().HasOne(d => d.Viking)
|
builder.Entity<Dragon>().HasOne(d => d.Viking)
|
||||||
.WithMany(e => e.Dragons)
|
.WithMany(e => e.Dragons)
|
||||||
@ -290,6 +296,15 @@ public class DBContext : DbContext {
|
|||||||
.WithMany(e => e.ReportsReceived)
|
.WithMany(e => e.ReportsReceived)
|
||||||
.HasForeignKey(e => e.ReportedVikingId);
|
.HasForeignKey(e => e.ReportedVikingId);
|
||||||
|
|
||||||
|
// Messages
|
||||||
|
builder.Entity<Message>().HasOne(r => r.Viking)
|
||||||
|
.WithMany(e => e.MessagesMade)
|
||||||
|
.HasForeignKey(e => e.VikingId);
|
||||||
|
|
||||||
|
builder.Entity<Message>().HasOne(r => r.FromViking)
|
||||||
|
.WithMany(e => e.MessageBoard)
|
||||||
|
.HasForeignKey(e => e.FromVikingId);
|
||||||
|
|
||||||
// Groups
|
// Groups
|
||||||
builder.Entity<Group>().HasMany(r => r.Vikings)
|
builder.Entity<Group>().HasMany(r => r.Vikings)
|
||||||
.WithMany(e => e.Groups);
|
.WithMany(e => e.Groups);
|
||||||
|
35
src/Model/Message.cs
Normal file
35
src/Model/Message.cs
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using sodoff.Model;
|
||||||
|
using sodoff.Schema;
|
||||||
|
|
||||||
|
namespace sodoff.Model;
|
||||||
|
|
||||||
|
public class Message
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
public int Id { get; set; }
|
||||||
|
public int VikingId { get; set; }
|
||||||
|
public int FromVikingId { get; set; }
|
||||||
|
|
||||||
|
public int QueueID { get; set; }
|
||||||
|
public int? ConversationID { get; set; }
|
||||||
|
public int? ReplyToMessageID { get; set; }
|
||||||
|
|
||||||
|
public MessageType? MessageType { get; set; }
|
||||||
|
public MessageTypeID? MessageTypeID { get; set; }
|
||||||
|
public MessageLevel MessageLevel { get; set; }
|
||||||
|
|
||||||
|
public string? Data { get; set; }
|
||||||
|
public string? MemberMessage { get; set; }
|
||||||
|
public string? NonMemberMessage { get; set; }
|
||||||
|
|
||||||
|
public DateTime CreatedAt { get; set; }
|
||||||
|
public DateTime? LastUpdatedAt { get; set; }
|
||||||
|
|
||||||
|
public bool IsDeleted { get; set; }
|
||||||
|
public bool IsNew { get; set; }
|
||||||
|
|
||||||
|
public virtual Viking? Viking { get; set; }
|
||||||
|
public virtual Viking? FromViking { get; set; }
|
||||||
|
}
|
@ -43,6 +43,8 @@ public class Viking {
|
|||||||
public virtual ICollection<Rating> Ratings { get; set; } = null!;
|
public virtual ICollection<Rating> Ratings { get; set; } = null!;
|
||||||
public virtual ICollection<Report> ReportsMade { get; set; } = null!;
|
public virtual ICollection<Report> ReportsMade { get; set; } = null!;
|
||||||
public virtual ICollection<Report> ReportsReceived { get; set; } = null!;
|
public virtual ICollection<Report> ReportsReceived { get; set; } = null!;
|
||||||
|
public virtual ICollection<Message> MessageBoard { get; set; } = null!;
|
||||||
|
public virtual ICollection<Message> MessagesMade { get; set; } = null!;
|
||||||
public virtual Dragon? SelectedDragon { get; set; }
|
public virtual Dragon? SelectedDragon { get; set; }
|
||||||
|
|
||||||
public DateTime? CreationDate { get; set; }
|
public DateTime? CreationDate { get; set; }
|
||||||
|
12
src/Schema/ArrayOfCombinedListMessage.cs
Normal file
12
src/Schema/ArrayOfCombinedListMessage.cs
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
|
namespace sodoff.Schema
|
||||||
|
{
|
||||||
|
[XmlRoot(ElementName = "ArrayOfCombinedListMessage")]
|
||||||
|
[Serializable]
|
||||||
|
public class ArrayOfCombinedListMessage
|
||||||
|
{
|
||||||
|
[XmlElement("CombinedListMessage")]
|
||||||
|
public CombinedListMessage[] CombinedListMessage;
|
||||||
|
}
|
||||||
|
}
|
17
src/Schema/CombinedListMessage.cs
Normal file
17
src/Schema/CombinedListMessage.cs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
|
namespace sodoff.Schema
|
||||||
|
{
|
||||||
|
[Serializable]
|
||||||
|
public class CombinedListMessage
|
||||||
|
{
|
||||||
|
[XmlElement(ElementName = "MessageType")]
|
||||||
|
public int MessageType;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "MessageDate")]
|
||||||
|
public DateTime MessageDate;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "Body", IsNullable = true)]
|
||||||
|
public string MessageBody;
|
||||||
|
}
|
||||||
|
}
|
39
src/Schema/Message.cs
Normal file
39
src/Schema/Message.cs
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
|
namespace sodoff.Schema
|
||||||
|
{
|
||||||
|
[XmlRoot(ElementName = "Message")]
|
||||||
|
[Serializable]
|
||||||
|
public class Message
|
||||||
|
{
|
||||||
|
[XmlElement(ElementName = "MessageID")]
|
||||||
|
public int? MessageID;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "Creator")]
|
||||||
|
public string Creator;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "MessageLevel")]
|
||||||
|
public MessageLevel MessageLevel;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "MessageType")]
|
||||||
|
public MessageType MessageType;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "Content", IsNullable = true)]
|
||||||
|
public string? Content;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "ReplyToMessageID", IsNullable = true)]
|
||||||
|
public int? ReplyToMessageID;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "CreateTime")]
|
||||||
|
public DateTime CreateTime;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "UpdateDate", IsNullable = true)]
|
||||||
|
public DateTime? UpdateDate;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "ConversationID")]
|
||||||
|
public int ConversationID;
|
||||||
|
|
||||||
|
[XmlElement(ElementName = "DisplayAttribute", IsNullable = true)]
|
||||||
|
public string? DisplayAttribute;
|
||||||
|
}
|
||||||
|
}
|
7
src/Schema/MessageLevel.cs
Normal file
7
src/Schema/MessageLevel.cs
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
namespace sodoff.Schema;
|
||||||
|
|
||||||
|
public enum MessageLevel
|
||||||
|
{
|
||||||
|
Canned = 1,
|
||||||
|
WhiteList
|
||||||
|
}
|
10
src/Schema/MessageType.cs
Normal file
10
src/Schema/MessageType.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
namespace sodoff.Schema;
|
||||||
|
|
||||||
|
public enum MessageType
|
||||||
|
{
|
||||||
|
Chat = 1,
|
||||||
|
Post = 2,
|
||||||
|
Data = 3,
|
||||||
|
Challenge = 4,
|
||||||
|
Announcement = 5
|
||||||
|
}
|
27
src/Schema/MessageTypeID.cs
Normal file
27
src/Schema/MessageTypeID.cs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
namespace sodoff.Schema;
|
||||||
|
|
||||||
|
public enum MessageTypeID
|
||||||
|
{
|
||||||
|
Unknown = 0,
|
||||||
|
Billboard = 1,
|
||||||
|
Dialog = 2,
|
||||||
|
Notification = 3,
|
||||||
|
Rank = 4,
|
||||||
|
BuddyList = 5,
|
||||||
|
Jumpstar = 6,
|
||||||
|
SpaAdventureGift = 7,
|
||||||
|
PrizeCode = 8,
|
||||||
|
Achievement = 9,
|
||||||
|
Messaging = 10,
|
||||||
|
SocialRank = 11,
|
||||||
|
MuttCare = 12,
|
||||||
|
Mission = 13,
|
||||||
|
ChallengeWon = 14,
|
||||||
|
InviteFriend = 15,
|
||||||
|
Gifts = 19,
|
||||||
|
FriendReward = 20,
|
||||||
|
ThreadUpdate = 21,
|
||||||
|
Photo = 22,
|
||||||
|
GreetingCard = 23,
|
||||||
|
ProfileSelection = 24
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user