Click here to Skip to main content
15,886,032 members
Articles / Desktop Programming / XAML

A Sample Silverlight 4 Application Using MEF, MVVM, and WCF RIA Services - Part 1

Rate me:
Please Sign up or sign in to vote.
4.84/5 (108 votes)
7 Jul 2011CPOL9 min read 2.1M   30.9K   298  
Part 1 of a series describing the creation of a Silverlight business application using MEF, MVVM Light, and WCF RIA Services.
//------------------------------------------------------------------------------
// <auto-generated>
//    This code was generated from a template.
//
//    Manual changes to this file may cause unexpected behavior in your application.
//    Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Data.EntityClient;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Runtime.Serialization;

[assembly: EdmSchemaAttribute()]
#region EDM Relationship Metadata

[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Attributes_IssueAttributes", "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(IssueVision.Data.Web.Issue), "Attributes", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Attribute), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Files_AttachedFiles", "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(IssueVision.Data.Web.Issue), "Files", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.File), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_AssignedTo", "Users", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(IssueVision.Data.Web.User), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_ChangedBy", "Users", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(IssueVision.Data.Web.User), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_Duplicate", "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(IssueVision.Data.Web.Issue), "Issues1", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_IssueType", "IssueTypes", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(IssueVision.Data.Web.IssueType), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_OpenedBy", "Users", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(IssueVision.Data.Web.User), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_Platform", "Platforms", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(IssueVision.Data.Web.Platform), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_Resolution", "Resolutions", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(IssueVision.Data.Web.Resolution), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_ResolvedBy", "Users", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(IssueVision.Data.Web.User), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_Status", "Statuses", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(IssueVision.Data.Web.Status), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Issues_SubStatus", "SubStatuses", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(IssueVision.Data.Web.SubStatus), "Issues", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.Issue), true)]
[assembly: EdmRelationshipAttribute("IssueVisionModel", "FK_Users_PasswordQuestion", "SecurityQuestion", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(IssueVision.Data.Web.SecurityQuestion), "User", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(IssueVision.Data.Web.User), true)]

#endregion

