files tree made better.

This commit is contained in:
2019-01-01 16:28:47 +00:00
parent cb96933a25
commit 5b8e9b3975
1633 changed files with 18220 additions and 41869 deletions

View File

@ -0,0 +1,50 @@
//
// Connection.cs
//
// Author:
// Paul Schneider <paulschneider@free.fr>
//
// Copyright (c) 2015 - 2017 Paul Schneider
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using Newtonsoft.Json;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Yavsc.Models.Chat
{
public class ChatConnection : Abstract.Streaming.IChatConnection<ChatRoomPresence>
{
[JsonIgnore,Required]
public string ApplicationUserId { get; set; }
[ForeignKey("ApplicationUserId"),JsonIgnore]
public virtual ApplicationUser Owner { get; set; }
[Key]
public string ConnectionId { get; set; }
public string UserAgent { get; set; }
public bool Connected { get; set; }
[InverseProperty("ChatUserConnection")]
public virtual List<ChatRoomPresence> Rooms { get; set; }
}
}

View File

@ -0,0 +1,27 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Yavsc.Abstract.Streaming;
namespace Yavsc.Models.Chat
{
public class ChatRoom: IChatRoom<ChatRoomPresence>
{
[StringLengthAttribute(1023,MinimumLength=1)]
public string Topic { get; set; }
[Key]
[StringLengthAttribute(255,MinimumLength=1)]
public string Name { get; set;}
public string ApplicationUserId { get; set; }
[ForeignKey("ApplicationUserId")]
public virtual ApplicationUser Owner { get; set; }
[InverseProperty("Room")]
public virtual List<ChatRoomPresence> UserList { get; set;}
}
}

View File

@ -0,0 +1,23 @@
using System.ComponentModel.DataAnnotations.Schema;
using Yavsc.Abstract.Streaming;
namespace Yavsc.Models.Chat
{
public class ChatRoomPresence: IChatRoomUsage
{
public string ChannelName { get; set; }
[ForeignKey("ChannelName")]
public virtual ChatRoom Room { get; set; }
public string ChatUserConnectionId { get; set; }
[ForeignKey("ChatUserConnectionId")]
public virtual ChatConnection ChatUserConnection { get; set; }
public ChatRoomUsageLevel Level
{
get; set;
}
}
}