using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Interfaces.Groups;

namespace AyCode.Entities.Groups
{
    //[Table("Groups")]
    public abstract class GroupBase : IGroupBase
    {
        protected GroupBase() { }

        protected GroupBase(bool isPublic) : this(Guid.NewGuid(), isPublic) { }

        protected GroupBase(Guid id, bool isPublic) : this()
        {
            Id = id;
            IsPublic = isPublic;            
        }      

        [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
        public Guid Id { get; set; }
        public bool IsPublic { get; set; }        
        public DateTime Created { get; set; }
        public DateTime Modified { get; set; }
    }
}