namespace IssueVision.Data.Web
{
    #region Contexts
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    public partial class IssueVisionEntities : ObjectContext
    {
        #region Constructors
    
        /// <summary>
        /// Initializes a new IssueVisionEntities object using the connection string found in the 'IssueVisionEntities' section of the application configuration file.
        /// </summary>
        public IssueVisionEntities() : base("name=IssueVisionEntities", "IssueVisionEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new IssueVisionEntities object.
        /// </summary>
        public IssueVisionEntities(string connectionString) : base(connectionString, "IssueVisionEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new IssueVisionEntities object.
        /// </summary>
        public IssueVisionEntities(EntityConnection connection) : base(connection, "IssueVisionEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        #endregion
    
        #region Partial Methods
    
        partial void OnContextCreated();
    
        #endregion
    
        #region ObjectSet Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Attribute> Attributes
        {
            get
            {
                if ((_Attributes == null))
                {
                    _Attributes = base.CreateObjectSet<Attribute>("Attributes");
                }
                return _Attributes;
            }
        }
        private ObjectSet<Attribute> _Attributes;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<File> Files
        {
            get
            {
                if ((_Files == null))
                {
                    _Files = base.CreateObjectSet<File>("Files");
                }
                return _Files;
            }
        }
        private ObjectSet<File> _Files;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<IssueHistory> IssueHistories
        {
            get
            {
                if ((_IssueHistories == null))
                {
                    _IssueHistories = base.CreateObjectSet<IssueHistory>("IssueHistories");
                }
                return _IssueHistories;
            }
        }
        private ObjectSet<IssueHistory> _IssueHistories;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Issue> Issues
        {
            get
            {
                if ((_Issues == null))
                {
                    _Issues = base.CreateObjectSet<Issue>("Issues");
                }
                return _Issues;
            }
        }
        private ObjectSet<Issue> _Issues;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<IssueType> IssueTypes
        {
            get
            {
                if ((_IssueTypes == null))
                {
                    _IssueTypes = base.CreateObjectSet<IssueType>("IssueTypes");
                }
                return _IssueTypes;
            }
        }
        private ObjectSet<IssueType> _IssueTypes;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Platform> Platforms
        {
            get
            {
                if ((_Platforms == null))
                {
                    _Platforms = base.CreateObjectSet<Platform>("Platforms");
                }
                return _Platforms;
            }
        }
        private ObjectSet<Platform> _Platforms;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Resolution> Resolutions
        {
            get
            {
                if ((_Resolutions == null))
                {
                    _Resolutions = base.CreateObjectSet<Resolution>("Resolutions");
                }
                return _Resolutions;
            }
        }
        private ObjectSet<Resolution> _Resolutions;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Status> Statuses
        {
            get
            {
                if ((_Statuses == null))
                {
                    _Statuses = base.CreateObjectSet<Status>("Statuses");
                }
                return _Statuses;
            }
        }
        private ObjectSet<Status> _Statuses;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<SubStatus> SubStatuses
        {
            get
            {
                if ((_SubStatuses == null))
                {
                    _SubStatuses = base.CreateObjectSet<SubStatus>("SubStatuses");
                }
                return _SubStatuses;
            }
        }
        private ObjectSet<SubStatus> _SubStatuses;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<User> Users
        {
            get
            {
                if ((_Users == null))
                {
                    _Users = base.CreateObjectSet<User>("Users");
                }
                return _Users;
            }
        }
        private ObjectSet<User> _Users;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<SecurityQuestion> SecurityQuestions
        {
            get
            {
                if ((_SecurityQuestions == null))
                {
                    _SecurityQuestions = base.CreateObjectSet<SecurityQuestion>("SecurityQuestions");
                }
                return _SecurityQuestions;
            }
        }
        private ObjectSet<SecurityQuestion> _SecurityQuestions;

        #endregion
        #region AddTo Methods
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Attributes EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToAttributes(Attribute attribute)
        {
            base.AddObject("Attributes", attribute);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Files EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToFiles(File file)
        {
            base.AddObject("Files", file);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the IssueHistories EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToIssueHistories(IssueHistory issueHistory)
        {
            base.AddObject("IssueHistories", issueHistory);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Issues EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToIssues(Issue issue)
        {
            base.AddObject("Issues", issue);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the IssueTypes EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToIssueTypes(IssueType issueType)
        {
            base.AddObject("IssueTypes", issueType);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Platforms EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToPlatforms(Platform platform)
        {
            base.AddObject("Platforms", platform);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Resolutions EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToResolutions(Resolution resolution)
        {
            base.AddObject("Resolutions", resolution);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Statuses EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToStatuses(Status status)
        {
            base.AddObject("Statuses", status);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the SubStatuses EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToSubStatuses(SubStatus subStatus)
        {
            base.AddObject("SubStatuses", subStatus);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Users EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToUsers(User user)
        {
            base.AddObject("Users", user);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the SecurityQuestions EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToSecurityQuestions(SecurityQuestion securityQuestion)
        {
            base.AddObject("SecurityQuestions", securityQuestion);
        }

        #endregion
    }
    

    #endregion
    
    #region Entities
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="Attribute")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Attribute : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Attribute object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="issueID">Initial value of the IssueID property.</param>
        /// <param name="attributeName">Initial value of the AttributeName property.</param>
        /// <param name="value">Initial value of the Value property.</param>
        public static Attribute CreateAttribute(global::System.Guid id, global::System.Int64 issueID, global::System.String attributeName, global::System.String value)
        {
            Attribute attribute = new Attribute();
            attribute.ID = id;
            attribute.IssueID = issueID;
            attribute.AttributeName = attributeName;
            attribute.Value = value;
            return attribute;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Guid _ID;
        partial void OnIDChanging(global::System.Guid value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 IssueID
        {
            get
            {
                return _IssueID;
            }
            set
            {
                OnIssueIDChanging(value);
                ReportPropertyChanging("IssueID");
                _IssueID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IssueID");
                OnIssueIDChanged();
            }
        }
        private global::System.Int64 _IssueID;
        partial void OnIssueIDChanging(global::System.Int64 value);
        partial void OnIssueIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String AttributeName
        {
            get
            {
                return _AttributeName;
            }
            set
            {
                OnAttributeNameChanging(value);
                ReportPropertyChanging("AttributeName");
                _AttributeName = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("AttributeName");
                OnAttributeNameChanged();
            }
        }
        private global::System.String _AttributeName;
        partial void OnAttributeNameChanging(global::System.String value);
        partial void OnAttributeNameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Value
        {
            get
            {
                return _Value;
            }
            set
            {
                OnValueChanging(value);
                ReportPropertyChanging("Value");
                _Value = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Value");
                OnValueChanged();
            }
        }
        private global::System.String _Value;
        partial void OnValueChanging(global::System.String value);
        partial void OnValueChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="File")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class File : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new File object.
        /// </summary>
        /// <param name="fileID">Initial value of the FileID property.</param>
        /// <param name="issueID">Initial value of the IssueID property.</param>
        /// <param name="fileName">Initial value of the FileName property.</param>
        /// <param name="data">Initial value of the Data property.</param>
        public static File CreateFile(global::System.Guid fileID, global::System.Int64 issueID, global::System.String fileName, global::System.Byte[] data)
        {
            File file = new File();
            file.FileID = fileID;
            file.IssueID = issueID;
            file.FileName = fileName;
            file.Data = data;
            return file;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid FileID
        {
            get
            {
                return _FileID;
            }
            set
            {
                if (_FileID != value)
                {
                    OnFileIDChanging(value);
                    ReportPropertyChanging("FileID");
                    _FileID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("FileID");
                    OnFileIDChanged();
                }
            }
        }
        private global::System.Guid _FileID;
        partial void OnFileIDChanging(global::System.Guid value);
        partial void OnFileIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 IssueID
        {
            get
            {
                return _IssueID;
            }
            set
            {
                OnIssueIDChanging(value);
                ReportPropertyChanging("IssueID");
                _IssueID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IssueID");
                OnIssueIDChanged();
            }
        }
        private global::System.Int64 _IssueID;
        partial void OnIssueIDChanging(global::System.Int64 value);
        partial void OnIssueIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String FileName
        {
            get
            {
                return _FileName;
            }
            set
            {
                OnFileNameChanging(value);
                ReportPropertyChanging("FileName");
                _FileName = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("FileName");
                OnFileNameChanged();
            }
        }
        private global::System.String _FileName;
        partial void OnFileNameChanging(global::System.String value);
        partial void OnFileNameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte[] Data
        {
            get
            {
                return StructuralObject.GetValidValue(_Data);
            }
            set
            {
                OnDataChanging(value);
                ReportPropertyChanging("Data");
                _Data = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Data");
                OnDataChanged();
            }
        }
        private global::System.Byte[] _Data;
        partial void OnDataChanging(global::System.Byte[] value);
        partial void OnDataChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="Issue")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Issue : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Issue object.
        /// </summary>
        /// <param name="issueID">Initial value of the IssueID property.</param>
        /// <param name="title">Initial value of the Title property.</param>
        /// <param name="statusID">Initial value of the StatusID property.</param>
        /// <param name="issueTypeID">Initial value of the IssueTypeID property.</param>
        /// <param name="severity">Initial value of the Severity property.</param>
        /// <param name="priority">Initial value of the Priority property.</param>
        /// <param name="changedByID">Initial value of the ChangedByID property.</param>
        /// <param name="lastChange">Initial value of the LastChange property.</param>
        /// <param name="openedDate">Initial value of the OpenedDate property.</param>
        /// <param name="openedByID">Initial value of the OpenedByID property.</param>
        public static Issue CreateIssue(global::System.Int64 issueID, global::System.String title, global::System.Byte statusID, global::System.Byte issueTypeID, global::System.Byte severity, global::System.Byte priority, global::System.String changedByID, global::System.DateTime lastChange, global::System.DateTime openedDate, global::System.String openedByID)
        {
            Issue issue = new Issue();
            issue.IssueID = issueID;
            issue.Title = title;
            issue.StatusID = statusID;
            issue.IssueTypeID = issueTypeID;
            issue.Severity = severity;
            issue.Priority = priority;
            issue.ChangedByID = changedByID;
            issue.LastChange = lastChange;
            issue.OpenedDate = openedDate;
            issue.OpenedByID = openedByID;
            return issue;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 IssueID
        {
            get
            {
                return _IssueID;
            }
            set
            {
                if (_IssueID != value)
                {
                    OnIssueIDChanging(value);
                    ReportPropertyChanging("IssueID");
                    _IssueID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("IssueID");
                    OnIssueIDChanged();
                }
            }
        }
        private global::System.Int64 _IssueID;
        partial void OnIssueIDChanging(global::System.Int64 value);
        partial void OnIssueIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Title
        {
            get
            {
                return _Title;
            }
            set
            {
                OnTitleChanging(value);
                ReportPropertyChanging("Title");
                _Title = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Title");
                OnTitleChanged();
            }
        }
        private global::System.String _Title;
        partial void OnTitleChanging(global::System.String value);
        partial void OnTitleChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte StatusID
        {
            get
            {
                return _StatusID;
            }
            set
            {
                OnStatusIDChanging(value);
                ReportPropertyChanging("StatusID");
                _StatusID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("StatusID");
                OnStatusIDChanged();
            }
        }
        private global::System.Byte _StatusID;
        partial void OnStatusIDChanging(global::System.Byte value);
        partial void OnStatusIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Byte> SubStatusID
        {
            get
            {
                return _SubStatusID;
            }
            set
            {
                OnSubStatusIDChanging(value);
                ReportPropertyChanging("SubStatusID");
                _SubStatusID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("SubStatusID");
                OnSubStatusIDChanged();
            }
        }
        private Nullable<global::System.Byte> _SubStatusID;
        partial void OnSubStatusIDChanging(Nullable<global::System.Byte> value);
        partial void OnSubStatusIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String AssignedToID
        {
            get
            {
                return _AssignedToID;
            }
            set
            {
                OnAssignedToIDChanging(value);
                ReportPropertyChanging("AssignedToID");
                _AssignedToID = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("AssignedToID");
                OnAssignedToIDChanged();
            }
        }
        private global::System.String _AssignedToID;
        partial void OnAssignedToIDChanging(global::System.String value);
        partial void OnAssignedToIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IssueTypeID
        {
            get
            {
                return _IssueTypeID;
            }
            set
            {
                OnIssueTypeIDChanging(value);
                ReportPropertyChanging("IssueTypeID");
                _IssueTypeID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IssueTypeID");
                OnIssueTypeIDChanged();
            }
        }
        private global::System.Byte _IssueTypeID;
        partial void OnIssueTypeIDChanging(global::System.Byte value);
        partial void OnIssueTypeIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Severity
        {
            get
            {
                return _Severity;
            }
            set
            {
                OnSeverityChanging(value);
                ReportPropertyChanging("Severity");
                _Severity = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Severity");
                OnSeverityChanged();
            }
        }
        private global::System.Byte _Severity;
        partial void OnSeverityChanging(global::System.Byte value);
        partial void OnSeverityChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Priority
        {
            get
            {
                return _Priority;
            }
            set
            {
                OnPriorityChanging(value);
                ReportPropertyChanging("Priority");
                _Priority = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Priority");
                OnPriorityChanged();
            }
        }
        private global::System.Byte _Priority;
        partial void OnPriorityChanging(global::System.Byte value);
        partial void OnPriorityChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String ChangedByID
        {
            get
            {
                return _ChangedByID;
            }
            set
            {
                OnChangedByIDChanging(value);
                ReportPropertyChanging("ChangedByID");
                _ChangedByID = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("ChangedByID");
                OnChangedByIDChanged();
            }
        }
        private global::System.String _ChangedByID;
        partial void OnChangedByIDChanging(global::System.String value);
        partial void OnChangedByIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime LastChange
        {
            get
            {
                return _LastChange;
            }
            set
            {
                OnLastChangeChanging(value);
                ReportPropertyChanging("LastChange");
                _LastChange = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("LastChange");
                OnLastChangeChanged();
            }
        }
        private global::System.DateTime _LastChange;
        partial void OnLastChangeChanging(global::System.DateTime value);
        partial void OnLastChangeChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime OpenedDate
        {
            get
            {
                return _OpenedDate;
            }
            set
            {
                OnOpenedDateChanging(value);
                ReportPropertyChanging("OpenedDate");
                _OpenedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("OpenedDate");
                OnOpenedDateChanged();
            }
        }
        private global::System.DateTime _OpenedDate;
        partial void OnOpenedDateChanging(global::System.DateTime value);
        partial void OnOpenedDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String OpenedByID
        {
            get
            {
                return _OpenedByID;
            }
            set
            {
                OnOpenedByIDChanging(value);
                ReportPropertyChanging("OpenedByID");
                _OpenedByID = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("OpenedByID");
                OnOpenedByIDChanged();
            }
        }
        private global::System.String _OpenedByID;
        partial void OnOpenedByIDChanging(global::System.String value);
        partial void OnOpenedByIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int32> PlatformID
        {
            get
            {
                return _PlatformID;
            }
            set
            {
                OnPlatformIDChanging(value);
                ReportPropertyChanging("PlatformID");
                _PlatformID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("PlatformID");
                OnPlatformIDChanged();
            }
        }
        private Nullable<global::System.Int32> _PlatformID;
        partial void OnPlatformIDChanging(Nullable<global::System.Int32> value);
        partial void OnPlatformIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> ResolutionDate
        {
            get
            {
                return _ResolutionDate;
            }
            set
            {
                OnResolutionDateChanging(value);
                ReportPropertyChanging("ResolutionDate");
                _ResolutionDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ResolutionDate");
                OnResolutionDateChanged();
            }
        }
        private Nullable<global::System.DateTime> _ResolutionDate;
        partial void OnResolutionDateChanging(Nullable<global::System.DateTime> value);
        partial void OnResolutionDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Byte> ResolutionID
        {
            get
            {
                return _ResolutionID;
            }
            set
            {
                OnResolutionIDChanging(value);
                ReportPropertyChanging("ResolutionID");
                _ResolutionID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ResolutionID");
                OnResolutionIDChanged();
            }
        }
        private Nullable<global::System.Byte> _ResolutionID;
        partial void OnResolutionIDChanging(Nullable<global::System.Byte> value);
        partial void OnResolutionIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String ResolvedByID
        {
            get
            {
                return _ResolvedByID;
            }
            set
            {
                OnResolvedByIDChanging(value);
                ReportPropertyChanging("ResolvedByID");
                _ResolvedByID = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("ResolvedByID");
                OnResolvedByIDChanged();
            }
        }
        private global::System.String _ResolvedByID;
        partial void OnResolvedByIDChanging(global::System.String value);
        partial void OnResolvedByIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String Description
        {
            get
            {
                return _Description;
            }
            set
            {
                OnDescriptionChanging(value);
                ReportPropertyChanging("Description");
                _Description = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Description");
                OnDescriptionChanged();
            }
        }
        private global::System.String _Description;
        partial void OnDescriptionChanging(global::System.String value);
        partial void OnDescriptionChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String ReproSteps
        {
            get
            {
                return _ReproSteps;
            }
            set
            {
                OnReproStepsChanging(value);
                ReportPropertyChanging("ReproSteps");
                _ReproSteps = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("ReproSteps");
                OnReproStepsChanged();
            }
        }
        private global::System.String _ReproSteps;
        partial void OnReproStepsChanging(global::System.String value);
        partial void OnReproStepsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int64> DuplicateID
        {
            get
            {
                return _DuplicateID;
            }
            set
            {
                OnDuplicateIDChanging(value);
                ReportPropertyChanging("DuplicateID");
                _DuplicateID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("DuplicateID");
                OnDuplicateIDChanged();
            }
        }
        private Nullable<global::System.Int64> _DuplicateID;
        partial void OnDuplicateIDChanging(Nullable<global::System.Int64> value);
        partial void OnDuplicateIDChanged();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Attributes_IssueAttributes", "Attributes")]
        public EntityCollection<Attribute> Attributes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Attribute>("IssueVisionModel.FK_Attributes_IssueAttributes", "Attributes");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Attribute>("IssueVisionModel.FK_Attributes_IssueAttributes", "Attributes", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Files_AttachedFiles", "Files")]
        public EntityCollection<File> Files
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<File>("IssueVisionModel.FK_Files_AttachedFiles", "Files");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<File>("IssueVisionModel.FK_Files_AttachedFiles", "Files", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_AssignedTo", "Users")]
        public User AssignedToUser
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_AssignedTo", "Users").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_AssignedTo", "Users").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<User> AssignedToUserReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_AssignedTo", "Users");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<User>("IssueVisionModel.FK_Issues_AssignedTo", "Users", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_ChangedBy", "Users")]
        public User ChangedByUser
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_ChangedBy", "Users").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_ChangedBy", "Users").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<User> ChangedByUserReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_ChangedBy", "Users");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<User>("IssueVisionModel.FK_Issues_ChangedBy", "Users", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_Duplicate", "Issues1")]
        public EntityCollection<Issue> DuplicateIssues
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Issue>("IssueVisionModel.FK_Issues_Duplicate", "Issues1");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Issue>("IssueVisionModel.FK_Issues_Duplicate", "Issues1", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_Duplicate", "Issues")]
        public Issue DuplicateIssue
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Issue>("IssueVisionModel.FK_Issues_Duplicate", "Issues").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Issue>("IssueVisionModel.FK_Issues_Duplicate", "Issues").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Issue> DuplicateIssueReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Issue>("IssueVisionModel.FK_Issues_Duplicate", "Issues");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Issue>("IssueVisionModel.FK_Issues_Duplicate", "Issues", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_IssueType", "IssueTypes")]
        public IssueType IssueType
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<IssueType>("IssueVisionModel.FK_Issues_IssueType", "IssueTypes").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<IssueType>("IssueVisionModel.FK_Issues_IssueType", "IssueTypes").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<IssueType> IssueTypeReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<IssueType>("IssueVisionModel.FK_Issues_IssueType", "IssueTypes");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<IssueType>("IssueVisionModel.FK_Issues_IssueType", "IssueTypes", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_OpenedBy", "Users")]
        public User OpenedByUser
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_OpenedBy", "Users").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_OpenedBy", "Users").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<User> OpenedByUserReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_OpenedBy", "Users");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<User>("IssueVisionModel.FK_Issues_OpenedBy", "Users", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_Platform", "Platforms")]
        public Platform Platform
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Platform>("IssueVisionModel.FK_Issues_Platform", "Platforms").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Platform>("IssueVisionModel.FK_Issues_Platform", "Platforms").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Platform> PlatformReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Platform>("IssueVisionModel.FK_Issues_Platform", "Platforms");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Platform>("IssueVisionModel.FK_Issues_Platform", "Platforms", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_Resolution", "Resolutions")]
        public Resolution Resolution
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Resolution>("IssueVisionModel.FK_Issues_Resolution", "Resolutions").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Resolution>("IssueVisionModel.FK_Issues_Resolution", "Resolutions").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Resolution> ResolutionReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Resolution>("IssueVisionModel.FK_Issues_Resolution", "Resolutions");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Resolution>("IssueVisionModel.FK_Issues_Resolution", "Resolutions", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_ResolvedBy", "Users")]
        public User ResolvedByUser
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_ResolvedBy", "Users").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_ResolvedBy", "Users").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<User> ResolvedByUserReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<User>("IssueVisionModel.FK_Issues_ResolvedBy", "Users");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<User>("IssueVisionModel.FK_Issues_ResolvedBy", "Users", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_Status", "Statuses")]
        public Status Status
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Status>("IssueVisionModel.FK_Issues_Status", "Statuses").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Status>("IssueVisionModel.FK_Issues_Status", "Statuses").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Status> StatusReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Status>("IssueVisionModel.FK_Issues_Status", "Statuses");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Status>("IssueVisionModel.FK_Issues_Status", "Statuses", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("IssueVisionModel", "FK_Issues_SubStatus", "SubStatuses")]
        public SubStatus SubStatus
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<SubStatus>("IssueVisionModel.FK_Issues_SubStatus", "SubStatuses").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<SubStatus>("IssueVisionModel.FK_Issues_SubStatus", "SubStatuses").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<SubStatus> SubStatusReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<SubStatus>("IssueVisionModel.FK_Issues_SubStatus", "SubStatuses");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<SubStatus>("IssueVisionModel.FK_Issues_SubStatus", "SubStatuses", value);
                }
            }
        }

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="IssueHistory")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class IssueHistory : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new IssueHistory object.
        /// </summary>
        /// <param name="issueHistoryID">Initial value of the IssueHistoryID property.</param>
        /// <param name="issueID">Initial value of the IssueID property.</param>
        /// <param name="title">Initial value of the Title property.</param>
        /// <param name="statusID">Initial value of the StatusID property.</param>
        /// <param name="issueTypeID">Initial value of the IssueTypeID property.</param>
        /// <param name="severity">Initial value of the Severity property.</param>
        /// <param name="priority">Initial value of the Priority property.</param>
        /// <param name="changedByID">Initial value of the ChangedByID property.</param>
        /// <param name="lastChange">Initial value of the LastChange property.</param>
        /// <param name="openedDate">Initial value of the OpenedDate property.</param>
        /// <param name="openedByID">Initial value of the OpenedByID property.</param>
        /// <param name="action">Initial value of the Action property.</param>
        /// <param name="dateCreated">Initial value of the DateCreated property.</param>
        public static IssueHistory CreateIssueHistory(global::System.Int32 issueHistoryID, global::System.Int64 issueID, global::System.String title, global::System.Byte statusID, global::System.Byte issueTypeID, global::System.Byte severity, global::System.Byte priority, global::System.String changedByID, global::System.DateTime lastChange, global::System.DateTime openedDate, global::System.String openedByID, global::System.String action, global::System.DateTime dateCreated)
        {
            IssueHistory issueHistory = new IssueHistory();
            issueHistory.IssueHistoryID = issueHistoryID;
            issueHistory.IssueID = issueID;
            issueHistory.Title = title;
            issueHistory.StatusID = statusID;
            issueHistory.IssueTypeID = issueTypeID;
            issueHistory.Severity = severity;
            issueHistory.Priority = priority;
            issueHistory.ChangedByID = changedByID;
            issueHistory.LastChange = lastChange;
            issueHistory.OpenedDate = openedDate;
            issueHistory.OpenedByID = openedByID;
            issueHistory.Action = action;
            issueHistory.DateCreated = dateCreated;
            return issueHistory;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 IssueHistoryID
        {
            get
            {
                return _IssueHistoryID;
            }
            set
            {
                if (_IssueHistoryID != value)
                {
                    OnIssueHistoryIDChanging(value);
                    ReportPropertyChanging("IssueHistoryID");
                    _IssueHistoryID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("IssueHistoryID");
                    OnIssueHistoryIDChanged();
                }
            }
        }
        private global::System.Int32 _IssueHistoryID;
        partial void OnIssueHistoryIDChanging(global::System.Int32 value);
        partial void OnIssueHistoryIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 IssueID
        {
            get
            {
                return _IssueID;
            }
            set
            {
                OnIssueIDChanging(value);
                ReportPropertyChanging("IssueID");
                _IssueID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IssueID");
                OnIssueIDChanged();
            }
        }
        private global::System.Int64 _IssueID;
        partial void OnIssueIDChanging(global::System.Int64 value);
        partial void OnIssueIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Title
        {
            get
            {
                return _Title;
            }
            set
            {
                OnTitleChanging(value);
                ReportPropertyChanging("Title");
                _Title = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Title");
                OnTitleChanged();
            }
        }
        private global::System.String _Title;
        partial void OnTitleChanging(global::System.String value);
        partial void OnTitleChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte StatusID
        {
            get
            {
                return _StatusID;
            }
            set
            {
                OnStatusIDChanging(value);
                ReportPropertyChanging("StatusID");
                _StatusID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("StatusID");
                OnStatusIDChanged();
            }
        }
        private global::System.Byte _StatusID;
        partial void OnStatusIDChanging(global::System.Byte value);
        partial void OnStatusIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Byte> SubStatusID
        {
            get
            {
                return _SubStatusID;
            }
            set
            {
                OnSubStatusIDChanging(value);
                ReportPropertyChanging("SubStatusID");
                _SubStatusID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("SubStatusID");
                OnSubStatusIDChanged();
            }
        }
        private Nullable<global::System.Byte> _SubStatusID;
        partial void OnSubStatusIDChanging(Nullable<global::System.Byte> value);
        partial void OnSubStatusIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String AssignedToID
        {
            get
            {
                return _AssignedToID;
            }
            set
            {
                OnAssignedToIDChanging(value);
                ReportPropertyChanging("AssignedToID");
                _AssignedToID = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("AssignedToID");
                OnAssignedToIDChanged();
            }
        }
        private global::System.String _AssignedToID;
        partial void OnAssignedToIDChanging(global::System.String value);
        partial void OnAssignedToIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IssueTypeID
        {
            get
            {
                return _IssueTypeID;
            }
            set
            {
                OnIssueTypeIDChanging(value);
                ReportPropertyChanging("IssueTypeID");
                _IssueTypeID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IssueTypeID");
                OnIssueTypeIDChanged();
            }
        }
        private global::System.Byte _IssueTypeID;
        partial void OnIssueTypeIDChanging(global::System.Byte value);
        partial void OnIssueTypeIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Severity
        {
            get
            {
                return _Severity;
            }
            set
            {
                OnSeverityChanging(value);
                ReportPropertyChanging("Severity");
                _Severity = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Severity");
                OnSeverityChanged();
            }
        }
        private global::System.Byte _Severity;
        partial void OnSeverityChanging(global::System.Byte value);
        partial void OnSeverityChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Priority
        {
            get
            {
                return _Priority;
            }
            set
            {
                OnPriorityChanging(value);
                ReportPropertyChanging("Priority");
                _Priority = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Priority");
                OnPriorityChanged();
            }
        }
        private global::System.Byte _Priority;
        partial void OnPriorityChanging(global::System.Byte value);
        partial void OnPriorityChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String ChangedByID
        {
            get
            {
                return _ChangedByID;
            }
            set
            {
                OnChangedByIDChanging(value);
                ReportPropertyChanging("ChangedByID");
                _ChangedByID = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("ChangedByID");
                OnChangedByIDChanged();
            }
        }
        private global::System.String _ChangedByID;
        partial void OnChangedByIDChanging(global::System.String value);
        partial void OnChangedByIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime LastChange
        {
            get
            {
                return _LastChange;
            }
            set
            {
                OnLastChangeChanging(value);
                ReportPropertyChanging("LastChange");
                _LastChange = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("LastChange");
                OnLastChangeChanged();
            }
        }
        private global::System.DateTime _LastChange;
        partial void OnLastChangeChanging(global::System.DateTime value);
        partial void OnLastChangeChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime OpenedDate
        {
            get
            {
                return _OpenedDate;
            }
            set
            {
                OnOpenedDateChanging(value);
                ReportPropertyChanging("OpenedDate");
                _OpenedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("OpenedDate");
                OnOpenedDateChanged();
            }
        }
        private global::System.DateTime _OpenedDate;
        partial void OnOpenedDateChanging(global::System.DateTime value);
        partial void OnOpenedDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String OpenedByID
        {
            get
            {
                return _OpenedByID;
            }
            set
            {
                OnOpenedByIDChanging(value);
                ReportPropertyChanging("OpenedByID");
                _OpenedByID = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("OpenedByID");
                OnOpenedByIDChanged();
            }
        }
        private global::System.String _OpenedByID;
        partial void OnOpenedByIDChanging(global::System.String value);
        partial void OnOpenedByIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int32> PlatformID
        {
            get
            {
                return _PlatformID;
            }
            set
            {
                OnPlatformIDChanging(value);
                ReportPropertyChanging("PlatformID");
                _PlatformID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("PlatformID");
                OnPlatformIDChanged();
            }
        }
        private Nullable<global::System.Int32> _PlatformID;
        partial void OnPlatformIDChanging(Nullable<global::System.Int32> value);
        partial void OnPlatformIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> ResolutionDate
        {
            get
            {
                return _ResolutionDate;
            }
            set
            {
                OnResolutionDateChanging(value);
                ReportPropertyChanging("ResolutionDate");
                _ResolutionDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ResolutionDate");
                OnResolutionDateChanged();
            }
        }
        private Nullable<global::System.DateTime> _ResolutionDate;
        partial void OnResolutionDateChanging(Nullable<global::System.DateTime> value);
        partial void OnResolutionDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Byte> ResolutionID
        {
            get
            {
                return _ResolutionID;
            }
            set
            {
                OnResolutionIDChanging(value);
                ReportPropertyChanging("ResolutionID");
                _ResolutionID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ResolutionID");
                OnResolutionIDChanged();
            }
        }
        private Nullable<global::System.Byte> _ResolutionID;
        partial void OnResolutionIDChanging(Nullable<global::System.Byte> value);
        partial void OnResolutionIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String ResolvedByID
        {
            get
            {
                return _ResolvedByID;
            }
            set
            {
                OnResolvedByIDChanging(value);
                ReportPropertyChanging("ResolvedByID");
                _ResolvedByID = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("ResolvedByID");
                OnResolvedByIDChanged();
            }
        }
        private global::System.String _ResolvedByID;
        partial void OnResolvedByIDChanging(global::System.String value);
        partial void OnResolvedByIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String Description
        {
            get
            {
                return _Description;
            }
            set
            {
                OnDescriptionChanging(value);
                ReportPropertyChanging("Description");
                _Description = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Description");
                OnDescriptionChanged();
            }
        }
        private global::System.String _Description;
        partial void OnDescriptionChanging(global::System.String value);
        partial void OnDescriptionChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String ReproSteps
        {
            get
            {
                return _ReproSteps;
            }
            set
            {
                OnReproStepsChanging(value);
                ReportPropertyChanging("ReproSteps");
                _ReproSteps = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("ReproSteps");
                OnReproStepsChanged();
            }
        }
        private global::System.String _ReproSteps;
        partial void OnReproStepsChanging(global::System.String value);
        partial void OnReproStepsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int64> DuplicateID
        {
            get
            {
                return _DuplicateID;
            }
            set
            {
                OnDuplicateIDChanging(value);
                ReportPropertyChanging("DuplicateID");
                _DuplicateID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("DuplicateID");
                OnDuplicateIDChanged();
            }
        }
        private Nullable<global::System.Int64> _DuplicateID;
        partial void OnDuplicateIDChanging(Nullable<global::System.Int64> value);
        partial void OnDuplicateIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Action
        {
            get
            {
                return _Action;
            }
            set
            {
                OnActionChanging(value);
                ReportPropertyChanging("Action");
                _Action = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Action");
                OnActionChanged();
            }
        }
        private global::System.String _Action;
        partial void OnActionChanging(global::System.String value);
        partial void OnActionChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String Comment
        {
            get
            {
                return _Comment;
            }
            set
            {
                OnCommentChanging(value);
                ReportPropertyChanging("Comment");
                _Comment = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Comment");
                OnCommentChanged();
            }
        }
        private global::System.String _Comment;
        partial void OnCommentChanging(global::System.String value);
        partial void OnCommentChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime DateCreated
        {
            get
            {
                return _DateCreated;
            }
            set
            {
                OnDateCreatedChanging(value);
                ReportPropertyChanging("DateCreated");
                _DateCreated = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("DateCreated");
                OnDateCreatedChanged();
            }
        }
        private global::System.DateTime _DateCreated;
        partial void OnDateCreatedChanging(global::System.DateTime value);
        partial void OnDateCreatedChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="IssueType")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class IssueType : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new IssueType object.
        /// </summary>
        /// <param name="issueTypeID">Initial value of the IssueTypeID property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        public static IssueType CreateIssueType(global::System.Byte issueTypeID, global::System.String name)
        {
            IssueType issueType = new IssueType();
            issueType.IssueTypeID = issueTypeID;
            issueType.Name = name;
            return issueType;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IssueTypeID
        {
            get
            {
                return _IssueTypeID;
            }
            set
            {
                if (_IssueTypeID != value)
                {
                    OnIssueTypeIDChanging(value);
                    ReportPropertyChanging("IssueTypeID");
                    _IssueTypeID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("IssueTypeID");
                    OnIssueTypeIDChanged();
                }
            }
        }
        private global::System.Byte _IssueTypeID;
        partial void OnIssueTypeIDChanging(global::System.Byte value);
        partial void OnIssueTypeIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Name
        {
            get
            {
                return _Name;
            }
            set
            {
                OnNameChanging(value);
                ReportPropertyChanging("Name");
                _Name = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Name");
                OnNameChanged();
            }
        }
        private global::System.String _Name;
        partial void OnNameChanging(global::System.String value);
        partial void OnNameChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="Platform")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Platform : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Platform object.
        /// </summary>
        /// <param name="platformID">Initial value of the PlatformID property.</param>
        /// <param name="browser">Initial value of the Browser property.</param>
        /// <param name="browserVersion">Initial value of the BrowserVersion property.</param>
        /// <param name="oS">Initial value of the OS property.</param>
        /// <param name="oSVersion">Initial value of the OSVersion property.</param>
        public static Platform CreatePlatform(global::System.Int32 platformID, global::System.String browser, global::System.String browserVersion, global::System.String oS, global::System.String oSVersion)
        {
            Platform platform = new Platform();
            platform.PlatformID = platformID;
            platform.Browser = browser;
            platform.BrowserVersion = browserVersion;
            platform.OS = oS;
            platform.OSVersion = oSVersion;
            return platform;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 PlatformID
        {
            get
            {
                return _PlatformID;
            }
            set
            {
                if (_PlatformID != value)
                {
                    OnPlatformIDChanging(value);
                    ReportPropertyChanging("PlatformID");
                    _PlatformID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("PlatformID");
                    OnPlatformIDChanged();
                }
            }
        }
        private global::System.Int32 _PlatformID;
        partial void OnPlatformIDChanging(global::System.Int32 value);
        partial void OnPlatformIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Browser
        {
            get
            {
                return _Browser;
            }
            set
            {
                OnBrowserChanging(value);
                ReportPropertyChanging("Browser");
                _Browser = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Browser");
                OnBrowserChanged();
            }
        }
        private global::System.String _Browser;
        partial void OnBrowserChanging(global::System.String value);
        partial void OnBrowserChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String BrowserVersion
        {
            get
            {
                return _BrowserVersion;
            }
            set
            {
                OnBrowserVersionChanging(value);
                ReportPropertyChanging("BrowserVersion");
                _BrowserVersion = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("BrowserVersion");
                OnBrowserVersionChanged();
            }
        }
        private global::System.String _BrowserVersion;
        partial void OnBrowserVersionChanging(global::System.String value);
        partial void OnBrowserVersionChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String OS
        {
            get
            {
                return _OS;
            }
            set
            {
                OnOSChanging(value);
                ReportPropertyChanging("OS");
                _OS = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("OS");
                OnOSChanged();
            }
        }
        private global::System.String _OS;
        partial void OnOSChanging(global::System.String value);
        partial void OnOSChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String OSVersion
        {
            get
            {
                return _OSVersion;
            }
            set
            {
                OnOSVersionChanging(value);
                ReportPropertyChanging("OSVersion");
                _OSVersion = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("OSVersion");
                OnOSVersionChanged();
            }
        }
        private global::System.String _OSVersion;
        partial void OnOSVersionChanging(global::System.String value);
        partial void OnOSVersionChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String Language
        {
            get
            {
                return _Language;
            }
            set
            {
                OnLanguageChanging(value);
                ReportPropertyChanging("Language");
                _Language = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Language");
                OnLanguageChanged();
            }
        }
        private global::System.String _Language;
        partial void OnLanguageChanging(global::System.String value);
        partial void OnLanguageChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String Processor
        {
            get
            {
                return _Processor;
            }
            set
            {
                OnProcessorChanging(value);
                ReportPropertyChanging("Processor");
                _Processor = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Processor");
                OnProcessorChanged();
            }
        }
        private global::System.String _Processor;
        partial void OnProcessorChanging(global::System.String value);
        partial void OnProcessorChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="Resolution")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Resolution : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Resolution object.
        /// </summary>
        /// <param name="resolutionID">Initial value of the ResolutionID property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        public static Resolution CreateResolution(global::System.Byte resolutionID, global::System.String name)
        {
            Resolution resolution = new Resolution();
            resolution.ResolutionID = resolutionID;
            resolution.Name = name;
            return resolution;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte ResolutionID
        {
            get
            {
                return _ResolutionID;
            }
            set
            {
                if (_ResolutionID != value)
                {
                    OnResolutionIDChanging(value);
                    ReportPropertyChanging("ResolutionID");
                    _ResolutionID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ResolutionID");
                    OnResolutionIDChanged();
                }
            }
        }
        private global::System.Byte _ResolutionID;
        partial void OnResolutionIDChanging(global::System.Byte value);
        partial void OnResolutionIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Name
        {
            get
            {
                return _Name;
            }
            set
            {
                OnNameChanging(value);
                ReportPropertyChanging("Name");
                _Name = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Name");
                OnNameChanged();
            }
        }
        private global::System.String _Name;
        partial void OnNameChanging(global::System.String value);
        partial void OnNameChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="SecurityQuestion")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class SecurityQuestion : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new SecurityQuestion object.
        /// </summary>
        /// <param name="passwordQuestion">Initial value of the PasswordQuestion property.</param>
        public static SecurityQuestion CreateSecurityQuestion(global::System.String passwordQuestion)
        {
            SecurityQuestion securityQuestion = new SecurityQuestion();
            securityQuestion.PasswordQuestion = passwordQuestion;
            return securityQuestion;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String PasswordQuestion
        {
            get
            {
                return _PasswordQuestion;
            }
            set
            {
                if (_PasswordQuestion != value)
                {
                    OnPasswordQuestionChanging(value);
                    ReportPropertyChanging("PasswordQuestion");
                    _PasswordQuestion = StructuralObject.SetValidValue(value, false);
                    ReportPropertyChanged("PasswordQuestion");
                    OnPasswordQuestionChanged();
                }
            }
        }
        private global::System.String _PasswordQuestion;
        partial void OnPasswordQuestionChanging(global::System.String value);
        partial void OnPasswordQuestionChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="Status")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Status : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Status object.
        /// </summary>
        /// <param name="statusID">Initial value of the StatusID property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        public static Status CreateStatus(global::System.Byte statusID, global::System.String name)
        {
            Status status = new Status();
            status.StatusID = statusID;
            status.Name = name;
            return status;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte StatusID
        {
            get
            {
                return _StatusID;
            }
            set
            {
                if (_StatusID != value)
                {
                    OnStatusIDChanging(value);
                    ReportPropertyChanging("StatusID");
                    _StatusID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("StatusID");
                    OnStatusIDChanged();
                }
            }
        }
        private global::System.Byte _StatusID;
        partial void OnStatusIDChanging(global::System.Byte value);
        partial void OnStatusIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Name
        {
            get
            {
                return _Name;
            }
            set
            {
                OnNameChanging(value);
                ReportPropertyChanging("Name");
                _Name = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Name");
                OnNameChanged();
            }
        }
        private global::System.String _Name;
        partial void OnNameChanging(global::System.String value);
        partial void OnNameChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="SubStatus")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class SubStatus : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new SubStatus object.
        /// </summary>
        /// <param name="subStatusId">Initial value of the SubStatusId property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        public static SubStatus CreateSubStatus(global::System.Byte subStatusId, global::System.String name)
        {
            SubStatus subStatus = new SubStatus();
            subStatus.SubStatusId = subStatusId;
            subStatus.Name = name;
            return subStatus;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte SubStatusId
        {
            get
            {
                return _SubStatusId;
            }
            set
            {
                if (_SubStatusId != value)
                {
                    OnSubStatusIdChanging(value);
                    ReportPropertyChanging("SubStatusId");
                    _SubStatusId = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("SubStatusId");
                    OnSubStatusIdChanged();
                }
            }
        }
        private global::System.Byte _SubStatusId;
        partial void OnSubStatusIdChanging(global::System.Byte value);
        partial void OnSubStatusIdChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Name
        {
            get
            {
                return _Name;
            }
            set
            {
                OnNameChanging(value);
                ReportPropertyChanging("Name");
                _Name = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Name");
                OnNameChanged();
            }
        }
        private global::System.String _Name;
        partial void OnNameChanging(global::System.String value);
        partial void OnNameChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="IssueVisionModel", Name="User")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class User : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new User object.
        /// </summary>
        /// <param name="name">Initial value of the Name property.</param>
        /// <param name="firstName">Initial value of the FirstName property.</param>
        /// <param name="lastName">Initial value of the LastName property.</param>
        /// <param name="passwordHash">Initial value of the PasswordHash property.</param>
        /// <param name="passwordSalt">Initial value of the PasswordSalt property.</param>
        /// <param name="passwordQuestion">Initial value of the PasswordQuestion property.</param>
        /// <param name="passwordAnswerHash">Initial value of the PasswordAnswerHash property.</param>
        /// <param name="passwordAnswerSalt">Initial value of the PasswordAnswerSalt property.</param>
        /// <param name="userType">Initial value of the UserType property.</param>
        /// <param name="profileReset">Initial value of the ProfileReset property.</param>
        public static User CreateUser(global::System.String name, global::System.String firstName, global::System.String lastName, global::System.String passwordHash, global::System.String passwordSalt, global::System.String passwordQuestion, global::System.String passwordAnswerHash, global::System.String passwordAnswerSalt, global::System.String userType, global::System.Byte profileReset)
        {
            User user = new User();
            user.Name = name;
            user.FirstName = firstName;
            user.LastName = lastName;
            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;
            user.PasswordQuestion = passwordQuestion;
            user.PasswordAnswerHash = passwordAnswerHash;
            user.PasswordAnswerSalt = passwordAnswerSalt;
            user.UserType = userType;
            user.ProfileReset = profileReset;
            return user;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Name
        {
            get
            {
                return _Name;
            }
            set
            {
                if (_Name != value)
                {
                    OnNameChanging(value);
                    ReportPropertyChanging("Name");
                    _Name = StructuralObject.SetValidValue(value, false);
                    ReportPropertyChanged("Name");
                    OnNameChanged();
                }
            }
        }
        private global::System.String _Name;
        partial void OnNameChanging(global::System.String value);
        partial void OnNameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String FirstName
        {
            get
            {
                return _FirstName;
            }
            set
            {
                OnFirstNameChanging(value);
                ReportPropertyChanging("FirstName");
                _FirstName = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("FirstName");
                OnFirstNameChanged();
            }
        }
        private global::System.String _FirstName;
        partial void OnFirstNameChanging(global::System.String value);
        partial void OnFirstNameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String LastName
        {
            get
            {
                return _LastName;
            }
            set
            {
                OnLastNameChanging(value);
                ReportPropertyChanging("LastName");
                _LastName = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("LastName");
                OnLastNameChanged();
            }
        }
        private global::System.String _LastName;
        partial void OnLastNameChanging(global::System.String value);
        partial void OnLastNameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String Email
        {
            get
            {
                return _Email;
            }
            set
            {
                OnEmailChanging(value);
                ReportPropertyChanging("Email");
                _Email = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Email");
                OnEmailChanged();
            }
        }
        private global::System.String _Email;
        partial void OnEmailChanging(global::System.String value);
        partial void OnEmailChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String PasswordHash
        {
            get
            {
                return _PasswordHash;
            }
            set
            {
                OnPasswordHashChanging(value);
                ReportPropertyChanging("PasswordHash");
                _PasswordHash = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("PasswordHash");
                OnPasswordHashChanged();
            }
        }
        private global::System.String _PasswordHash;
        partial void OnPasswordHashChanging(global::System.String value);
        partial void OnPasswordHashChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String PasswordSalt
        {
            get
            {
                return _PasswordSalt;
            }
            set
            {
                OnPasswordSaltChanging(value);
                ReportPropertyChanging("PasswordSalt");
                _PasswordSalt = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("PasswordSalt");
                OnPasswordSaltChanged();
            }
        }
        private global::System.String _PasswordSalt;
        partial void OnPasswordSaltChanging(global::System.String value);
        partial void OnPasswordSaltChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String PasswordQuestion
        {
            get
            {
                return _PasswordQuestion;
            }
            set
            {
                OnPasswordQuestionChanging(value);
                ReportPropertyChanging("PasswordQuestion");
                _PasswordQuestion = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("PasswordQuestion");
                OnPasswordQuestionChanged();
            }
        }
        private global::System.String _PasswordQuestion;
        partial void OnPasswordQuestionChanging(global::System.String value);
        partial void OnPasswordQuestionChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String PasswordAnswerHash
        {
            get
            {
                return _PasswordAnswerHash;
            }
            set
            {
                OnPasswordAnswerHashChanging(value);
                ReportPropertyChanging("PasswordAnswerHash");
                _PasswordAnswerHash = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("PasswordAnswerHash");
                OnPasswordAnswerHashChanged();
            }
        }
        private global::System.String _PasswordAnswerHash;
        partial void OnPasswordAnswerHashChanging(global::System.String value);
        partial void OnPasswordAnswerHashChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String PasswordAnswerSalt
        {
            get
            {
                return _PasswordAnswerSalt;
            }
            set
            {
                OnPasswordAnswerSaltChanging(value);
                ReportPropertyChanging("PasswordAnswerSalt");
                _PasswordAnswerSalt = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("PasswordAnswerSalt");
                OnPasswordAnswerSaltChanged();
            }
        }
        private global::System.String _PasswordAnswerSalt;
        partial void OnPasswordAnswerSaltChanging(global::System.String value);
        partial void OnPasswordAnswerSaltChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String UserType
        {
            get
            {
                return _UserType;
            }
            set
            {
                OnUserTypeChanging(value);
                ReportPropertyChanging("UserType");
                _UserType = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("UserType");
                OnUserTypeChanged();
            }
        }
        private global::System.String _UserType;
        partial void OnUserTypeChanging(global::System.String value);
        partial void OnUserTypeChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte ProfileReset
        {
            get
            {
                return _ProfileReset;
            }
            set
            {
                OnProfileResetChanging(value);
                ReportPropertyChanging("ProfileReset");
                _ProfileReset = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ProfileReset");
                OnProfileResetChanged();
            }
        }
        private global::System.Byte _ProfileReset;
        partial void OnProfileResetChanging(global::System.Byte value);
        partial void OnProfileResetChanged();

        #endregion
    
    }

    #endregion
    
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United States United States
Weidong has been an information system professional since 1990. He has a Master's degree in Computer Science, and is currently a MCSD .NET

Comments and Discussions