diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/Image.cs b/PROMS/VEPROMS.CSLA.Library/Generated/Image.cs index 65aca996..a580ecff 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/Image.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/Image.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -37,10 +35,7 @@ namespace VEPROMS.CSLA.Library if (IsDirty) refreshImages.Add(this); } - private void ClearRefreshList() - { - _RefreshImages = new List(); - } + private void ClearRefreshList() => _RefreshImages = new List(); private void BuildRefreshList() { ClearRefreshList(); @@ -56,16 +51,18 @@ namespace VEPROMS.CSLA.Library } #endregion #region Collection + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static List _CacheList = new List(); + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] protected static void AddToCache(Image image) { - // B2021-147 commented out to fix out of memory bug - //if (!_CacheList.Contains(image)) _CacheList.Add(image); // In AddToCache + } protected static void RemoveFromCache(Image image) { while (_CacheList.Contains(image)) _CacheList.Remove(image); // In RemoveFromCache } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static Dictionary> _CacheByPrimaryKey = new Dictionary>(); private static void ConvertListToDictionary() { @@ -91,10 +88,7 @@ namespace VEPROMS.CSLA.Library #endregion #region Business Methods private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + public string ErrorMessage => _ErrorMessage; private int _ContentID; [System.ComponentModel.DataObjectField(true, true)] public int ContentID @@ -232,40 +226,18 @@ namespace VEPROMS.CSLA.Library } } private byte[] _LastChanged = new byte[8];//timestamp - public override bool IsDirty - { - get { return base.IsDirty; } - } - public bool IsDirtyList(List list) - { - return base.IsDirty; - } - public override bool IsValid - { - get { return (IsNew && !IsDirty) ? true : base.IsValid; } - } - public bool IsValidList(List list) - { - return (IsNew && !IsDirty) ? true : base.IsValid; - } - // CSLATODO: Replace base Image.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current Image - //public override string ToString() - //{ - // return base.ToString(); - //} + public override bool IsDirty => base.IsDirty; + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] + public bool IsDirtyList(List list) => base.IsDirty; + public override bool IsValid => (IsNew && !IsDirty) || base.IsValid; + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] + public bool IsValidList(List list) => (IsNew && !IsDirty) || base.IsValid; // CSLATODO: Check Image.GetIdValue to assure that the ID returned is unique /// /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current Image - protected override object GetIdValue() - { - return MyImageUnique; // Absolutely Unique ID - } + protected override object GetIdValue() => MyImageUnique; // Absolutely Unique ID #endregion #region ValidationRules [NonSerialized] @@ -293,8 +265,8 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + if (Equals(hasBrokenRules)) return BrokenRulesCollection; + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -321,35 +293,11 @@ namespace VEPROMS.CSLA.Library _ImageExtension.AddInstanceValidationRules(ValidationRules); // CSLATODO: Add other validation rules } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(ContentID, ""); - //AuthorizationRules.AllowRead(ImageType, ""); - //AuthorizationRules.AllowRead(FileName, ""); - //AuthorizationRules.AllowRead(Data, ""); - //AuthorizationRules.AllowRead(Config, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowWrite(ImageType, ""); - //AuthorizationRules.AllowWrite(FileName, ""); - //AuthorizationRules.AllowWrite(Data, ""); - //AuthorizationRules.AllowWrite(Config, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowWrite(UserID, ""); _ImageExtension.AddAuthorizationRules(AuthorizationRules); } protected override void AddInstanceAuthorizationRules() @@ -357,42 +305,14 @@ namespace VEPROMS.CSLA.Library //CSLATODO: Who can read/write which fields _ImageExtension.AddInstanceAuthorizationRules(AuthorizationRules); } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ImageUnique = 0; - protected static int ImageUnique - { get { return ++_ImageUnique; } } - private int _MyImageUnique = ImageUnique; - public int MyImageUnique // Absolutely Unique ID - Editable - { get { return _MyImageUnique; } } + protected static int ImageUnique => ++_ImageUnique; + private readonly int _MyImageUnique = ImageUnique; + // Absolutely Unique ID - Editable + public int MyImageUnique => _MyImageUnique; protected Image() {/* require use of factory methods */ AddToCache(this); @@ -401,15 +321,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~Image() { _CountFinalized++; @@ -434,8 +350,6 @@ namespace VEPROMS.CSLA.Library } public static Image New() { - if (!CanAddObject()) - throw new System.Security.SecurityException("User not authorized to add a Image"); try { return DataPortal.Create(); @@ -516,8 +430,6 @@ namespace VEPROMS.CSLA.Library } public static Image Get(int contentID) { - if (!CanGetObject()) - throw new System.Security.SecurityException("User not authorized to view a Image"); try { Image tmp = GetCachedByPrimaryKey(contentID); @@ -543,14 +455,9 @@ namespace VEPROMS.CSLA.Library if (dr.Read()) return new Image(dr); return null; } - internal Image(SafeDataReader dr) - { - ReadData(dr); - } + internal Image(SafeDataReader dr) => ReadData(dr); public static void Delete(int contentID) { - if (!CanDeleteObject()) - throw new System.Security.SecurityException("User not authorized to remove a Image"); try { DataPortal.Delete(new PKCriteria(contentID)); @@ -562,12 +469,6 @@ namespace VEPROMS.CSLA.Library } public override Image Save() { - if (IsDeleted && !CanDeleteObject()) - throw new System.Security.SecurityException("User not authorized to remove a Image"); - else if (IsNew && !CanAddObject()) - throw new System.Security.SecurityException("User not authorized to add a Image"); - else if (!CanEditObject()) - throw new System.Security.SecurityException("User not authorized to update a Image"); try { BuildRefreshList(); @@ -587,13 +488,9 @@ namespace VEPROMS.CSLA.Library [Serializable()] protected class PKCriteria { - private int _ContentID; - public int ContentID - { get { return _ContentID; } } - public PKCriteria(int contentID) - { - _ContentID = contentID; - } + private readonly int _ContentID; + public int ContentID => _ContentID; + public PKCriteria(int contentID) => _ContentID = contentID; } // CSLATODO: If Create needs to access DB - It should not be marked RunLocal [RunLocal()] @@ -693,32 +590,37 @@ namespace VEPROMS.CSLA.Library [Transactional(TransactionalTypes.TransactionScope)] internal void SQLInsert() { - if (!this.IsDirty) return; + if (!IsDirty) return; try { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - using (SqlCommand cm = cn.CreateCommand()) + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandTimeout = Database.SQLTimeout; - cm.CommandText = "addImage"; - // Input All Fields - Except Calculated Columns - cm.Parameters.AddWithValue("@ContentID", ContentID); - cm.Parameters.AddWithValue("@ImageType", _ImageType); - cm.Parameters.AddWithValue("@FileName", _FileName); - cm.Parameters.AddWithValue("@Data", _Data); - cm.Parameters.AddWithValue("@Config", _Config); - if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); - cm.Parameters.AddWithValue("@UserID", _UserID); - // Output Calculated Columns - SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp); - param_LastChanged.Direction = ParameterDirection.Output; - cm.Parameters.Add(param_LastChanged); - // CSLATODO: Define any additional output parameters - cm.ExecuteNonQuery(); - // Save all values being returned from the Procedure - _LastChanged = (byte[])cm.Parameters["@newLastChanged"].Value; + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "addImage"; + // Input All Fields - Except Calculated Columns + cm.Parameters.AddWithValue("@ContentID", ContentID); + cm.Parameters.AddWithValue("@ImageType", _ImageType); + cm.Parameters.AddWithValue("@FileName", _FileName); + cm.Parameters.AddWithValue("@Data", _Data); + cm.Parameters.AddWithValue("@Config", _Config); + if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); + cm.Parameters.AddWithValue("@UserID", _UserID); + // Output Calculated Columns + SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp) + { + Direction = ParameterDirection.Output + }; + cm.Parameters.Add(param_LastChanged); + // CSLATODO: Define any additional output parameters + cm.ExecuteNonQuery(); + // Save all values being returned from the Procedure + _LastChanged = (byte[])cm.Parameters["@newLastChanged"].Value; + } } + MarkOld(); // update child objects if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Image.SQLInsert", GetHashCode()); @@ -750,8 +652,10 @@ namespace VEPROMS.CSLA.Library if (dts.Year >= 1753 && dts.Year <= 9999) cm.Parameters.AddWithValue("@DTS", dts); cm.Parameters.AddWithValue("@UserID", userID); // Output Calculated Columns - SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp); - param_LastChanged.Direction = ParameterDirection.Output; + SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp) + { + Direction = ParameterDirection.Output + }; cm.Parameters.Add(param_LastChanged); // CSLATODO: Define any additional output parameters cm.ExecuteNonQuery(); @@ -795,33 +699,38 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Image.SQLUpdate", GetHashCode()); try { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - if (base.IsDirty) + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) { - using (SqlCommand cm = cn.CreateCommand()) + if (base.IsDirty) { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandTimeout = Database.SQLTimeout; - cm.CommandText = "updateImage"; - // All Fields including Calculated Fields - cm.Parameters.AddWithValue("@ContentID", ContentID); - cm.Parameters.AddWithValue("@ImageType", _ImageType); - cm.Parameters.AddWithValue("@FileName", _FileName); - cm.Parameters.AddWithValue("@Data", _Data); - cm.Parameters.AddWithValue("@Config", _Config); - if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); - cm.Parameters.AddWithValue("@UserID", _UserID); - cm.Parameters.AddWithValue("@LastChanged", _LastChanged); - // Output Calculated Columns - SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp); - param_LastChanged.Direction = ParameterDirection.Output; - cm.Parameters.Add(param_LastChanged); - // CSLATODO: Define any additional output parameters - cm.ExecuteNonQuery(); - // Save all values being returned from the Procedure - _LastChanged = (byte[])cm.Parameters["@newLastChanged"].Value; + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "updateImage"; + // All Fields including Calculated Fields + cm.Parameters.AddWithValue("@ContentID", ContentID); + cm.Parameters.AddWithValue("@ImageType", _ImageType); + cm.Parameters.AddWithValue("@FileName", _FileName); + cm.Parameters.AddWithValue("@Data", _Data); + cm.Parameters.AddWithValue("@Config", _Config); + if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); + cm.Parameters.AddWithValue("@UserID", _UserID); + cm.Parameters.AddWithValue("@LastChanged", _LastChanged); + // Output Calculated Columns + SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp) + { + Direction = ParameterDirection.Output + }; + cm.Parameters.Add(param_LastChanged); + // CSLATODO: Define any additional output parameters + cm.ExecuteNonQuery(); + // Save all values being returned from the Procedure + _LastChanged = (byte[])cm.Parameters["@newLastChanged"].Value; + } } } + MarkOld(); // use the open connection to update child objects } @@ -834,14 +743,17 @@ namespace VEPROMS.CSLA.Library } internal void Update(Content content) { - if (!this.IsDirty) return; + if (!IsDirty) return; if (base.IsDirty) { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - if (IsNew) - _LastChanged = Image.Add(cn, content, _ImageType, _FileName, _Data, _Config, _DTS, _UserID); - else - _LastChanged = Image.Update(cn, content.ContentID, _ImageType, _FileName, _Data, _Config, _DTS, _UserID, ref _LastChanged); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + if (IsNew) + _LastChanged = Image.Add(cn, content, _ImageType, _FileName, _Data, _Config, _DTS, _UserID); + else + _LastChanged = Image.Update(cn, content.ContentID, _ImageType, _FileName, _Data, _Config, _DTS, _UserID, ref _LastChanged); + } + MarkOld(); } } @@ -866,8 +778,10 @@ namespace VEPROMS.CSLA.Library cm.Parameters.AddWithValue("@UserID", userID); cm.Parameters.AddWithValue("@LastChanged", lastChanged); // Output Calculated Columns - SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp); - param_LastChanged.Direction = ParameterDirection.Output; + SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp) + { + Direction = ParameterDirection.Output + }; cm.Parameters.Add(param_LastChanged); // CSLATODO: Define any additional output parameters cm.ExecuteNonQuery(); @@ -952,16 +866,10 @@ namespace VEPROMS.CSLA.Library [Serializable()] private class ExistsCommand : CommandBase { - private int _ContentID; + private readonly int _ContentID; private bool _exists; - public bool Exists - { - get { return _exists; } - } - public ExistsCommand(int contentID) - { - _ContentID = contentID; - } + public bool Exists => _exists; + public ExistsCommand(int contentID) => _ContentID = contentID; protected override void DataPortal_Execute() { if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Image.DataPortal_Execute", GetHashCode()); @@ -991,7 +899,7 @@ namespace VEPROMS.CSLA.Library #endregion // Standard Default Code #region extension - ImageExtension _ImageExtension = new ImageExtension(); + readonly ImageExtension _ImageExtension = new ImageExtension(); [Serializable()] partial class ImageExtension : extensionBase { @@ -1000,18 +908,9 @@ namespace VEPROMS.CSLA.Library class extensionBase { // Default Values - public virtual int DefaultImageType - { - get { return 1; } - } - public virtual DateTime DefaultDTS - { - get { return DateTime.Now; } - } - public virtual string DefaultUserID - { - get { return Volian.Base.Library.VlnSettings.UserID; } - } + public virtual int DefaultImageType => 1; + public virtual DateTime DefaultDTS => DateTime.Now; + public virtual string DefaultUserID => Volian.Base.Library.VlnSettings.UserID; // Authorization Rules public virtual void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) { @@ -1040,61 +939,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is Image) + if (destType == typeof(string) && value is Image myimage) { // Return the ToString value - return ((Image)value).ToString(); + return myimage.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ImageExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class Image -// { -// partial class ImageExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public virtual int DefaultImageType -// { -// get { return 1; } -// } -// public virtual DateTime DefaultDTS -// { -// get { return DateTime.Now; } -// } -// public virtual string DefaultUserID -// { -// get { return Environment.UserName.ToUpper(); } -// } -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ImageAudit.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ImageAudit.cs index e7b500b6..dcf42387 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ImageAudit.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ImageAudit.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -37,10 +35,7 @@ namespace VEPROMS.CSLA.Library if (IsDirty) refreshImageAudits.Add(this); } - private void ClearRefreshList() - { - _RefreshImageAudits = new List(); - } + private void ClearRefreshList() => _RefreshImageAudits = new List(); private void BuildRefreshList() { ClearRefreshList(); @@ -56,6 +51,7 @@ namespace VEPROMS.CSLA.Library } #endregion #region Collection + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static List _CacheList = new List(); protected static void AddToCache(ImageAudit imageAudit) { @@ -65,6 +61,7 @@ namespace VEPROMS.CSLA.Library { while (_CacheList.Contains(imageAudit)) _CacheList.Remove(imageAudit); // In RemoveFromCache } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static Dictionary> _CacheByPrimaryKey = new Dictionary>(); private static void ConvertListToDictionary() { @@ -90,15 +87,9 @@ namespace VEPROMS.CSLA.Library #endregion #region Business Methods private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + public string ErrorMessage => _ErrorMessage; private static int _nextAuditID = -1; - public static int NextAuditID - { - get { return _nextAuditID--; } - } + public static int NextAuditID => _nextAuditID--; private long _AuditID; [System.ComponentModel.DataObjectField(true, true)] public long AuditID @@ -256,40 +247,14 @@ namespace VEPROMS.CSLA.Library } } } - public override bool IsDirty - { - get { return base.IsDirty; } - } - public bool IsDirtyList(List list) - { - return base.IsDirty; - } - public override bool IsValid - { - get { return (IsNew && !IsDirty) ? true : base.IsValid; } - } - public bool IsValidList(List list) - { - return (IsNew && !IsDirty) ? true : base.IsValid; - } - // CSLATODO: Replace base ImageAudit.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ImageAudit - //public override string ToString() - //{ - // return base.ToString(); - //} + public override bool IsDirty => base.IsDirty; + public override bool IsValid => (IsNew && !IsDirty) || base.IsValid; // CSLATODO: Check ImageAudit.GetIdValue to assure that the ID returned is unique /// /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ImageAudit - protected override object GetIdValue() - { - return MyImageAuditUnique; // Absolutely Unique ID - } + protected override object GetIdValue() => MyImageAuditUnique; // Absolutely Unique ID #endregion #region ValidationRules [NonSerialized] @@ -317,8 +282,8 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + if (Equals(hasBrokenRules)) return BrokenRulesCollection; + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -345,39 +310,11 @@ namespace VEPROMS.CSLA.Library _ImageAuditExtension.AddInstanceValidationRules(ValidationRules); // CSLATODO: Add other validation rules } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(AuditID, ""); - //AuthorizationRules.AllowRead(ContentID, ""); - //AuthorizationRules.AllowRead(ImageType, ""); - //AuthorizationRules.AllowRead(FileName, ""); - //AuthorizationRules.AllowRead(Data, ""); - //AuthorizationRules.AllowRead(Config, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowRead(DeleteStatus, ""); - //AuthorizationRules.AllowWrite(ContentID, ""); - //AuthorizationRules.AllowWrite(ImageType, ""); - //AuthorizationRules.AllowWrite(FileName, ""); - //AuthorizationRules.AllowWrite(Data, ""); - //AuthorizationRules.AllowWrite(Config, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowWrite(UserID, ""); - //AuthorizationRules.AllowWrite(DeleteStatus, ""); _ImageAuditExtension.AddAuthorizationRules(AuthorizationRules); } protected override void AddInstanceAuthorizationRules() @@ -385,42 +322,14 @@ namespace VEPROMS.CSLA.Library //CSLATODO: Who can read/write which fields _ImageAuditExtension.AddInstanceAuthorizationRules(AuthorizationRules); } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ImageAuditUnique = 0; - protected static int ImageAuditUnique - { get { return ++_ImageAuditUnique; } } - private int _MyImageAuditUnique = ImageAuditUnique; - public int MyImageAuditUnique // Absolutely Unique ID - Editable - { get { return _MyImageAuditUnique; } } + protected static int ImageAuditUnique => ++_ImageAuditUnique; + private readonly int _MyImageAuditUnique = ImageAuditUnique; + // Absolutely Unique ID - Editable + public int MyImageAuditUnique => _MyImageAuditUnique; protected ImageAudit() {/* require use of factory methods */ AddToCache(this); @@ -429,15 +338,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ImageAudit() { _CountFinalized++; @@ -462,8 +367,6 @@ namespace VEPROMS.CSLA.Library } public static ImageAudit New() { - if (!CanAddObject()) - throw new System.Security.SecurityException("User not authorized to add a ImageAudit"); try { return DataPortal.Create(); @@ -516,8 +419,6 @@ namespace VEPROMS.CSLA.Library } public static ImageAudit Get(long auditID) { - if (!CanGetObject()) - throw new System.Security.SecurityException("User not authorized to view a ImageAudit"); try { ImageAudit tmp = GetCachedByPrimaryKey(auditID); @@ -543,14 +444,9 @@ namespace VEPROMS.CSLA.Library if (dr.Read()) return new ImageAudit(dr); return null; } - internal ImageAudit(SafeDataReader dr) - { - ReadData(dr); - } + internal ImageAudit(SafeDataReader dr) => ReadData(dr); public static void Delete(long auditID) { - if (!CanDeleteObject()) - throw new System.Security.SecurityException("User not authorized to remove a ImageAudit"); try { DataPortal.Delete(new PKCriteria(auditID)); @@ -562,12 +458,6 @@ namespace VEPROMS.CSLA.Library } public override ImageAudit Save() { - if (IsDeleted && !CanDeleteObject()) - throw new System.Security.SecurityException("User not authorized to remove a ImageAudit"); - else if (IsNew && !CanAddObject()) - throw new System.Security.SecurityException("User not authorized to add a ImageAudit"); - else if (!CanEditObject()) - throw new System.Security.SecurityException("User not authorized to update a ImageAudit"); try { BuildRefreshList(); @@ -587,13 +477,9 @@ namespace VEPROMS.CSLA.Library [Serializable()] protected class PKCriteria { - private long _AuditID; - public long AuditID - { get { return _AuditID; } } - public PKCriteria(long auditID) - { - _AuditID = auditID; - } + private readonly long _AuditID; + public long AuditID => _AuditID; + public PKCriteria(long auditID) => _AuditID = auditID; } // CSLATODO: If Create needs to access DB - It should not be marked RunLocal [RunLocal()] @@ -692,33 +578,38 @@ namespace VEPROMS.CSLA.Library [Transactional(TransactionalTypes.TransactionScope)] internal void SQLInsert() { - if (!this.IsDirty) return; + if (!IsDirty) return; try { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - using (SqlCommand cm = cn.CreateCommand()) + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandTimeout = Database.SQLTimeout; - cm.CommandText = "addImageAudit"; - // Input All Fields - Except Calculated Columns - cm.Parameters.AddWithValue("@ContentID", _ContentID); - cm.Parameters.AddWithValue("@ImageType", _ImageType); - cm.Parameters.AddWithValue("@FileName", _FileName); - cm.Parameters.AddWithValue("@Data", _Data); - cm.Parameters.AddWithValue("@Config", _Config); - if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); - cm.Parameters.AddWithValue("@UserID", _UserID); - cm.Parameters.AddWithValue("@DeleteStatus", _DeleteStatus); - // Output Calculated Columns - SqlParameter param_AuditID = new SqlParameter("@newAuditID", SqlDbType.BigInt); - param_AuditID.Direction = ParameterDirection.Output; - cm.Parameters.Add(param_AuditID); - // CSLATODO: Define any additional output parameters - cm.ExecuteNonQuery(); - // Save all values being returned from the Procedure - _AuditID = (long)cm.Parameters["@newAuditID"].Value; + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "addImageAudit"; + // Input All Fields - Except Calculated Columns + cm.Parameters.AddWithValue("@ContentID", _ContentID); + cm.Parameters.AddWithValue("@ImageType", _ImageType); + cm.Parameters.AddWithValue("@FileName", _FileName); + cm.Parameters.AddWithValue("@Data", _Data); + cm.Parameters.AddWithValue("@Config", _Config); + if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); + cm.Parameters.AddWithValue("@UserID", _UserID); + cm.Parameters.AddWithValue("@DeleteStatus", _DeleteStatus); + // Output Calculated Columns + SqlParameter param_AuditID = new SqlParameter("@newAuditID", SqlDbType.BigInt) + { + Direction = ParameterDirection.Output + }; + cm.Parameters.Add(param_AuditID); + // CSLATODO: Define any additional output parameters + cm.ExecuteNonQuery(); + // Save all values being returned from the Procedure + _AuditID = (long)cm.Parameters["@newAuditID"].Value; + } } + MarkOld(); // update child objects if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ImageAudit.SQLInsert", GetHashCode()); @@ -751,8 +642,10 @@ namespace VEPROMS.CSLA.Library cm.Parameters.AddWithValue("@UserID", userID); cm.Parameters.AddWithValue("@DeleteStatus", deleteStatus); // Output Calculated Columns - SqlParameter param_AuditID = new SqlParameter("@newAuditID", SqlDbType.BigInt); - param_AuditID.Direction = ParameterDirection.Output; + SqlParameter param_AuditID = new SqlParameter("@newAuditID", SqlDbType.BigInt) + { + Direction = ParameterDirection.Output + }; cm.Parameters.Add(param_AuditID); // CSLATODO: Define any additional output parameters cm.ExecuteNonQuery(); @@ -797,30 +690,33 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ImageAudit.SQLUpdate", GetHashCode()); try { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - if (base.IsDirty) + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) { - using (SqlCommand cm = cn.CreateCommand()) + if (base.IsDirty) { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandTimeout = Database.SQLTimeout; - cm.CommandText = "updateImageAudit"; - // All Fields including Calculated Fields - cm.Parameters.AddWithValue("@AuditID", _AuditID); - cm.Parameters.AddWithValue("@ContentID", _ContentID); - cm.Parameters.AddWithValue("@ImageType", _ImageType); - cm.Parameters.AddWithValue("@FileName", _FileName); - cm.Parameters.AddWithValue("@Data", _Data); - cm.Parameters.AddWithValue("@Config", _Config); - if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); - cm.Parameters.AddWithValue("@UserID", _UserID); - cm.Parameters.AddWithValue("@DeleteStatus", _DeleteStatus); - // Output Calculated Columns - // CSLATODO: Define any additional output parameters - cm.ExecuteNonQuery(); - // Save all values being returned from the Procedure + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "updateImageAudit"; + // All Fields including Calculated Fields + cm.Parameters.AddWithValue("@AuditID", _AuditID); + cm.Parameters.AddWithValue("@ContentID", _ContentID); + cm.Parameters.AddWithValue("@ImageType", _ImageType); + cm.Parameters.AddWithValue("@FileName", _FileName); + cm.Parameters.AddWithValue("@Data", _Data); + cm.Parameters.AddWithValue("@Config", _Config); + if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); + cm.Parameters.AddWithValue("@UserID", _UserID); + cm.Parameters.AddWithValue("@DeleteStatus", _DeleteStatus); + // Output Calculated Columns + // CSLATODO: Define any additional output parameters + cm.ExecuteNonQuery(); + // Save all values being returned from the Procedure + } } } + MarkOld(); // use the open connection to update child objects } @@ -833,14 +729,17 @@ namespace VEPROMS.CSLA.Library } internal void Update() { - if (!this.IsDirty) return; + if (!IsDirty) return; if (base.IsDirty) { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - if (IsNew) - ImageAudit.Add(cn, ref _AuditID, _ContentID, _ImageType, _FileName, _Data, _Config, _DTS, _UserID, _DeleteStatus); - else - ImageAudit.Update(cn, ref _AuditID, _ContentID, _ImageType, _FileName, _Data, _Config, _DTS, _UserID, _DeleteStatus); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + if (IsNew) + ImageAudit.Add(cn, ref _AuditID, _ContentID, _ImageType, _FileName, _Data, _Config, _DTS, _UserID, _DeleteStatus); + else + ImageAudit.Update(cn, ref _AuditID, _ContentID, _ImageType, _FileName, _Data, _Config, _DTS, _UserID, _DeleteStatus); + } + MarkOld(); } } @@ -934,7 +833,7 @@ namespace VEPROMS.CSLA.Library #endregion // Standard Default Code #region extension - ImageAuditExtension _ImageAuditExtension = new ImageAuditExtension(); + readonly ImageAuditExtension _ImageAuditExtension = new ImageAuditExtension(); [Serializable()] partial class ImageAuditExtension : extensionBase { @@ -971,49 +870,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ImageAudit) + if (destType == typeof(string) && value is ImageAudit audit) { // Return the ToString value - return ((ImageAudit)value).ToString(); + return audit.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ImageAuditExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class ImageAudit -// { -// partial class ImageAuditExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ImageAuditInfo.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ImageAuditInfo.cs index 99e26e9f..b4b96350 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ImageAuditInfo.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ImageAuditInfo.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; namespace VEPROMS.CSLA.Library @@ -28,14 +26,12 @@ namespace VEPROMS.CSLA.Library public partial class ImageAuditInfo : ReadOnlyBase, IDisposable { public event ImageAuditInfoEvent Changed; - private void OnChange() - { - if (Changed != null) Changed(this); - } + private void OnChange() => Changed?.Invoke(this); #region Log4Net private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Collection + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static List _CacheList = new List(); protected static void AddToCache(ImageAuditInfo imageAuditInfo) { @@ -45,6 +41,7 @@ namespace VEPROMS.CSLA.Library { while (_CacheList.Contains(imageAuditInfo)) _CacheList.Remove(imageAuditInfo); // In RemoveFromCache } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static Dictionary> _CacheByPrimaryKey = new Dictionary>(); private static void ConvertListToDictionary() { @@ -74,21 +71,8 @@ namespace VEPROMS.CSLA.Library #endregion #region Business Methods private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + public string ErrorMessage => _ErrorMessage; protected ImageAudit _Editable; - private IVEHasBrokenRules HasBrokenRules - { - get - { - IVEHasBrokenRules hasBrokenRules = null; - if (_Editable != null) - hasBrokenRules = _Editable.HasBrokenRules; - return hasBrokenRules; - } - } private long _AuditID; [System.ComponentModel.DataObjectField(true, true)] public long AuditID @@ -171,32 +155,19 @@ namespace VEPROMS.CSLA.Library return _DeleteStatus; } } - // CSLATODO: Replace base ImageAuditInfo.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ImageAuditInfo - //public override string ToString() - //{ - // return base.ToString(); - //} // CSLATODO: Check ImageAuditInfo.GetIdValue to assure that the ID returned is unique /// /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ImageAuditInfo - protected override object GetIdValue() - { - return MyImageAuditInfoUnique; // Absolutely Unique ID - } + protected override object GetIdValue() => MyImageAuditInfoUnique; // Absolutely Unique ID #endregion #region Factory Methods private static int _ImageAuditInfoUnique = 0; - private static int ImageAuditInfoUnique - { get { return ++_ImageAuditInfoUnique; } } - private int _MyImageAuditInfoUnique = ImageAuditInfoUnique; - public int MyImageAuditInfoUnique // Absolutely Unique ID - Info - { get { return _MyImageAuditInfoUnique; } } + private static int ImageAuditInfoUnique => ++_ImageAuditInfoUnique; + private readonly int _MyImageAuditInfoUnique = ImageAuditInfoUnique; + // Absolutely Unique ID - Info + public int MyImageAuditInfoUnique => _MyImageAuditInfoUnique; protected ImageAuditInfo() {/* require use of factory methods */ AddToCache(this); @@ -205,15 +176,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ImageAuditInfo() { _CountFinalized++; @@ -230,10 +197,7 @@ namespace VEPROMS.CSLA.Library if (listImageAuditInfo.Count == 0) // If there are no items left in the list _CacheByPrimaryKey.Remove(AuditID.ToString()); // remove the list } - public virtual ImageAudit Get() - { - return _Editable = ImageAudit.Get(_AuditID); - } + public virtual ImageAudit Get() => _Editable = ImageAudit.Get(_AuditID); public static void Refresh(ImageAudit tmp) { string key = tmp.AuditID.ToString(); @@ -257,8 +221,6 @@ namespace VEPROMS.CSLA.Library } public static ImageAuditInfo Get(long auditID) { - //if (!CanGetObject()) - // throw new System.Security.SecurityException("User not authorized to view a ImageAudit"); try { ImageAuditInfo tmp = GetCachedByPrimaryKey(auditID); @@ -297,13 +259,9 @@ namespace VEPROMS.CSLA.Library [Serializable()] protected class PKCriteria { - private long _AuditID; - public long AuditID - { get { return _AuditID; } } - public PKCriteria(long auditID) - { - _AuditID = auditID; - } + private readonly long _AuditID; + public long AuditID => _AuditID; + public PKCriteria(long auditID) => _AuditID = auditID; } private void ReadData(SafeDataReader dr) { @@ -366,7 +324,7 @@ namespace VEPROMS.CSLA.Library #endregion // Standard Refresh #region extension - ImageAuditInfoExtension _ImageAuditInfoExtension = new ImageAuditInfoExtension(); + readonly ImageAuditInfoExtension _ImageAuditInfoExtension = new ImageAuditInfoExtension(); [Serializable()] partial class ImageAuditInfoExtension : extensionBase { } [Serializable()] @@ -382,10 +340,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ImageAuditInfo) + if (destType == typeof(string) && value is ImageAuditInfo info) { // Return the ToString value - return ((ImageAuditInfo)value).ToString(); + return info.ToString(); } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ImageAuditInfoList.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ImageAuditInfoList.cs index 24145e14..84283328 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ImageAuditInfoList.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ImageAuditInfoList.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; namespace VEPROMS.CSLA.Library @@ -28,11 +26,10 @@ namespace VEPROMS.CSLA.Library { #region Log4Net private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); - #endregion - #region Business Methods - internal new IList Items - { get { return base.Items; } } - public void AddEvents() + #endregion + #region Business Methods + internal new IList Items => base.Items; + public void AddEvents() { foreach (ImageAuditInfo tmp in this) { @@ -51,16 +48,12 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } - ~ImageAuditInfoList() + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; + ~ImageAuditInfoList() { _CountFinalized++; } @@ -97,26 +90,11 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("Error on ImageAuditInfoList.Get", ex); } } - /// - /// Reset the list of all ImageAuditInfo. - /// - public static void Reset() - { - _ImageAuditInfoList = null; - } - // CSLATODO: Add alternative gets - - //public static ImageAuditInfoList Get() - //{ - // try - // { - // return DataPortal.Fetch(new FilteredCriteria()); - // } - // catch (Exception ex) - // { - // throw new DbCslaException("Error on ImageAuditInfoList.Get", ex); - // } - //} - private ImageAuditInfoList() + /// + /// Reset the list of all ImageAuditInfo. + /// + public static void Reset() => _ImageAuditInfoList = null; + private ImageAuditInfoList() { /* require use of factory methods */ } #endregion #region Data Access Portal @@ -149,41 +127,30 @@ namespace VEPROMS.CSLA.Library } this.RaiseListChangedEvents = true; } - #endregion - #region ICustomTypeDescriptor impl - public String GetClassName() - { return TypeDescriptor.GetClassName(this, true); } - public AttributeCollection GetAttributes() - { return TypeDescriptor.GetAttributes(this, true); } - public String GetComponentName() - { return TypeDescriptor.GetComponentName(this, true); } - public TypeConverter GetConverter() - { return TypeDescriptor.GetConverter(this, true); } - public EventDescriptor GetDefaultEvent() - { return TypeDescriptor.GetDefaultEvent(this, true); } - public PropertyDescriptor GetDefaultProperty() - { return TypeDescriptor.GetDefaultProperty(this, true); } - public object GetEditor(Type editorBaseType) - { return TypeDescriptor.GetEditor(this, editorBaseType, true); } - public EventDescriptorCollection GetEvents(Attribute[] attributes) - { return TypeDescriptor.GetEvents(this, attributes, true); } - public EventDescriptorCollection GetEvents() - { return TypeDescriptor.GetEvents(this, true); } - public object GetPropertyOwner(PropertyDescriptor pd) - { return this; } - /// - /// Called to get the properties of this type. Returns properties with certain - /// attributes. this restriction is not implemented here. - /// - /// - /// - public PropertyDescriptorCollection GetProperties(Attribute[] attributes) - { return GetProperties(); } - /// - /// Called to get the properties of this type. - /// - /// - public PropertyDescriptorCollection GetProperties() + #endregion + #region ICustomTypeDescriptor impl + public string GetClassName() => TypeDescriptor.GetClassName(this, true); + public AttributeCollection GetAttributes() => TypeDescriptor.GetAttributes(this, true); + public string GetComponentName() => TypeDescriptor.GetComponentName(this, true); + public TypeConverter GetConverter() => TypeDescriptor.GetConverter(this, true); + public EventDescriptor GetDefaultEvent() => TypeDescriptor.GetDefaultEvent(this, true); + public PropertyDescriptor GetDefaultProperty() => TypeDescriptor.GetDefaultProperty(this, true); + public object GetEditor(Type editorBaseType) => TypeDescriptor.GetEditor(this, editorBaseType, true); + public EventDescriptorCollection GetEvents(Attribute[] attributes) => TypeDescriptor.GetEvents(this, attributes, true); + public EventDescriptorCollection GetEvents() => TypeDescriptor.GetEvents(this, true); + public object GetPropertyOwner(PropertyDescriptor pd) => this; + /// + /// Called to get the properties of this type. Returns properties with certain + /// attributes. this restriction is not implemented here. + /// + /// + /// + public PropertyDescriptorCollection GetProperties(Attribute[] attributes) => GetProperties(); + /// + /// Called to get the properties of this type. + /// + /// + public PropertyDescriptorCollection GetProperties() { // Create a collection object to hold property descriptors PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); @@ -205,7 +172,6 @@ namespace VEPROMS.CSLA.Library /// public partial class ImageAuditInfoListPropertyDescriptor : vlnListPropertyDescriptor { - private ImageAuditInfo Item { get { return (ImageAuditInfo)_Item; } } public ImageAuditInfoListPropertyDescriptor(ImageAuditInfoList collection, int index) : base(collection, index) { ;} } #endregion @@ -214,10 +180,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ImageAuditInfoList) + if (destType == typeof(string) && value is ImageAuditInfoList list) { // Return department and department role separated by comma. - return ((ImageAuditInfoList)value).Items.Count.ToString() + " ImageAudits"; + return $"{list.Items.Count} ImageAudits"; } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ImageInfo.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ImageInfo.cs index 36a2a7d4..5489bf52 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ImageInfo.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ImageInfo.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; namespace VEPROMS.CSLA.Library @@ -28,14 +26,12 @@ namespace VEPROMS.CSLA.Library public partial class ImageInfo : ReadOnlyBase, IDisposable { public event ImageInfoEvent Changed; - private void OnChange() - { - if (Changed != null) Changed(this); - } + private void OnChange() => Changed?.Invoke(this); #region Log4Net private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Collection + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static List _CacheList = new List(); protected static void AddToCache(ImageInfo imageInfo) { @@ -45,6 +41,7 @@ namespace VEPROMS.CSLA.Library { while (_CacheList.Contains(imageInfo)) _CacheList.Remove(imageInfo); // In RemoveFromCache } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static Dictionary> _CacheByPrimaryKey = new Dictionary>(); private static void ConvertListToDictionary() { @@ -70,21 +67,8 @@ namespace VEPROMS.CSLA.Library #endregion #region Business Methods private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + public string ErrorMessage => _ErrorMessage; protected Image _Editable; - private IVEHasBrokenRules HasBrokenRules - { - get - { - IVEHasBrokenRules hasBrokenRules = null; - if (_Editable != null) - hasBrokenRules = _Editable.HasBrokenRules; - return hasBrokenRules; - } - } private int _ContentID; [System.ComponentModel.DataObjectField(true, true)] public int ContentID @@ -164,32 +148,19 @@ namespace VEPROMS.CSLA.Library return _UserID; } } - // CSLATODO: Replace base ImageInfo.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ImageInfo - //public override string ToString() - //{ - // return base.ToString(); - //} // CSLATODO: Check ImageInfo.GetIdValue to assure that the ID returned is unique /// /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ImageInfo - protected override object GetIdValue() - { - return MyImageInfoUnique; // Absolutely Unique ID - } + protected override object GetIdValue() => MyImageInfoUnique; // Absolutely Unique ID #endregion #region Factory Methods private static int _ImageInfoUnique = 0; - private static int ImageInfoUnique - { get { return ++_ImageInfoUnique; } } - private int _MyImageInfoUnique = ImageInfoUnique; - public int MyImageInfoUnique // Absolutely Unique ID - Info - { get { return _MyImageInfoUnique; } } + private static int ImageInfoUnique => ++_ImageInfoUnique; + private readonly int _MyImageInfoUnique = ImageInfoUnique; + // Absolutely Unique ID - Info + public int MyImageInfoUnique => _MyImageInfoUnique; protected ImageInfo() {/* require use of factory methods */ AddToCache(this); @@ -198,15 +169,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ImageInfo() { _CountFinalized++; @@ -223,10 +190,7 @@ namespace VEPROMS.CSLA.Library if (listImageInfo.Count == 0) // If there are no items left in the list _CacheByPrimaryKey.Remove(ContentID.ToString()); // remove the list } - public virtual Image Get() - { - return _Editable = Image.Get(_ContentID); - } + public virtual Image Get() => _Editable = Image.Get(_ContentID); public static void Refresh(Image tmp) { string key = tmp.ContentID.ToString(); @@ -244,20 +208,10 @@ namespace VEPROMS.CSLA.Library _DTS = tmp.DTS; _UserID = tmp.UserID; _ImageInfoExtension.Refresh(this); - //RHM Removed 20090724 - Duplicates function of code above. - // - Dispose caused error when a new step was added. - // - Resequence of transitions did not work properly. - // if(_MyContent != null) - // { - // _MyContent.Dispose();// Dispose related value - // _MyContent = null;// Reset related value - // } OnChange();// raise an event } public static ImageInfo Get(int contentID) { - //if (!CanGetObject()) - // throw new System.Security.SecurityException("User not authorized to view a Image"); try { ImageInfo tmp = GetCachedByPrimaryKey(contentID); @@ -296,13 +250,9 @@ namespace VEPROMS.CSLA.Library [Serializable()] protected class PKCriteria { - private int _ContentID; - public int ContentID - { get { return _ContentID; } } - public PKCriteria(int contentID) - { - _ContentID = contentID; - } + private readonly int _ContentID; + public int ContentID => _ContentID; + public PKCriteria(int contentID) => _ContentID = contentID; } private void ReadData(SafeDataReader dr) { @@ -363,7 +313,7 @@ namespace VEPROMS.CSLA.Library #endregion // Standard Refresh #region extension - ImageInfoExtension _ImageInfoExtension = new ImageInfoExtension(); + readonly ImageInfoExtension _ImageInfoExtension = new ImageInfoExtension(); [Serializable()] partial class ImageInfoExtension : extensionBase { } [Serializable()] @@ -379,10 +329,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ImageInfo) + if (destType == typeof(string) && value is ImageInfo info) { // Return the ToString value - return ((ImageInfo)value).ToString(); + return info.ToString(); } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/Item.cs b/PROMS/VEPROMS.CSLA.Library/Generated/Item.cs index 2ea29707..4b6fc11c 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/Item.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/Item.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -133,6 +131,7 @@ namespace VEPROMS.CSLA.Library } #endregion #region Collection + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static List _CacheList = new List(); protected static void AddToCache(Item item) { @@ -142,6 +141,7 @@ namespace VEPROMS.CSLA.Library { while (_CacheList.Contains(item)) _CacheList.Remove(item); // In RemoveFromCache } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static Dictionary> _CacheByPrimaryKey = new Dictionary>(); private static void ConvertListToDictionary() { @@ -167,15 +167,9 @@ namespace VEPROMS.CSLA.Library #endregion #region Business Methods private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + public string ErrorMessage => _ErrorMessage; private static int _nextItemID = -1; - public static int NextItemID - { - get { return _nextItemID--; } - } + public static int NextItemID => _nextItemID--; private int _ItemID; [System.ComponentModel.DataObjectField(true, true)] public int ItemID @@ -315,10 +309,7 @@ namespace VEPROMS.CSLA.Library return _ItemAnnotations; } } - public void Reset_ItemAnnotations() - { - _ItemAnnotationCount = -1; - } + public void Reset_ItemAnnotations() => _ItemAnnotationCount = -1; private int _ItemDocVersionCount = 0; /// /// Count of ItemDocVersions for this Item @@ -350,10 +341,7 @@ namespace VEPROMS.CSLA.Library return _ItemDocVersions; } } - public void Reset_ItemDocVersions() - { - _ItemDocVersionCount = -1; - } + public void Reset_ItemDocVersions() => _ItemDocVersionCount = -1; private int _NextItemCount = 0; /// /// Count of NextItems for this Item @@ -385,10 +373,7 @@ namespace VEPROMS.CSLA.Library return _NextItems; } } - public void Reset_NextItems() - { - _NextItemCount = -1; - } + public void Reset_NextItems() => _NextItemCount = -1; private int _ItemPartCount = 0; /// /// Count of ItemParts for this Item @@ -420,10 +405,7 @@ namespace VEPROMS.CSLA.Library return _ItemParts; } } - public void Reset_ItemParts() - { - _ItemPartCount = -1; - } + public void Reset_ItemParts() => _ItemPartCount = -1; private int _ItemTransition_RangeIDCount = 0; /// /// Count of ItemTransitions for this Item @@ -455,10 +437,7 @@ namespace VEPROMS.CSLA.Library return _ItemTransitions_RangeID; } } - public void Reset_ItemTransitions_RangeID() - { - _ItemTransition_RangeIDCount = -1; - } + public void Reset_ItemTransitions_RangeID() => _ItemTransition_RangeIDCount = -1; private int _ItemTransition_ToIDCount = 0; /// /// Count of ItemTransitions for this Item @@ -490,10 +469,7 @@ namespace VEPROMS.CSLA.Library return _ItemTransitions_ToID; } } - public void Reset_ItemTransitions_ToID() - { - _ItemTransition_ToIDCount = -1; - } + public void Reset_ItemTransitions_ToID() => _ItemTransition_ToIDCount = -1; public override bool IsDirty { get @@ -508,37 +484,22 @@ namespace VEPROMS.CSLA.Library if (base.IsDirty || list.Contains(this)) return base.IsDirty; list.Add(this); - return base.IsDirty || (_ItemAnnotations == null ? false : _ItemAnnotations.IsDirtyList(list)) || (_ItemDocVersions == null ? false : _ItemDocVersions.IsDirtyList(list)) || (_NextItems == null ? false : _NextItems.IsDirtyList(list)) || (_ItemParts == null ? false : _ItemParts.IsDirtyList(list)) || (_ItemTransitions_RangeID == null ? false : _ItemTransitions_RangeID.IsDirtyList(list)) || (_ItemTransitions_ToID == null ? false : _ItemTransitions_ToID.IsDirtyList(list)) || (_MyContent == null ? false : _MyContent.IsDirtyList(list)); - } - public override bool IsValid - { - get { return IsValidList(new List()); } + return base.IsDirty || (_ItemAnnotations != null && _ItemAnnotations.IsDirtyList(list)) || (_ItemDocVersions != null && _ItemDocVersions.IsDirtyList(list)) || (_NextItems != null && _NextItems.IsDirtyList(list)) || (_ItemParts != null && _ItemParts.IsDirtyList(list)) || (_ItemTransitions_RangeID != null && _ItemTransitions_RangeID.IsDirtyList(list)) || (_ItemTransitions_ToID != null && _ItemTransitions_ToID.IsDirtyList(list)) || (_MyContent != null && _MyContent.IsDirtyList(list)); } + public override bool IsValid => IsValidList(new List()); public bool IsValidList(List list) { if (list.Contains(this)) - return (IsNew && !IsDirty) ? true : base.IsValid; + return (IsNew && !IsDirty) || base.IsValid; list.Add(this); - return ((IsNew && !IsDirty) ? true : base.IsValid) && (_ItemAnnotations == null ? true : _ItemAnnotations.IsValidList(list)) && (_ItemDocVersions == null ? true : _ItemDocVersions.IsValidList(list)) && (_NextItems == null ? true : _NextItems.IsValidList(list)) && (_ItemParts == null ? true : _ItemParts.IsValidList(list)) && (_ItemTransitions_RangeID == null ? true : _ItemTransitions_RangeID.IsValidList(list)) && (_ItemTransitions_ToID == null ? true : _ItemTransitions_ToID.IsValidList(list)) && (_MyContent == null ? true : _MyContent.IsValidList(list)); + return ((IsNew && !IsDirty) || base.IsValid) && (_ItemAnnotations == null || _ItemAnnotations.IsValidList(list)) && (_ItemDocVersions == null || _ItemDocVersions.IsValidList(list)) && (_NextItems == null || _NextItems.IsValidList(list)) && (_ItemParts == null || _ItemParts.IsValidList(list)) && (_ItemTransitions_RangeID == null || _ItemTransitions_RangeID.IsValidList(list)) && (_ItemTransitions_ToID == null || _ItemTransitions_ToID.IsValidList(list)) && (_MyContent == null || _MyContent.IsValidList(list)); } - // CSLATODO: Replace base Item.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current Item - //public override string ToString() - //{ - // return base.ToString(); - //} // CSLATODO: Check Item.GetIdValue to assure that the ID returned is unique /// /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current Item - protected override object GetIdValue() - { - return MyItemUnique; // Absolutely Unique ID - } + protected override object GetIdValue() => MyItemUnique; // Absolutely Unique ID #endregion #region ValidationRules [NonSerialized] @@ -573,8 +534,8 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + if (Equals(hasBrokenRules)) return BrokenRulesCollection; + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -603,31 +564,11 @@ namespace VEPROMS.CSLA.Library } return true; } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(ItemID, ""); - //AuthorizationRules.AllowRead(PreviousID, ""); - //AuthorizationRules.AllowRead(ContentID, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowWrite(PreviousID, ""); - //AuthorizationRules.AllowWrite(ContentID, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowWrite(UserID, ""); _ItemExtension.AddAuthorizationRules(AuthorizationRules); } protected override void AddInstanceAuthorizationRules() @@ -635,60 +576,14 @@ namespace VEPROMS.CSLA.Library //CSLATODO: Who can read/write which fields _ItemExtension.AddInstanceAuthorizationRules(AuthorizationRules); } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - /// - /// determines if related records (Foreign Keys) will keep this Item from being deleted - /// - public bool CanDelete - { - get - { - // Check to make sure that there are not any related records - int usedByCount = 0; - usedByCount += _ItemAnnotationCount; - usedByCount += _ItemDocVersionCount; - usedByCount += _ItemPartCount; - usedByCount += _ItemTransition_RangeIDCount; - usedByCount += _ItemTransition_ToIDCount; - usedByCount += _NextItemCount; - return (usedByCount == 0); - } - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ItemUnique = 0; - protected static int ItemUnique - { get { return ++_ItemUnique; } } - private int _MyItemUnique = ItemUnique; - public int MyItemUnique // Absolutely Unique ID - Editable - { get { return _MyItemUnique; } } + protected static int ItemUnique => ++_ItemUnique; + private readonly int _MyItemUnique = ItemUnique; + // Absolutely Unique ID - Editable + public int MyItemUnique => _MyItemUnique; protected Item() {/* require use of factory methods */ AddToCache(this); @@ -697,15 +592,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~Item() { _CountFinalized++; @@ -732,16 +623,6 @@ namespace VEPROMS.CSLA.Library _ItemTransitions_RangeID = null; if (_ItemTransitions_ToID != null) _ItemTransitions_ToID = null; - //if (_MyPrevious != null) - // _MyPrevious = null; - //if (_NextItems != null) - // _NextItems = null; - //if (_ItemAnnotations != null) - // _ItemAnnotations.Dispose(); - //if (_ItemDocVersions != null) - // _ItemDocVersions = null; - //if (_ItemParts != null) - // _ItemParts = null; } private void RemoveFromDictionaries() { @@ -756,8 +637,6 @@ namespace VEPROMS.CSLA.Library } public static Item New() { - if (!CanAddObject()) - throw new System.Security.SecurityException("User not authorized to add a Item"); try { return DataPortal.Create(); @@ -823,8 +702,6 @@ namespace VEPROMS.CSLA.Library } public static Item Get(int itemID) { - if (!CanGetObject()) - throw new System.Security.SecurityException("User not authorized to view a Item"); try { Item tmp = GetCachedByPrimaryKey(itemID); @@ -850,15 +727,14 @@ namespace VEPROMS.CSLA.Library if (dr.Read()) return new Item(dr, previous); return null; } - internal Item(SafeDataReader dr) - { - ReadData(dr); - } + internal Item(SafeDataReader dr) => ReadData(dr); + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] private Item(SafeDataReader dr, Item previous) { ReadData(dr); MarkAsChild(); } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] internal Item(SafeDataReader dr, int parentID) { ReadData(dr); @@ -866,8 +742,6 @@ namespace VEPROMS.CSLA.Library } public static void Delete(int itemID) { - if (!CanDeleteObject()) - throw new System.Security.SecurityException("User not authorized to remove a Item"); try { DataPortal.Delete(new PKCriteria(itemID)); @@ -879,12 +753,6 @@ namespace VEPROMS.CSLA.Library } public override Item Save() { - if (IsDeleted && !CanDeleteObject()) - throw new System.Security.SecurityException("User not authorized to remove a Item"); - else if (IsNew && !CanAddObject()) - throw new System.Security.SecurityException("User not authorized to add a Item"); - else if (!CanEditObject()) - throw new System.Security.SecurityException("User not authorized to update a Item"); try { BuildRefreshList(); @@ -904,13 +772,9 @@ namespace VEPROMS.CSLA.Library [Serializable()] protected class PKCriteria { - private int _ItemID; - public int ItemID - { get { return _ItemID; } } - public PKCriteria(int itemID) - { - _ItemID = itemID; - } + private readonly int _ItemID; + public int ItemID => _ItemID; + public PKCriteria(int itemID) => _ItemID = itemID; } // CSLATODO: If Create needs to access DB - It should not be marked RunLocal [RunLocal()] @@ -1028,42 +892,49 @@ namespace VEPROMS.CSLA.Library [Transactional(TransactionalTypes.TransactionScope)] internal void SQLInsert() { - if (!this.IsDirty) return; + if (!IsDirty) return; try { - if (_MyContent != null) _MyContent.Update(); - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - using (SqlCommand cm = cn.CreateCommand()) + _MyContent?.Update(); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandTimeout = Database.SQLTimeout; - cm.CommandText = "addItem"; - // Input All Fields - Except Calculated Columns - cm.Parameters.AddWithValue("@PreviousID", PreviousID); - cm.Parameters.AddWithValue("@ContentID", ContentID); - if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); - cm.Parameters.AddWithValue("@UserID", _UserID); - // Output Calculated Columns - SqlParameter param_ItemID = new SqlParameter("@newItemID", SqlDbType.Int); - param_ItemID.Direction = ParameterDirection.Output; - cm.Parameters.Add(param_ItemID); - SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp); - param_LastChanged.Direction = ParameterDirection.Output; - cm.Parameters.Add(param_LastChanged); - // CSLATODO: Define any additional output parameters - cm.ExecuteNonQuery(); - // Save all values being returned from the Procedure - _ItemID = (int)cm.Parameters["@newItemID"].Value; - _LastChanged = (byte[])cm.Parameters["@newLastChanged"].Value; + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "addItem"; + // Input All Fields - Except Calculated Columns + cm.Parameters.AddWithValue("@PreviousID", PreviousID); + cm.Parameters.AddWithValue("@ContentID", ContentID); + if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); + cm.Parameters.AddWithValue("@UserID", _UserID); + // Output Calculated Columns + SqlParameter param_ItemID = new SqlParameter("@newItemID", SqlDbType.Int) + { + Direction = ParameterDirection.Output + }; + cm.Parameters.Add(param_ItemID); + SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp) + { + Direction = ParameterDirection.Output + }; + cm.Parameters.Add(param_LastChanged); + // CSLATODO: Define any additional output parameters + cm.ExecuteNonQuery(); + // Save all values being returned from the Procedure + _ItemID = (int)cm.Parameters["@newItemID"].Value; + _LastChanged = (byte[])cm.Parameters["@newLastChanged"].Value; + } } + MarkOld(); // update child objects - if (_ItemAnnotations != null) _ItemAnnotations.Update(this); - if (_ItemDocVersions != null) _ItemDocVersions.Update(this); - if (_NextItems != null) _NextItems.Update(this); - if (_ItemParts != null) _ItemParts.Update(this); - if (_ItemTransitions_RangeID != null) _ItemTransitions_RangeID.Update(this); - if (_ItemTransitions_ToID != null) _ItemTransitions_ToID.Update(this); + _ItemAnnotations?.Update(this); + _ItemDocVersions?.Update(this); + _NextItems?.Update(this); + _ItemParts?.Update(this); + _ItemTransitions_RangeID?.Update(this); + _ItemTransitions_ToID?.Update(this); if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Item.SQLInsert", GetHashCode()); } catch (Exception ex) @@ -1090,11 +961,15 @@ namespace VEPROMS.CSLA.Library if (dts.Year >= 1753 && dts.Year <= 9999) cm.Parameters.AddWithValue("@DTS", dts); cm.Parameters.AddWithValue("@UserID", userID); // Output Calculated Columns - SqlParameter param_ItemID = new SqlParameter("@newItemID", SqlDbType.Int); - param_ItemID.Direction = ParameterDirection.Output; + SqlParameter param_ItemID = new SqlParameter("@newItemID", SqlDbType.Int) + { + Direction = ParameterDirection.Output + }; cm.Parameters.Add(param_ItemID); - SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp); - param_LastChanged.Direction = ParameterDirection.Output; + SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp) + { + Direction = ParameterDirection.Output + }; cm.Parameters.Add(param_LastChanged); // CSLATODO: Define any additional output parameters cm.ExecuteNonQuery(); @@ -1178,7 +1053,7 @@ namespace VEPROMS.CSLA.Library return dt; } - catch (Exception ex) + catch (Exception) { //B2025-004 //if it fails loading previously open tabs, simply treat it as if no tabs were open @@ -1219,40 +1094,45 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Item.SQLUpdate", GetHashCode()); try { - if (_MyContent != null) _MyContent.Update(); - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - if (base.IsDirty) + _MyContent?.Update(); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) { - using (SqlCommand cm = cn.CreateCommand()) + if (base.IsDirty) { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandTimeout = Database.SQLTimeout; - cm.CommandText = "updateItem"; - // All Fields including Calculated Fields - cm.Parameters.AddWithValue("@ItemID", _ItemID); - cm.Parameters.AddWithValue("@PreviousID", PreviousID); - cm.Parameters.AddWithValue("@ContentID", ContentID); - if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); - cm.Parameters.AddWithValue("@UserID", _UserID); - cm.Parameters.AddWithValue("@LastChanged", _LastChanged); - // Output Calculated Columns - SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp); - param_LastChanged.Direction = ParameterDirection.Output; - cm.Parameters.Add(param_LastChanged); - // CSLATODO: Define any additional output parameters - cm.ExecuteNonQuery(); - // Save all values being returned from the Procedure - _LastChanged = (byte[])cm.Parameters["@newLastChanged"].Value; + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "updateItem"; + // All Fields including Calculated Fields + cm.Parameters.AddWithValue("@ItemID", _ItemID); + cm.Parameters.AddWithValue("@PreviousID", PreviousID); + cm.Parameters.AddWithValue("@ContentID", ContentID); + if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); + cm.Parameters.AddWithValue("@UserID", _UserID); + cm.Parameters.AddWithValue("@LastChanged", _LastChanged); + // Output Calculated Columns + SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp) + { + Direction = ParameterDirection.Output + }; + cm.Parameters.Add(param_LastChanged); + // CSLATODO: Define any additional output parameters + cm.ExecuteNonQuery(); + // Save all values being returned from the Procedure + _LastChanged = (byte[])cm.Parameters["@newLastChanged"].Value; + } } } + MarkOld(); // use the open connection to update child objects - if (_ItemAnnotations != null) _ItemAnnotations.Update(this); - if (_ItemDocVersions != null) _ItemDocVersions.Update(this); - if (_NextItems != null) _NextItems.Update(this); - if (_ItemParts != null) _ItemParts.Update(this); - if (_ItemTransitions_RangeID != null) _ItemTransitions_RangeID.Update(this); - if (_ItemTransitions_ToID != null) _ItemTransitions_ToID.Update(this); + _ItemAnnotations?.Update(this); + _ItemDocVersions?.Update(this); + _NextItems?.Update(this); + _ItemParts?.Update(this); + _ItemTransitions_RangeID?.Update(this); + _ItemTransitions_ToID?.Update(this); } catch (Exception ex) { @@ -1263,31 +1143,38 @@ namespace VEPROMS.CSLA.Library } internal void Update() { - if (!this.IsDirty) return; + if (!IsDirty) return; if (base.IsDirty) { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - if (IsNew) - _LastChanged = Item.Add(cn, ref _ItemID, _MyPrevious, _MyContent, _DTS, _UserID); - else - _LastChanged = Item.Update(cn, ref _ItemID, _PreviousID, _ContentID, _DTS, _UserID, ref _LastChanged); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + if (IsNew) + _LastChanged = Item.Add(cn, ref _ItemID, _MyPrevious, _MyContent, _DTS, _UserID); + else + _LastChanged = Item.Update(cn, ref _ItemID, _PreviousID, _ContentID, _DTS, _UserID, ref _LastChanged); + } + MarkOld(); } - if (_ItemAnnotations != null) _ItemAnnotations.Update(this); - if (_ItemDocVersions != null) _ItemDocVersions.Update(this); - if (_NextItems != null) _NextItems.Update(this); - if (_ItemParts != null) _ItemParts.Update(this); - if (_ItemTransitions_RangeID != null) _ItemTransitions_RangeID.Update(this); - if (_ItemTransitions_ToID != null) _ItemTransitions_ToID.Update(this); + _ItemAnnotations?.Update(this); + _ItemDocVersions?.Update(this); + _NextItems?.Update(this); + _ItemParts?.Update(this); + _ItemTransitions_RangeID?.Update(this); + _ItemTransitions_ToID?.Update(this); } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] internal void DeleteSelf(Item item) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; + if (!IsDirty) return; // if we're new then don't update the database - if (this.IsNew) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - Item.Remove(cn, _ItemID); + if (IsNew) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + Item.Remove(cn, _ItemID); + } + MarkNew(); } [Transactional(TransactionalTypes.TransactionScope)] @@ -1309,8 +1196,10 @@ namespace VEPROMS.CSLA.Library cm.Parameters.AddWithValue("@UserID", userID); cm.Parameters.AddWithValue("@LastChanged", lastChanged); // Output Calculated Columns - SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp); - param_LastChanged.Direction = ParameterDirection.Output; + SqlParameter param_LastChanged = new SqlParameter("@newLastChanged", SqlDbType.Timestamp) + { + Direction = ParameterDirection.Output + }; cm.Parameters.Add(param_LastChanged); // CSLATODO: Define any additional output parameters cm.ExecuteNonQuery(); @@ -1395,16 +1284,10 @@ namespace VEPROMS.CSLA.Library [Serializable()] private class ExistsCommand : CommandBase { - private int _ItemID; + private readonly int _ItemID; private bool _exists; - public bool Exists - { - get { return _exists; } - } - public ExistsCommand(int itemID) - { - _ItemID = itemID; - } + public bool Exists => _exists; + public ExistsCommand(int itemID) => _ItemID = itemID; protected override void DataPortal_Execute() { if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] Item.DataPortal_Execute", GetHashCode()); @@ -1434,7 +1317,7 @@ namespace VEPROMS.CSLA.Library #endregion // Standard Default Code #region extension - ItemExtension _ItemExtension = new ItemExtension(); + readonly ItemExtension _ItemExtension = new ItemExtension(); [Serializable()] partial class ItemExtension : extensionBase { @@ -1443,14 +1326,8 @@ namespace VEPROMS.CSLA.Library class extensionBase { // Default Values - public virtual DateTime DefaultDTS - { - get { return DateTime.Now; } - } - public virtual string DefaultUserID - { - get { return Volian.Base.Library.VlnSettings.UserID; } - } + public virtual DateTime DefaultDTS => DateTime.Now; + public virtual string DefaultUserID => Volian.Base.Library.VlnSettings.UserID; // Authorization Rules public virtual void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) { @@ -1479,57 +1356,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is Item) + if (destType == typeof(string) && value is Item myitem) { // Return the ToString value - return ((Item)value).ToString(); + return myitem.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ItemExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class Item -// { -// partial class ItemExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public virtual DateTime DefaultDTS -// { -// get { return DateTime.Now; } -// } -// public virtual string DefaultUserID -// { -// get { return Environment.UserName.ToUpper(); } -// } -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAnnotation.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAnnotation.cs index 1f4f60ff..75d1b997 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAnnotation.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAnnotation.cs @@ -9,12 +9,9 @@ // ======================================================================== using System; -using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,11 +28,8 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; private int _AnnotationID; [System.ComponentModel.DataObjectField(true, true)] public int AnnotationID @@ -224,19 +218,7 @@ namespace VEPROMS.CSLA.Library /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ItemAnnotation - protected override object GetIdValue() - { - return MyItemAnnotationUnique; // Absolutely Unique ID - } - // CSLATODO: Replace base ItemAnnotation.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ItemAnnotation - //public override string ToString() - //{ - // return base.ToString(); - //} + protected override object GetIdValue() => MyItemAnnotationUnique; // Absolutely Unique ID public override bool IsDirty { get @@ -251,18 +233,15 @@ namespace VEPROMS.CSLA.Library if (base.IsDirty || list.Contains(this)) return base.IsDirty; list.Add(this); - return base.IsDirty || (_MyAnnotationType == null ? false : _MyAnnotationType.IsDirtyList(list)); - } - public override bool IsValid - { - get { return IsValidList(new List()); } + return base.IsDirty || (_MyAnnotationType != null && _MyAnnotationType.IsDirtyList(list)); } + public override bool IsValid => IsValidList(new List()); public bool IsValidList(List list) { if (list.Contains(this)) - return (IsNew && !IsDirty) ? true : base.IsValid; + return (IsNew && !IsDirty) || base.IsValid; list.Add(this); - return ((IsNew && !IsDirty) ? true : base.IsValid) && (_MyAnnotationType == null ? true : _MyAnnotationType.IsValidList(list)); + return ((IsNew && !IsDirty) || base.IsValid) && (_MyAnnotationType == null || _MyAnnotationType.IsValidList(list)); } #endregion #region ValidationRules @@ -292,8 +271,8 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + if (Equals(hasBrokenRules)) return BrokenRulesCollection; + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -324,80 +303,22 @@ namespace VEPROMS.CSLA.Library } return true; } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(AnnotationID, ""); - //AuthorizationRules.AllowRead(TypeID, ""); - //AuthorizationRules.AllowWrite(TypeID, ""); - //AuthorizationRules.AllowRead(RtfText, ""); - //AuthorizationRules.AllowWrite(RtfText, ""); - //AuthorizationRules.AllowRead(SearchText, ""); - //AuthorizationRules.AllowWrite(SearchText, ""); - //AuthorizationRules.AllowRead(Config, ""); - //AuthorizationRules.AllowWrite(Config, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowWrite(UserID, ""); - } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ItemAnnotationUnique = 0; - private static int ItemAnnotationUnique - { get { return ++_ItemAnnotationUnique; } } - private int _MyItemAnnotationUnique = ItemAnnotationUnique; - public int MyItemAnnotationUnique // Absolutely Unique ID - Editable FK - { get { return _MyItemAnnotationUnique; } } - internal static ItemAnnotation New(AnnotationType myAnnotationType) - { - return new ItemAnnotation(myAnnotationType); - } - internal static ItemAnnotation Get(SafeDataReader dr) - { - return new ItemAnnotation(dr); - } + private static int ItemAnnotationUnique => ++_ItemAnnotationUnique; + private readonly int _MyItemAnnotationUnique = ItemAnnotationUnique; + // Absolutely Unique ID - Editable FK + public int MyItemAnnotationUnique => _MyItemAnnotationUnique; + internal static ItemAnnotation New(AnnotationType myAnnotationType) => new ItemAnnotation(myAnnotationType); + internal static ItemAnnotation Get(SafeDataReader dr) => new ItemAnnotation(dr); public ItemAnnotation() { MarkAsChild(); @@ -425,15 +346,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemAnnotation() { _CountFinalized++; @@ -474,33 +391,43 @@ namespace VEPROMS.CSLA.Library internal void Insert(Item myItem) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = Annotation.Add(cn, ref _AnnotationID, myItem, _MyAnnotationType, _RtfText, _SearchText, _Config, _DTS, _UserID); + if (!IsDirty) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = Annotation.Add(cn, ref _AnnotationID, myItem, _MyAnnotationType, _RtfText, _SearchText, _Config, _DTS, _UserID); + } + MarkOld(); } internal void Update(Item myItem) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = Annotation.Update(cn, ref _AnnotationID, myItem.ItemID, _TypeID, _RtfText, _SearchText, _Config, _DTS, _UserID, ref _LastChanged); + if (!IsDirty) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = Annotation.Update(cn, ref _AnnotationID, myItem.ItemID, _TypeID, _RtfText, _SearchText, _Config, _DTS, _UserID, ref _LastChanged); + } + MarkOld(); } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] internal void DeleteSelf(Item myItem) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; + if (!IsDirty) return; // if we're new then don't update the database - if (this.IsNew) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - Annotation.Remove(cn, _AnnotationID); + if (IsNew) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + Annotation.Remove(cn, _AnnotationID); + } + MarkNew(); } #endregion // Standard Default Code #region extension - ItemAnnotationExtension _ItemAnnotationExtension = new ItemAnnotationExtension(); + readonly ItemAnnotationExtension _ItemAnnotationExtension = new ItemAnnotationExtension(); [Serializable()] partial class ItemAnnotationExtension : extensionBase { @@ -509,14 +436,8 @@ namespace VEPROMS.CSLA.Library class extensionBase { // Default Values - public virtual DateTime DefaultDTS - { - get { return DateTime.Now; } - } - public virtual string DefaultUserID - { - get { return Volian.Base.Library.VlnSettings.UserID; } - } + public virtual DateTime DefaultDTS => DateTime.Now; + public virtual string DefaultUserID => Volian.Base.Library.VlnSettings.UserID; // Authorization Rules public virtual void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) { @@ -545,57 +466,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemAnnotation) + if (destType == typeof(string) && value is ItemAnnotation annotation) { // Return the ToString value - return ((ItemAnnotation)value).ToString(); + return annotation.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ItemAnnotationExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class ItemAnnotation -// { -// partial class ItemAnnotationExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public virtual DateTime DefaultDTS -// { -// get { return DateTime.Now; } -// } -// public virtual string DefaultUserID -// { -// get { return Environment.UserName.ToUpper(); } -// } -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAnnotations.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAnnotations.cs index 7dc96795..8157186f 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAnnotations.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAnnotations.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,13 +29,10 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } - // One To Many - public ItemAnnotation this[Annotation myAnnotation] + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; + // One To Many + public ItemAnnotation this[Annotation myAnnotation] { get { @@ -47,11 +42,8 @@ namespace VEPROMS.CSLA.Library return null; } } - public new System.Collections.Generic.IList Items - { - get { return base.Items; } - } - public ItemAnnotation GetItem(Annotation myAnnotation) + public new System.Collections.Generic.IList Items => base.Items; + public ItemAnnotation GetItem(Annotation myAnnotation) { foreach (ItemAnnotation annotation in this) if (annotation.AnnotationID == myAnnotation.AnnotationID) @@ -61,7 +53,7 @@ namespace VEPROMS.CSLA.Library public ItemAnnotation Add(AnnotationType myAnnotationType) // One to Many { ItemAnnotation annotation = ItemAnnotation.New(myAnnotationType); - this.Add(annotation); + Add(annotation); return annotation; } public void Remove(Annotation myAnnotation) @@ -103,23 +95,20 @@ namespace VEPROMS.CSLA.Library return true; return false; } - public override bool IsValid + public override bool IsValid => IsValidList(new List()); + public bool IsValidList(List list) { - get { return IsValidList(new List()); } - } - public bool IsValidList(List list) - { - // run through all the child objects - // and if any are invalid then the - // collection is invalid - foreach (ItemAnnotation child in this) - if (!child.IsValidList(list)) - { - //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); - return false; - } - return true; - } + // run through all the child objects + // and if any are invalid then the + // collection is invalid + foreach (ItemAnnotation child in this) + if (!child.IsValidList(list)) + { + //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); + return false; + } + return true; + } #endregion #region ValidationRules public IVEHasBrokenRules HasBrokenRules @@ -137,20 +126,14 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + return hasBrokenRules?.BrokenRules; } } - #endregion - #region Factory Methods - internal static ItemAnnotations New() - { - return new ItemAnnotations(); - } - internal static ItemAnnotations Get(SafeDataReader dr) - { - return new ItemAnnotations(dr); - } - public static ItemAnnotations GetByItemID(int itemID) + #endregion + #region Factory Methods + internal static ItemAnnotations New() => new ItemAnnotations(); + internal static ItemAnnotations Get(SafeDataReader dr) => new ItemAnnotations(dr); + public static ItemAnnotations GetByItemID(int itemID) { try { @@ -161,11 +144,8 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("Error on ItemAnnotations.GetByItemID", ex); } } - private ItemAnnotations() - { - MarkAsChild(); - } - internal ItemAnnotations(SafeDataReader dr) + private ItemAnnotations() => MarkAsChild(); + internal ItemAnnotations(SafeDataReader dr) { MarkAsChild(); Fetch(dr); @@ -174,16 +154,12 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } - ~ItemAnnotations() + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; + ~ItemAnnotations() { _CountFinalized++; } @@ -198,19 +174,16 @@ namespace VEPROMS.CSLA.Library // called to load data from the database private void Fetch(SafeDataReader dr) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; while (dr.Read()) - this.Add(ItemAnnotation.Get(dr)); - this.RaiseListChangedEvents = true; + Add(ItemAnnotation.Get(dr)); + RaiseListChangedEvents = true; } [Serializable()] private class ItemIDCriteria { - public ItemIDCriteria(int itemID) - { - _ItemID = itemID; - } - private int _ItemID; + public ItemIDCriteria(int itemID) => _ItemID = itemID; + private int _ItemID; public int ItemID { get { return _ItemID; } @@ -219,7 +192,7 @@ namespace VEPROMS.CSLA.Library } private void DataPortal_Fetch(ItemIDCriteria criteria) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAnnotations.DataPortal_FetchItemID", GetHashCode()); try { @@ -233,7 +206,7 @@ namespace VEPROMS.CSLA.Library cm.CommandTimeout = Database.DefaultTimeout; using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { - while (dr.Read()) this.Add(new ItemAnnotation(dr)); + while (dr.Read()) Add(new ItemAnnotation(dr)); } } } @@ -243,11 +216,11 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemAnnotations.DataPortal_FetchItemID", ex); throw new DbCslaException("ItemAnnotations.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } internal void Update(Item item) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; try { // update (thus deleting) any deleted child objects @@ -266,49 +239,38 @@ namespace VEPROMS.CSLA.Library } finally { - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } } - #endregion - #region ICustomTypeDescriptor impl - public String GetClassName() - { return TypeDescriptor.GetClassName(this, true); } - public AttributeCollection GetAttributes() - { return TypeDescriptor.GetAttributes(this, true); } - public String GetComponentName() - { return TypeDescriptor.GetComponentName(this, true); } - public TypeConverter GetConverter() - { return TypeDescriptor.GetConverter(this, true); } - public EventDescriptor GetDefaultEvent() - { return TypeDescriptor.GetDefaultEvent(this, true); } - public PropertyDescriptor GetDefaultProperty() - { return TypeDescriptor.GetDefaultProperty(this, true); } - public object GetEditor(Type editorBaseType) - { return TypeDescriptor.GetEditor(this, editorBaseType, true); } - public EventDescriptorCollection GetEvents(Attribute[] attributes) - { return TypeDescriptor.GetEvents(this, attributes, true); } - public EventDescriptorCollection GetEvents() - { return TypeDescriptor.GetEvents(this, true); } - public object GetPropertyOwner(PropertyDescriptor pd) - { return this; } - /// - /// Called to get the properties of this type. Returns properties with certain - /// attributes. this restriction is not implemented here. - /// - /// - /// - public PropertyDescriptorCollection GetProperties(Attribute[] attributes) - { return GetProperties(); } - /// - /// Called to get the properties of this type. - /// - /// - public PropertyDescriptorCollection GetProperties() + #endregion + #region ICustomTypeDescriptor impl + public string GetClassName() => TypeDescriptor.GetClassName(this, true); + public AttributeCollection GetAttributes() => TypeDescriptor.GetAttributes(this, true); + public string GetComponentName() => TypeDescriptor.GetComponentName(this, true); + public TypeConverter GetConverter() => TypeDescriptor.GetConverter(this, true); + public EventDescriptor GetDefaultEvent() => TypeDescriptor.GetDefaultEvent(this, true); + public PropertyDescriptor GetDefaultProperty() => TypeDescriptor.GetDefaultProperty(this, true); + public object GetEditor(Type editorBaseType) => TypeDescriptor.GetEditor(this, editorBaseType, true); + public EventDescriptorCollection GetEvents(Attribute[] attributes) => TypeDescriptor.GetEvents(this, attributes, true); + public EventDescriptorCollection GetEvents() => TypeDescriptor.GetEvents(this, true); + public object GetPropertyOwner(PropertyDescriptor pd) => this; + /// + /// Called to get the properties of this type. Returns properties with certain + /// attributes. this restriction is not implemented here. + /// + /// + /// + public PropertyDescriptorCollection GetProperties(Attribute[] attributes) => GetProperties(); + /// + /// Called to get the properties of this type. + /// + /// + public PropertyDescriptorCollection GetProperties() { // Create a collection object to hold property descriptors PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); // Iterate the list - for (int i = 0; i < this.Items.Count; i++) + for (int i = 0; i < Items.Count; i++) { // Create a property descriptor for the item and add to the property descriptor collection ItemAnnotationsPropertyDescriptor pd = new ItemAnnotationsPropertyDescriptor(this, i); @@ -325,7 +287,6 @@ namespace VEPROMS.CSLA.Library /// public partial class ItemAnnotationsPropertyDescriptor : vlnListPropertyDescriptor { - private ItemAnnotation Item { get { return (ItemAnnotation)_Item; } } public ItemAnnotationsPropertyDescriptor(ItemAnnotations collection, int index) : base(collection, index) { ;} } #endregion @@ -334,10 +295,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemAnnotations) + if (destType == typeof(string) && value is ItemAnnotations annotations) { // Return department and department role separated by comma. - return ((ItemAnnotations)value).Items.Count.ToString() + " Annotations"; + return $"{annotations.Items.Count} Annotations"; } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAudit.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAudit.cs index f3ee51e3..27ccdca2 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAudit.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAudit.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -37,10 +35,7 @@ namespace VEPROMS.CSLA.Library if (IsDirty) refreshItemAudits.Add(this); } - private void ClearRefreshList() - { - _RefreshItemAudits = new List(); - } + private void ClearRefreshList() => _RefreshItemAudits = new List(); private void BuildRefreshList() { ClearRefreshList(); @@ -56,6 +51,7 @@ namespace VEPROMS.CSLA.Library } #endregion #region Collection + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static List _CacheList = new List(); protected static void AddToCache(ItemAudit itemAudit) { @@ -65,6 +61,7 @@ namespace VEPROMS.CSLA.Library { while (_CacheList.Contains(itemAudit)) _CacheList.Remove(itemAudit); // In RemoveFromCache } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static Dictionary> _CacheByPrimaryKey = new Dictionary>(); private static void ConvertListToDictionary() { @@ -90,15 +87,9 @@ namespace VEPROMS.CSLA.Library #endregion #region Business Methods private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + public string ErrorMessage => _ErrorMessage; private static int _nextAuditID = -1; - public static int NextAuditID - { - get { return _nextAuditID--; } - } + public static int NextAuditID => _nextAuditID--; private long _AuditID; [System.ComponentModel.DataObjectField(true, true)] public long AuditID @@ -218,40 +209,14 @@ namespace VEPROMS.CSLA.Library } } } - public override bool IsDirty - { - get { return base.IsDirty; } - } - public bool IsDirtyList(List list) - { - return base.IsDirty; - } - public override bool IsValid - { - get { return (IsNew && !IsDirty) ? true : base.IsValid; } - } - public bool IsValidList(List list) - { - return (IsNew && !IsDirty) ? true : base.IsValid; - } - // CSLATODO: Replace base ItemAudit.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ItemAudit - //public override string ToString() - //{ - // return base.ToString(); - //} + public override bool IsDirty => base.IsDirty; + public override bool IsValid => (IsNew && !IsDirty) || base.IsValid; // CSLATODO: Check ItemAudit.GetIdValue to assure that the ID returned is unique /// /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ItemAudit - protected override object GetIdValue() - { - return MyItemAuditUnique; // Absolutely Unique ID - } + protected override object GetIdValue() => MyItemAuditUnique; // Absolutely Unique ID #endregion #region ValidationRules [NonSerialized] @@ -279,8 +244,8 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + if (Equals(hasBrokenRules)) return BrokenRulesCollection; + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -299,35 +264,11 @@ namespace VEPROMS.CSLA.Library _ItemAuditExtension.AddInstanceValidationRules(ValidationRules); // CSLATODO: Add other validation rules } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(AuditID, ""); - //AuthorizationRules.AllowRead(ItemID, ""); - //AuthorizationRules.AllowRead(PreviousID, ""); - //AuthorizationRules.AllowRead(ContentID, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowRead(DeleteStatus, ""); - //AuthorizationRules.AllowWrite(ItemID, ""); - //AuthorizationRules.AllowWrite(PreviousID, ""); - //AuthorizationRules.AllowWrite(ContentID, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowWrite(UserID, ""); - //AuthorizationRules.AllowWrite(DeleteStatus, ""); _ItemAuditExtension.AddAuthorizationRules(AuthorizationRules); } protected override void AddInstanceAuthorizationRules() @@ -335,42 +276,14 @@ namespace VEPROMS.CSLA.Library //CSLATODO: Who can read/write which fields _ItemAuditExtension.AddInstanceAuthorizationRules(AuthorizationRules); } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ItemAuditUnique = 0; - protected static int ItemAuditUnique - { get { return ++_ItemAuditUnique; } } - private int _MyItemAuditUnique = ItemAuditUnique; - public int MyItemAuditUnique // Absolutely Unique ID - Editable - { get { return _MyItemAuditUnique; } } + protected static int ItemAuditUnique => ++_ItemAuditUnique; + private readonly int _MyItemAuditUnique = ItemAuditUnique; + // Absolutely Unique ID - Editable + public int MyItemAuditUnique => _MyItemAuditUnique; protected ItemAudit() {/* require use of factory methods */ AddToCache(this); @@ -379,15 +292,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemAudit() { _CountFinalized++; @@ -412,8 +321,6 @@ namespace VEPROMS.CSLA.Library } public static ItemAudit New() { - if (!CanAddObject()) - throw new System.Security.SecurityException("User not authorized to add a ItemAudit"); try { return DataPortal.Create(); @@ -462,8 +369,6 @@ namespace VEPROMS.CSLA.Library } public static ItemAudit Get(long auditID) { - if (!CanGetObject()) - throw new System.Security.SecurityException("User not authorized to view a ItemAudit"); try { ItemAudit tmp = GetCachedByPrimaryKey(auditID); @@ -489,14 +394,9 @@ namespace VEPROMS.CSLA.Library if (dr.Read()) return new ItemAudit(dr); return null; } - internal ItemAudit(SafeDataReader dr) - { - ReadData(dr); - } + internal ItemAudit(SafeDataReader dr) => ReadData(dr); public static void Delete(long auditID) { - if (!CanDeleteObject()) - throw new System.Security.SecurityException("User not authorized to remove a ItemAudit"); try { DataPortal.Delete(new PKCriteria(auditID)); @@ -508,12 +408,6 @@ namespace VEPROMS.CSLA.Library } public override ItemAudit Save() { - if (IsDeleted && !CanDeleteObject()) - throw new System.Security.SecurityException("User not authorized to remove a ItemAudit"); - else if (IsNew && !CanAddObject()) - throw new System.Security.SecurityException("User not authorized to add a ItemAudit"); - else if (!CanEditObject()) - throw new System.Security.SecurityException("User not authorized to update a ItemAudit"); try { BuildRefreshList(); @@ -533,13 +427,9 @@ namespace VEPROMS.CSLA.Library [Serializable()] protected class PKCriteria { - private long _AuditID; - public long AuditID - { get { return _AuditID; } } - public PKCriteria(long auditID) - { - _AuditID = auditID; - } + private readonly long _AuditID; + public long AuditID => _AuditID; + public PKCriteria(long auditID) => _AuditID = auditID; } // CSLATODO: If Create needs to access DB - It should not be marked RunLocal [RunLocal()] @@ -636,31 +526,36 @@ namespace VEPROMS.CSLA.Library [Transactional(TransactionalTypes.TransactionScope)] internal void SQLInsert() { - if (!this.IsDirty) return; + if (!IsDirty) return; try { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - using (SqlCommand cm = cn.CreateCommand()) + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandTimeout = Database.SQLTimeout; - cm.CommandText = "addItemAudit"; - // Input All Fields - Except Calculated Columns - cm.Parameters.AddWithValue("@ItemID", _ItemID); - cm.Parameters.AddWithValue("@PreviousID", _PreviousID); - cm.Parameters.AddWithValue("@ContentID", _ContentID); - if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); - cm.Parameters.AddWithValue("@UserID", _UserID); - cm.Parameters.AddWithValue("@DeleteStatus", _DeleteStatus); - // Output Calculated Columns - SqlParameter param_AuditID = new SqlParameter("@newAuditID", SqlDbType.BigInt); - param_AuditID.Direction = ParameterDirection.Output; - cm.Parameters.Add(param_AuditID); - // CSLATODO: Define any additional output parameters - cm.ExecuteNonQuery(); - // Save all values being returned from the Procedure - _AuditID = (long)cm.Parameters["@newAuditID"].Value; + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "addItemAudit"; + // Input All Fields - Except Calculated Columns + cm.Parameters.AddWithValue("@ItemID", _ItemID); + cm.Parameters.AddWithValue("@PreviousID", _PreviousID); + cm.Parameters.AddWithValue("@ContentID", _ContentID); + if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); + cm.Parameters.AddWithValue("@UserID", _UserID); + cm.Parameters.AddWithValue("@DeleteStatus", _DeleteStatus); + // Output Calculated Columns + SqlParameter param_AuditID = new SqlParameter("@newAuditID", SqlDbType.BigInt) + { + Direction = ParameterDirection.Output + }; + cm.Parameters.Add(param_AuditID); + // CSLATODO: Define any additional output parameters + cm.ExecuteNonQuery(); + // Save all values being returned from the Procedure + _AuditID = (long)cm.Parameters["@newAuditID"].Value; + } } + MarkOld(); // update child objects if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAudit.SQLInsert", GetHashCode()); @@ -691,8 +586,10 @@ namespace VEPROMS.CSLA.Library cm.Parameters.AddWithValue("@UserID", userID); cm.Parameters.AddWithValue("@DeleteStatus", deleteStatus); // Output Calculated Columns - SqlParameter param_AuditID = new SqlParameter("@newAuditID", SqlDbType.BigInt); - param_AuditID.Direction = ParameterDirection.Output; + SqlParameter param_AuditID = new SqlParameter("@newAuditID", SqlDbType.BigInt) + { + Direction = ParameterDirection.Output + }; cm.Parameters.Add(param_AuditID); // CSLATODO: Define any additional output parameters cm.ExecuteNonQuery(); @@ -737,28 +634,31 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAudit.SQLUpdate", GetHashCode()); try { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - if (base.IsDirty) + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) { - using (SqlCommand cm = cn.CreateCommand()) + if (base.IsDirty) { - cm.CommandType = CommandType.StoredProcedure; - cm.CommandTimeout = Database.SQLTimeout; - cm.CommandText = "updateItemAudit"; - // All Fields including Calculated Fields - cm.Parameters.AddWithValue("@AuditID", _AuditID); - cm.Parameters.AddWithValue("@ItemID", _ItemID); - cm.Parameters.AddWithValue("@PreviousID", _PreviousID); - cm.Parameters.AddWithValue("@ContentID", _ContentID); - if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); - cm.Parameters.AddWithValue("@UserID", _UserID); - cm.Parameters.AddWithValue("@DeleteStatus", _DeleteStatus); - // Output Calculated Columns - // CSLATODO: Define any additional output parameters - cm.ExecuteNonQuery(); - // Save all values being returned from the Procedure + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandTimeout = Database.SQLTimeout; + cm.CommandText = "updateItemAudit"; + // All Fields including Calculated Fields + cm.Parameters.AddWithValue("@AuditID", _AuditID); + cm.Parameters.AddWithValue("@ItemID", _ItemID); + cm.Parameters.AddWithValue("@PreviousID", _PreviousID); + cm.Parameters.AddWithValue("@ContentID", _ContentID); + if (_DTS.Year >= 1753 && _DTS.Year <= 9999) cm.Parameters.AddWithValue("@DTS", _DTS); + cm.Parameters.AddWithValue("@UserID", _UserID); + cm.Parameters.AddWithValue("@DeleteStatus", _DeleteStatus); + // Output Calculated Columns + // CSLATODO: Define any additional output parameters + cm.ExecuteNonQuery(); + // Save all values being returned from the Procedure + } } } + MarkOld(); // use the open connection to update child objects } @@ -771,14 +671,17 @@ namespace VEPROMS.CSLA.Library } internal void Update() { - if (!this.IsDirty) return; + if (!IsDirty) return; if (base.IsDirty) { - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - if (IsNew) - ItemAudit.Add(cn, ref _AuditID, _ItemID, _PreviousID, _ContentID, _DTS, _UserID, _DeleteStatus); - else - ItemAudit.Update(cn, ref _AuditID, _ItemID, _PreviousID, _ContentID, _DTS, _UserID, _DeleteStatus); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + if (IsNew) + ItemAudit.Add(cn, ref _AuditID, _ItemID, _PreviousID, _ContentID, _DTS, _UserID, _DeleteStatus); + else + ItemAudit.Update(cn, ref _AuditID, _ItemID, _PreviousID, _ContentID, _DTS, _UserID, _DeleteStatus); + } + MarkOld(); } } @@ -870,7 +773,7 @@ namespace VEPROMS.CSLA.Library #endregion // Standard Default Code #region extension - ItemAuditExtension _ItemAuditExtension = new ItemAuditExtension(); + readonly ItemAuditExtension _ItemAuditExtension = new ItemAuditExtension(); [Serializable()] partial class ItemAuditExtension : extensionBase { @@ -907,49 +810,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemAudit) + if (destType == typeof(string) && value is ItemAudit audit) { // Return the ToString value - return ((ItemAudit)value).ToString(); + return audit.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ItemAuditExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class ItemAudit -// { -// partial class ItemAuditExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAuditInfo.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAuditInfo.cs index 06e15c5d..13da170d 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAuditInfo.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAuditInfo.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; namespace VEPROMS.CSLA.Library @@ -28,14 +26,12 @@ namespace VEPROMS.CSLA.Library public partial class ItemAuditInfo : ReadOnlyBase, IDisposable { public event ItemAuditInfoEvent Changed; - private void OnChange() - { - if (Changed != null) Changed(this); - } + private void OnChange() => Changed?.Invoke(this); #region Log4Net private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Collection + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static List _CacheList = new List(); protected static void AddToCache(ItemAuditInfo itemAuditInfo) { @@ -45,6 +41,7 @@ namespace VEPROMS.CSLA.Library { while (_CacheList.Contains(itemAuditInfo)) _CacheList.Remove(itemAuditInfo); // In RemoveFromCache } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static Dictionary> _CacheByPrimaryKey = new Dictionary>(); private static void ConvertListToDictionary() { @@ -74,21 +71,8 @@ namespace VEPROMS.CSLA.Library #endregion #region Business Methods private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + public string ErrorMessage => _ErrorMessage; protected ItemAudit _Editable; - private IVEHasBrokenRules HasBrokenRules - { - get - { - IVEHasBrokenRules hasBrokenRules = null; - if (_Editable != null) - hasBrokenRules = _Editable.HasBrokenRules; - return hasBrokenRules; - } - } private long _AuditID; [System.ComponentModel.DataObjectField(true, true)] public long AuditID @@ -153,32 +137,19 @@ namespace VEPROMS.CSLA.Library return _DeleteStatus; } } - // CSLATODO: Replace base ItemAuditInfo.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ItemAuditInfo - //public override string ToString() - //{ - // return base.ToString(); - //} // CSLATODO: Check ItemAuditInfo.GetIdValue to assure that the ID returned is unique /// /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ItemAuditInfo - protected override object GetIdValue() - { - return MyItemAuditInfoUnique; // Absolutely Unique ID - } + protected override object GetIdValue() => MyItemAuditInfoUnique; // Absolutely Unique ID #endregion #region Factory Methods private static int _ItemAuditInfoUnique = 0; - private static int ItemAuditInfoUnique - { get { return ++_ItemAuditInfoUnique; } } - private int _MyItemAuditInfoUnique = ItemAuditInfoUnique; - public int MyItemAuditInfoUnique // Absolutely Unique ID - Info - { get { return _MyItemAuditInfoUnique; } } + private static int ItemAuditInfoUnique => ++_ItemAuditInfoUnique; + private readonly int _MyItemAuditInfoUnique = ItemAuditInfoUnique; + // Absolutely Unique ID - Info + public int MyItemAuditInfoUnique => _MyItemAuditInfoUnique; protected ItemAuditInfo() {/* require use of factory methods */ AddToCache(this); @@ -187,15 +158,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemAuditInfo() { _CountFinalized++; @@ -212,10 +179,7 @@ namespace VEPROMS.CSLA.Library if (listItemAuditInfo.Count == 0) // If there are no items left in the list _CacheByPrimaryKey.Remove(AuditID.ToString()); // remove the list } - public virtual ItemAudit Get() - { - return _Editable = ItemAudit.Get(_AuditID); - } + public virtual ItemAudit Get() => _Editable = ItemAudit.Get(_AuditID); public static void Refresh(ItemAudit tmp) { string key = tmp.AuditID.ToString(); @@ -237,8 +201,6 @@ namespace VEPROMS.CSLA.Library } public static ItemAuditInfo Get(long auditID) { - //if (!CanGetObject()) - // throw new System.Security.SecurityException("User not authorized to view a ItemAudit"); try { ItemAuditInfo tmp = GetCachedByPrimaryKey(auditID); @@ -277,13 +239,9 @@ namespace VEPROMS.CSLA.Library [Serializable()] protected class PKCriteria { - private long _AuditID; - public long AuditID - { get { return _AuditID; } } - public PKCriteria(long auditID) - { - _AuditID = auditID; - } + private readonly long _AuditID; + public long AuditID => _AuditID; + public PKCriteria(long auditID) => _AuditID = auditID; } private void ReadData(SafeDataReader dr) { @@ -344,7 +302,7 @@ namespace VEPROMS.CSLA.Library #endregion // Standard Refresh #region extension - ItemAuditInfoExtension _ItemAuditInfoExtension = new ItemAuditInfoExtension(); + readonly ItemAuditInfoExtension _ItemAuditInfoExtension = new ItemAuditInfoExtension(); [Serializable()] partial class ItemAuditInfoExtension : extensionBase { } [Serializable()] @@ -360,10 +318,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemAuditInfo) + if (destType == typeof(string) && value is ItemAuditInfo info) { // Return the ToString value - return ((ItemAuditInfo)value).ToString(); + return info.ToString(); } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAuditInfoList.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAuditInfoList.cs index 8df4b727..c1b83173 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemAuditInfoList.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemAuditInfoList.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; namespace VEPROMS.CSLA.Library @@ -28,11 +26,10 @@ namespace VEPROMS.CSLA.Library { #region Log4Net private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); - #endregion - #region Business Methods - internal new IList Items - { get { return base.Items; } } - public void AddEvents() + #endregion + #region Business Methods + internal new IList Items => base.Items; + public void AddEvents() { foreach (ItemAuditInfo tmp in this) { @@ -44,23 +41,19 @@ namespace VEPROMS.CSLA.Library for (int i = 0; i < Count; i++) { if (base[i] == sender) - this.OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, i)); + OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, i)); } } private bool _Disposed = false; private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } - ~ItemAuditInfoList() + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; + ~ItemAuditInfoList() { _CountFinalized++; } @@ -97,32 +90,17 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("Error on ItemAuditInfoList.Get", ex); } } - /// - /// Reset the list of all ItemAuditInfo. - /// - public static void Reset() - { - _ItemAuditInfoList = null; - } - // CSLATODO: Add alternative gets - - //public static ItemAuditInfoList Get() - //{ - // try - // { - // return DataPortal.Fetch(new FilteredCriteria()); - // } - // catch (Exception ex) - // { - // throw new DbCslaException("Error on ItemAuditInfoList.Get", ex); - // } - //} - private ItemAuditInfoList() + /// + /// Reset the list of all ItemAuditInfo. + /// + public static void Reset() => _ItemAuditInfoList = null; + private ItemAuditInfoList() { /* require use of factory methods */ } #endregion #region Data Access Portal private void DataPortal_Fetch() { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemAuditInfoList.DataPortal_Fetch", GetHashCode()); try { @@ -136,7 +114,7 @@ namespace VEPROMS.CSLA.Library using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { IsReadOnly = false; - while (dr.Read()) this.Add(new ItemAuditInfo(dr)); + while (dr.Read()) Add(new ItemAuditInfo(dr)); IsReadOnly = true; } } @@ -147,48 +125,37 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemAuditInfoList.DataPortal_Fetch", ex); throw new DbCslaException("ItemAuditInfoList.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } - #endregion - #region ICustomTypeDescriptor impl - public String GetClassName() - { return TypeDescriptor.GetClassName(this, true); } - public AttributeCollection GetAttributes() - { return TypeDescriptor.GetAttributes(this, true); } - public String GetComponentName() - { return TypeDescriptor.GetComponentName(this, true); } - public TypeConverter GetConverter() - { return TypeDescriptor.GetConverter(this, true); } - public EventDescriptor GetDefaultEvent() - { return TypeDescriptor.GetDefaultEvent(this, true); } - public PropertyDescriptor GetDefaultProperty() - { return TypeDescriptor.GetDefaultProperty(this, true); } - public object GetEditor(Type editorBaseType) - { return TypeDescriptor.GetEditor(this, editorBaseType, true); } - public EventDescriptorCollection GetEvents(Attribute[] attributes) - { return TypeDescriptor.GetEvents(this, attributes, true); } - public EventDescriptorCollection GetEvents() - { return TypeDescriptor.GetEvents(this, true); } - public object GetPropertyOwner(PropertyDescriptor pd) - { return this; } - /// - /// Called to get the properties of this type. Returns properties with certain - /// attributes. this restriction is not implemented here. - /// - /// - /// - public PropertyDescriptorCollection GetProperties(Attribute[] attributes) - { return GetProperties(); } - /// - /// Called to get the properties of this type. - /// - /// - public PropertyDescriptorCollection GetProperties() + #endregion + #region ICustomTypeDescriptor impl + public string GetClassName() => TypeDescriptor.GetClassName(this, true); + public AttributeCollection GetAttributes() => TypeDescriptor.GetAttributes(this, true); + public string GetComponentName() => TypeDescriptor.GetComponentName(this, true); + public TypeConverter GetConverter() => TypeDescriptor.GetConverter(this, true); + public EventDescriptor GetDefaultEvent() => TypeDescriptor.GetDefaultEvent(this, true); + public PropertyDescriptor GetDefaultProperty() => TypeDescriptor.GetDefaultProperty(this, true); + public object GetEditor(Type editorBaseType) => TypeDescriptor.GetEditor(this, editorBaseType, true); + public EventDescriptorCollection GetEvents(Attribute[] attributes) => TypeDescriptor.GetEvents(this, attributes, true); + public EventDescriptorCollection GetEvents() => TypeDescriptor.GetEvents(this, true); + public object GetPropertyOwner(PropertyDescriptor pd) => this; + /// + /// Called to get the properties of this type. Returns properties with certain + /// attributes. this restriction is not implemented here. + /// + /// + /// + public PropertyDescriptorCollection GetProperties(Attribute[] attributes) => GetProperties(); + /// + /// Called to get the properties of this type. + /// + /// + public PropertyDescriptorCollection GetProperties() { // Create a collection object to hold property descriptors PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); // Iterate the list - for (int i = 0; i < this.Items.Count; i++) + for (int i = 0; i < Items.Count; i++) { // Create a property descriptor for the item and add to the property descriptor collection ItemAuditInfoListPropertyDescriptor pd = new ItemAuditInfoListPropertyDescriptor(this, i); @@ -205,7 +172,6 @@ namespace VEPROMS.CSLA.Library /// public partial class ItemAuditInfoListPropertyDescriptor : vlnListPropertyDescriptor { - private ItemAuditInfo Item { get { return (ItemAuditInfo)_Item; } } public ItemAuditInfoListPropertyDescriptor(ItemAuditInfoList collection, int index) : base(collection, index) { ;} } #endregion @@ -214,10 +180,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemAuditInfoList) + if (destType == typeof(string) && value is ItemAuditInfoList list) { // Return department and department role separated by comma. - return ((ItemAuditInfoList)value).Items.Count.ToString() + " ItemAudits"; + return $"{list.Items.Count} ItemAudits"; } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemDocVersion.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemDocVersion.cs index 50d8abd8..3b049d27 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemDocVersion.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemDocVersion.cs @@ -9,12 +9,9 @@ // ======================================================================== using System; -using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,11 +28,8 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; private int _VersionID; [System.ComponentModel.DataObjectField(true, true)] public int VersionID @@ -329,19 +323,7 @@ namespace VEPROMS.CSLA.Library /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ItemDocVersion - protected override object GetIdValue() - { - return MyItemDocVersionUnique; // Absolutely Unique ID - } - // CSLATODO: Replace base ItemDocVersion.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ItemDocVersion - //public override string ToString() - //{ - // return base.ToString(); - //} + protected override object GetIdValue() => MyItemDocVersionUnique; // Absolutely Unique ID public override bool IsDirty { get @@ -356,18 +338,15 @@ namespace VEPROMS.CSLA.Library if (base.IsDirty || list.Contains(this)) return base.IsDirty; list.Add(this); - return base.IsDirty || (_MyFolder == null ? false : _MyFolder.IsDirtyList(list)); - } - public override bool IsValid - { - get { return IsValidList(new List()); } + return base.IsDirty || (_MyFolder != null && _MyFolder.IsDirtyList(list)); } + public override bool IsValid => IsValidList(new List()); public bool IsValidList(List list) { if (list.Contains(this)) - return (IsNew && !IsDirty) ? true : base.IsValid; + return (IsNew && !IsDirty) || base.IsValid; list.Add(this); - return ((IsNew && !IsDirty) ? true : base.IsValid) && (_MyFolder == null ? true : _MyFolder.IsValidList(list)); + return ((IsNew && !IsDirty) || base.IsValid) && (_MyFolder == null || _MyFolder.IsValidList(list)); } #endregion #region ValidationRules @@ -399,7 +378,7 @@ namespace VEPROMS.CSLA.Library { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -432,84 +411,22 @@ namespace VEPROMS.CSLA.Library } return true; } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(VersionID, ""); - //AuthorizationRules.AllowRead(FolderID, ""); - //AuthorizationRules.AllowWrite(FolderID, ""); - //AuthorizationRules.AllowRead(VersionType, ""); - //AuthorizationRules.AllowWrite(VersionType, ""); - //AuthorizationRules.AllowRead(Name, ""); - //AuthorizationRules.AllowWrite(Name, ""); - //AuthorizationRules.AllowRead(Title, ""); - //AuthorizationRules.AllowWrite(Title, ""); - //AuthorizationRules.AllowRead(FormatID, ""); - //AuthorizationRules.AllowWrite(FormatID, ""); - //AuthorizationRules.AllowRead(Config, ""); - //AuthorizationRules.AllowWrite(Config, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowWrite(UserID, ""); - } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ItemDocVersionUnique = 0; - private static int ItemDocVersionUnique - { get { return ++_ItemDocVersionUnique; } } - private int _MyItemDocVersionUnique = ItemDocVersionUnique; - public int MyItemDocVersionUnique // Absolutely Unique ID - Editable FK - { get { return _MyItemDocVersionUnique; } } - internal static ItemDocVersion New(Folder myFolder, string name) - { - return new ItemDocVersion(myFolder, name); - } - internal static ItemDocVersion Get(SafeDataReader dr) - { - return new ItemDocVersion(dr); - } + private static int ItemDocVersionUnique => ++_ItemDocVersionUnique; + private readonly int _MyItemDocVersionUnique = ItemDocVersionUnique; + // Absolutely Unique ID - Editable FK + public int MyItemDocVersionUnique => _MyItemDocVersionUnique; + internal static ItemDocVersion New(Folder myFolder, string name) => new ItemDocVersion(myFolder, name); + internal static ItemDocVersion Get(SafeDataReader dr) => new ItemDocVersion(dr); public ItemDocVersion() { MarkAsChild(); @@ -540,15 +457,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemDocVersion() { _CountFinalized++; @@ -598,32 +511,42 @@ namespace VEPROMS.CSLA.Library { // if we're not dirty then don't update the database if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = DocVersion.Add(cn, ref _VersionID, _MyFolder, _VersionType, _Name, _Title, myItem, _MyFormat, _Config, _DTS, _UserID); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = DocVersion.Add(cn, ref _VersionID, _MyFolder, _VersionType, _Name, _Title, myItem, _MyFormat, _Config, _DTS, _UserID); + } + MarkOld(); } internal void Update(Item myItem) { // if we're not dirty then don't update the database if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = DocVersion.Update(cn, ref _VersionID, _FolderID, _VersionType, _Name, _Title, myItem != null ? (int?)myItem.ItemID : (int?)null, _FormatID, _Config, _DTS, _UserID, ref _LastChanged); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = DocVersion.Update(cn, ref _VersionID, _FolderID, _VersionType, _Name, _Title, myItem != null ? (int?)myItem.ItemID : (int?)null, _FormatID, _Config, _DTS, _UserID, ref _LastChanged); + } + MarkOld(); } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] internal void DeleteSelf(Item myItem) { // if we're not dirty then don't update the database if (!this.IsDirty) return; // if we're new then don't update the database if (this.IsNew) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - DocVersion.Remove(cn, _VersionID); + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + DocVersion.Remove(cn, _VersionID); + } + MarkNew(); } #endregion // Standard Default Code #region extension - ItemDocVersionExtension _ItemDocVersionExtension = new ItemDocVersionExtension(); + readonly ItemDocVersionExtension _ItemDocVersionExtension = new ItemDocVersionExtension(); [Serializable()] partial class ItemDocVersionExtension : extensionBase { @@ -632,18 +555,9 @@ namespace VEPROMS.CSLA.Library class extensionBase { // Default Values - public virtual int DefaultVersionType - { - get { return 0; } - } - public virtual DateTime DefaultDTS - { - get { return DateTime.Now; } - } - public virtual string DefaultUserID - { - get { return Volian.Base.Library.VlnSettings.UserID; } - } + public virtual int DefaultVersionType => 0; + public virtual DateTime DefaultDTS => DateTime.Now; + public virtual string DefaultUserID => Volian.Base.Library.VlnSettings.UserID; // Authorization Rules public virtual void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) { @@ -672,61 +586,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemDocVersion) + if (destType == typeof(string) && value is ItemDocVersion version) { // Return the ToString value - return ((ItemDocVersion)value).ToString(); + return version.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ItemDocVersionExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class ItemDocVersion -// { -// partial class ItemDocVersionExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public virtual int DefaultVersionType -// { -// get { return 0; } -// } -// public virtual DateTime DefaultDTS -// { -// get { return DateTime.Now; } -// } -// public virtual string DefaultUserID -// { -// get { return Environment.UserName.ToUpper(); } -// } -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemDocVersions.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemDocVersions.cs index 986203ed..14e3455b 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemDocVersions.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemDocVersions.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,13 +29,10 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } - // One To Many - public ItemDocVersion this[DocVersion myDocVersion] + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; + // One To Many + public ItemDocVersion this[DocVersion myDocVersion] { get { @@ -47,11 +42,8 @@ namespace VEPROMS.CSLA.Library return null; } } - public new System.Collections.Generic.IList Items - { - get { return base.Items; } - } - public ItemDocVersion GetItem(DocVersion myDocVersion) + public new System.Collections.Generic.IList Items => base.Items; + public ItemDocVersion GetItem(DocVersion myDocVersion) { foreach (ItemDocVersion docVersion in this) if (docVersion.VersionID == myDocVersion.VersionID) @@ -61,7 +53,7 @@ namespace VEPROMS.CSLA.Library public ItemDocVersion Add(Folder myFolder, string name) // One to Many { ItemDocVersion docVersion = ItemDocVersion.New(myFolder, name); - this.Add(docVersion); + Add(docVersion); return docVersion; } public void Remove(DocVersion myDocVersion) @@ -103,23 +95,20 @@ namespace VEPROMS.CSLA.Library return true; return false; } - public override bool IsValid + public override bool IsValid => IsValidList(new List()); + public bool IsValidList(List list) { - get { return IsValidList(new List()); } - } - public bool IsValidList(List list) - { - // run through all the child objects - // and if any are invalid then the - // collection is invalid - foreach (ItemDocVersion child in this) - if (!child.IsValidList(list)) - { - //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); - return false; - } - return true; - } + // run through all the child objects + // and if any are invalid then the + // collection is invalid + foreach (ItemDocVersion child in this) + if (!child.IsValidList(list)) + { + //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); + return false; + } + return true; + } #endregion #region ValidationRules public IVEHasBrokenRules HasBrokenRules @@ -137,20 +126,14 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + return hasBrokenRules?.BrokenRules; } } - #endregion - #region Factory Methods - internal static ItemDocVersions New() - { - return new ItemDocVersions(); - } - internal static ItemDocVersions Get(SafeDataReader dr) - { - return new ItemDocVersions(dr); - } - public static ItemDocVersions GetByItemID(int itemID) + #endregion + #region Factory Methods + internal static ItemDocVersions New() => new ItemDocVersions(); + internal static ItemDocVersions Get(SafeDataReader dr) => new ItemDocVersions(dr); + public static ItemDocVersions GetByItemID(int itemID) { try { @@ -161,11 +144,8 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("Error on ItemDocVersions.GetByItemID", ex); } } - private ItemDocVersions() - { - MarkAsChild(); - } - internal ItemDocVersions(SafeDataReader dr) + private ItemDocVersions() => MarkAsChild(); + internal ItemDocVersions(SafeDataReader dr) { MarkAsChild(); Fetch(dr); @@ -174,16 +154,12 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } - ~ItemDocVersions() + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; + ~ItemDocVersions() { _CountFinalized++; } @@ -198,19 +174,16 @@ namespace VEPROMS.CSLA.Library // called to load data from the database private void Fetch(SafeDataReader dr) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; while (dr.Read()) - this.Add(ItemDocVersion.Get(dr)); - this.RaiseListChangedEvents = true; + Add(ItemDocVersion.Get(dr)); + RaiseListChangedEvents = true; } [Serializable()] private class ItemIDCriteria { - public ItemIDCriteria(int itemID) - { - _ItemID = itemID; - } - private int _ItemID; + public ItemIDCriteria(int itemID) => _ItemID = itemID; + private int _ItemID; public int ItemID { get { return _ItemID; } @@ -219,7 +192,7 @@ namespace VEPROMS.CSLA.Library } private void DataPortal_Fetch(ItemIDCriteria criteria) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemDocVersions.DataPortal_FetchItemID", GetHashCode()); try { @@ -233,7 +206,7 @@ namespace VEPROMS.CSLA.Library cm.CommandTimeout = Database.DefaultTimeout; using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { - while (dr.Read()) this.Add(new ItemDocVersion(dr)); + while (dr.Read()) Add(new ItemDocVersion(dr)); } } } @@ -243,11 +216,11 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemDocVersions.DataPortal_FetchItemID", ex); throw new DbCslaException("ItemDocVersions.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } internal void Update(Item item) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; try { // update (thus deleting) any deleted child objects @@ -266,49 +239,38 @@ namespace VEPROMS.CSLA.Library } finally { - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } } - #endregion - #region ICustomTypeDescriptor impl - public String GetClassName() - { return TypeDescriptor.GetClassName(this, true); } - public AttributeCollection GetAttributes() - { return TypeDescriptor.GetAttributes(this, true); } - public String GetComponentName() - { return TypeDescriptor.GetComponentName(this, true); } - public TypeConverter GetConverter() - { return TypeDescriptor.GetConverter(this, true); } - public EventDescriptor GetDefaultEvent() - { return TypeDescriptor.GetDefaultEvent(this, true); } - public PropertyDescriptor GetDefaultProperty() - { return TypeDescriptor.GetDefaultProperty(this, true); } - public object GetEditor(Type editorBaseType) - { return TypeDescriptor.GetEditor(this, editorBaseType, true); } - public EventDescriptorCollection GetEvents(Attribute[] attributes) - { return TypeDescriptor.GetEvents(this, attributes, true); } - public EventDescriptorCollection GetEvents() - { return TypeDescriptor.GetEvents(this, true); } - public object GetPropertyOwner(PropertyDescriptor pd) - { return this; } - /// - /// Called to get the properties of this type. Returns properties with certain - /// attributes. this restriction is not implemented here. - /// - /// - /// - public PropertyDescriptorCollection GetProperties(Attribute[] attributes) - { return GetProperties(); } - /// - /// Called to get the properties of this type. - /// - /// - public PropertyDescriptorCollection GetProperties() + #endregion + #region ICustomTypeDescriptor impl + public string GetClassName() => TypeDescriptor.GetClassName(this, true); + public AttributeCollection GetAttributes() => TypeDescriptor.GetAttributes(this, true); + public string GetComponentName() => TypeDescriptor.GetComponentName(this, true); + public TypeConverter GetConverter() => TypeDescriptor.GetConverter(this, true); + public EventDescriptor GetDefaultEvent() => TypeDescriptor.GetDefaultEvent(this, true); + public PropertyDescriptor GetDefaultProperty() => TypeDescriptor.GetDefaultProperty(this, true); + public object GetEditor(Type editorBaseType) => TypeDescriptor.GetEditor(this, editorBaseType, true); + public EventDescriptorCollection GetEvents(Attribute[] attributes) => TypeDescriptor.GetEvents(this, attributes, true); + public EventDescriptorCollection GetEvents() => TypeDescriptor.GetEvents(this, true); + public object GetPropertyOwner(PropertyDescriptor pd) => this; + /// + /// Called to get the properties of this type. Returns properties with certain + /// attributes. this restriction is not implemented here. + /// + /// + /// + public PropertyDescriptorCollection GetProperties(Attribute[] attributes) => GetProperties(); + /// + /// Called to get the properties of this type. + /// + /// + public PropertyDescriptorCollection GetProperties() { // Create a collection object to hold property descriptors PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); // Iterate the list - for (int i = 0; i < this.Items.Count; i++) + for (int i = 0; i < Items.Count; i++) { // Create a property descriptor for the item and add to the property descriptor collection ItemDocVersionsPropertyDescriptor pd = new ItemDocVersionsPropertyDescriptor(this, i); @@ -325,7 +287,6 @@ namespace VEPROMS.CSLA.Library /// public partial class ItemDocVersionsPropertyDescriptor : vlnListPropertyDescriptor { - private ItemDocVersion Item { get { return (ItemDocVersion)_Item; } } public ItemDocVersionsPropertyDescriptor(ItemDocVersions collection, int index) : base(collection, index) { ;} } #endregion @@ -334,10 +295,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemDocVersions) + if (destType == typeof(string) && value is ItemDocVersions versions) { // Return department and department role separated by comma. - return ((ItemDocVersions)value).Items.Count.ToString() + " DocVersions"; + return $"{versions.Items.Count} DocVersions"; } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfo.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfo.cs index ba31fad0..4122d20b 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfo.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfo.cs @@ -13,11 +13,8 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; -using Volian.Base.Library; namespace VEPROMS.CSLA.Library { public delegate void ItemInfoEvent(object sender); @@ -29,27 +26,17 @@ namespace VEPROMS.CSLA.Library public partial class ItemInfo : ReadOnlyBase, IDisposable { public event ItemInfoEvent Changed; - private void OnChange() - { - if (Changed != null) Changed(this); - } + private void OnChange() => Changed?.Invoke(this); #region Log4Net private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Collection + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "Keeping Collections Not ReadOnly")] private static List _CacheList = new List(); protected static void AddToCache(ItemInfo itemInfo) { if (!_CacheList.Contains(itemInfo)) - _CacheList.Add(itemInfo); // In AddToCache - //try - //{ - // _CacheList.Add(itemInfo); // In AddToCache - //} - //catch (Exception ex) - //{ - // _MyLog.ErrorFormat("ItemInfo {0}.{1} already exists in the cache", itemInfo.ItemID, itemInfo.MyItemInfoUnique); - //} + _CacheList.Add(itemInfo); } protected static void RemoveFromCache(ItemInfo itemInfo) { @@ -84,10 +71,7 @@ namespace VEPROMS.CSLA.Library #endregion #region Business Methods private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + public string ErrorMessage => _ErrorMessage; protected Item _Editable; private IVEHasBrokenRules HasBrokenRules { @@ -259,10 +243,7 @@ namespace VEPROMS.CSLA.Library [Serializable()] private class PreviousIDCriteria { - public PreviousIDCriteria(int? previousID) - { - _PreviousID = previousID; - } + public PreviousIDCriteria(int? previousID) => _PreviousID = previousID; private int? _PreviousID; public int? PreviousID { @@ -469,24 +450,12 @@ namespace VEPROMS.CSLA.Library foreach (ItemInfo tmp in _CacheByPrimaryKey[_ItemID.ToString()]) tmp._ItemTransition_ToIDCount = -1; // This will cause the data to be requeried } - // CSLATODO: Replace base ItemInfo.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ItemInfo - //public override string ToString() - //{ - // return base.ToString(); - //} // CSLATODO: Check ItemInfo.GetIdValue to assure that the ID returned is unique /// /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ItemInfo - protected override object GetIdValue() - { - return MyItemInfoUnique; // Absolutely Unique ID - } + protected override object GetIdValue() => MyItemInfoUnique; // Absolutely Unique ID #endregion #region Factory Methods private static int _ItemInfoUnique = 0; @@ -500,9 +469,9 @@ namespace VEPROMS.CSLA.Library return ui; } } - private int _MyItemInfoUnique = ItemInfoUnique; - public int MyItemInfoUnique // Absolutely Unique ID - Info - { get { return _MyItemInfoUnique; } } + private readonly int _MyItemInfoUnique = ItemInfoUnique; + // Absolutely Unique ID - Info + public int MyItemInfoUnique => _MyItemInfoUnique; protected ItemInfo() {/* require use of factory methods */ //AddToCache(this); @@ -511,15 +480,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemInfo() { _CountFinalized++; @@ -540,21 +505,8 @@ namespace VEPROMS.CSLA.Library _MyContent = null; if (_MyPrevious != null) _MyPrevious = null; - //if (_ActiveFormat != null) - // _ActiveFormat = null; - //if (_ActiveParent != null) - // _ActiveParent = null; - //if (_ActiveSection != null) - // _ActiveSection = null; - //if (_MyDocVersion != null) - // _MyDocVersion = null; - //if (_ParentNoteOrCaution != null) - // _ParentNoteOrCaution = null; - } - public virtual Item Get() - { - return _Editable = Item.Get(_ItemID); } + public virtual Item Get() => _Editable = Item.Get(_ItemID); public static void Refresh(Item tmp) { string key = tmp.ItemID.ToString(); @@ -567,18 +519,17 @@ namespace VEPROMS.CSLA.Library { if (_PreviousID != tmp.PreviousID) { - if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for old value + MyPrevious?.RefreshNextItems(); // Update List for old value _PreviousID = tmp.PreviousID; // Update the value } _MyPrevious = null; // Reset list so that the next line gets a new list - if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for new value - //if (_ContentID != tmp.ContentID) - //{ - if (MyContent != null) MyContent.RefreshContentItems(); // Update List for old value + MyPrevious?.RefreshNextItems(); // Update List for new value + + MyContent?.RefreshContentItems(); // Update List for old value _ContentID = tmp.ContentID; // Update the value - //} + _MyContent = null; // Reset list so that the next line gets a new list - if (MyContent != null) MyContent.RefreshContentItems(); // Update List for new value + MyContent?.RefreshContentItems(); // Update List for new value _DTS = tmp.DTS; _UserID = tmp.UserID; _ItemInfoExtension.Refresh(this); @@ -596,11 +547,11 @@ namespace VEPROMS.CSLA.Library { if (_PreviousID != tmp.PreviousID) { - if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for old value + MyPrevious?.RefreshNextItems(); // Update List for old value _PreviousID = tmp.PreviousID; // Update the value } _MyPrevious = null; // Reset list so that the next line gets a new list - if (MyPrevious != null) MyPrevious.RefreshNextItems(); // Update List for new value + MyPrevious?.RefreshNextItems(); // Update List for new value _DTS = tmp.DTS; _UserID = tmp.UserID; _ItemInfoExtension.Refresh(this); @@ -675,13 +626,9 @@ namespace VEPROMS.CSLA.Library [Serializable()] protected class PKCriteria { - private int _ItemID; - public int ItemID - { get { return _ItemID; } } - public PKCriteria(int itemID) - { - _ItemID = itemID; - } + private readonly int _ItemID; + public int ItemID => _ItemID; + public PKCriteria(int itemID) => _ItemID = itemID; } protected void ReadData(SafeDataReader dr) { @@ -746,7 +693,7 @@ namespace VEPROMS.CSLA.Library #endregion // Standard Refresh #region extension - ItemInfoExtension _ItemInfoExtension = new ItemInfoExtension(); + readonly ItemInfoExtension _ItemInfoExtension = new ItemInfoExtension(); [Serializable()] partial class ItemInfoExtension : extensionBase { } [Serializable()] @@ -762,10 +709,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemInfo) + if (destType == typeof(string) && value is ItemInfo info) { // Return the ToString value - return ((ItemInfo)value).ToString(); + return info.ToString(); } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfoList.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfoList.cs index 410bdce1..18909b15 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfoList.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfoList.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; namespace VEPROMS.CSLA.Library @@ -30,8 +28,7 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - internal new IList Items - { get { return base.Items; } } + internal new IList Items => base.Items; public void AddEvents() { foreach (ItemInfo tmp in this) @@ -48,14 +45,13 @@ namespace VEPROMS.CSLA.Library } void tmp_Deleted(object sender) { - ItemInfo ii = sender as ItemInfo; - if (ii != null) + if (sender is ItemInfo ii) { RefreshingList = true; IsReadOnly = false; Remove(ii); IsReadOnly = true; - this.OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, 0)); + OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, 0)); RefreshingList = false; } } @@ -75,7 +71,7 @@ namespace VEPROMS.CSLA.Library if (SourceOfList != "Search" && (sender as ItemInfo).MyPrevious != null && i > 0 && base[i - 1].ItemID != (sender as ItemInfo).MyPrevious.ItemID) Items.Insert(i, (sender as ItemInfo).MyPrevious); IsReadOnly = true; - this.OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, i)); + OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, i)); RefreshingList = false; break; } @@ -87,27 +83,15 @@ namespace VEPROMS.CSLA.Library get { return _SourceOfList; } set { _SourceOfList = value; } } - //private void ShowList(string txt) - //{ - // Console.WriteLine("\r\n{0} - {1} - {2}: i, base[i].Ordinal, base[i].ItemID, base[i].DisplayText", txt, Count, SourceOfList); - // for (int i = 0; i < Count; i++) - // { - // Console.WriteLine("{0}, {1}, {2}, {3}, {4}, {5}", i, base[i].Ordinal, base[i].ItemID, base[i].DisplayText, base[i].MyItemInfoUnique, base[i].Disposed); - // } - //} private bool _Disposed = false; private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemInfoList() { _CountFinalized++; @@ -149,22 +133,7 @@ namespace VEPROMS.CSLA.Library /// /// Reset the list of all ItemInfo. /// - public static void Reset() - { - _ItemInfoList = null; - } - // CSLATODO: Add alternative gets - - //public static ItemInfoList Get() - //{ - // try - // { - // return DataPortal.Fetch(new FilteredCriteria()); - // } - // catch (Exception ex) - // { - // throw new DbCslaException("Error on ItemInfoList.Get", ex); - // } - //} + public static void Reset() => _ItemInfoList = null; public static ItemInfoList GetNext(int? previousID) { try @@ -199,7 +168,7 @@ namespace VEPROMS.CSLA.Library #region Data Access Portal private void DataPortal_Fetch() { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfoList.DataPortal_Fetch", GetHashCode()); try { @@ -213,7 +182,7 @@ namespace VEPROMS.CSLA.Library using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { IsReadOnly = false; - while (dr.Read()) this.Add(new ItemInfo(dr)); + while (dr.Read()) Add(new ItemInfo(dr)); IsReadOnly = true; } } @@ -224,15 +193,12 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemInfoList.DataPortal_Fetch", ex); throw new DbCslaException("ItemInfoList.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } [Serializable()] private class PreviousIDCriteria { - public PreviousIDCriteria(int? previousID) - { - _PreviousID = previousID; - } + public PreviousIDCriteria(int? previousID) => _PreviousID = previousID; private int? _PreviousID; public int? PreviousID { @@ -242,7 +208,7 @@ namespace VEPROMS.CSLA.Library } private void DataPortal_Fetch(PreviousIDCriteria criteria) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfoList.DataPortal_FetchPreviousID", GetHashCode()); try { @@ -257,7 +223,7 @@ namespace VEPROMS.CSLA.Library using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { IsReadOnly = false; - while (dr.Read()) this.Add(new ItemInfo(dr)); + while (dr.Read()) Add(new ItemInfo(dr)); IsReadOnly = true; } } @@ -268,15 +234,12 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemInfoList.DataPortal_FetchPreviousID", ex); throw new DbCslaException("ItemInfoList.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } [Serializable()] private class ContentIDCriteria { - public ContentIDCriteria(int contentID) - { - _ContentID = contentID; - } + public ContentIDCriteria(int contentID) => _ContentID = contentID; private int _ContentID; public int ContentID { @@ -286,7 +249,7 @@ namespace VEPROMS.CSLA.Library } private void DataPortal_Fetch(ContentIDCriteria criteria) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfoList.DataPortal_FetchContentID", GetHashCode()); try { @@ -301,7 +264,7 @@ namespace VEPROMS.CSLA.Library using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { IsReadOnly = false; - while (dr.Read()) this.Add(new ItemInfo(dr)); + while (dr.Read()) Add(new ItemInfo(dr)); IsReadOnly = true; } } @@ -312,38 +275,27 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemInfoList.DataPortal_FetchContentID", ex); throw new DbCslaException("ItemInfoList.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } #endregion #region ICustomTypeDescriptor impl - public String GetClassName() - { return TypeDescriptor.GetClassName(this, true); } - public AttributeCollection GetAttributes() - { return TypeDescriptor.GetAttributes(this, true); } - public String GetComponentName() - { return TypeDescriptor.GetComponentName(this, true); } - public TypeConverter GetConverter() - { return TypeDescriptor.GetConverter(this, true); } - public EventDescriptor GetDefaultEvent() - { return TypeDescriptor.GetDefaultEvent(this, true); } - public PropertyDescriptor GetDefaultProperty() - { return TypeDescriptor.GetDefaultProperty(this, true); } - public object GetEditor(Type editorBaseType) - { return TypeDescriptor.GetEditor(this, editorBaseType, true); } - public EventDescriptorCollection GetEvents(Attribute[] attributes) - { return TypeDescriptor.GetEvents(this, attributes, true); } - public EventDescriptorCollection GetEvents() - { return TypeDescriptor.GetEvents(this, true); } - public object GetPropertyOwner(PropertyDescriptor pd) - { return this; } + public string GetClassName() => TypeDescriptor.GetClassName(this, true); + public AttributeCollection GetAttributes() => TypeDescriptor.GetAttributes(this, true); + public string GetComponentName() => TypeDescriptor.GetComponentName(this, true); + public TypeConverter GetConverter() => TypeDescriptor.GetConverter(this, true); + public EventDescriptor GetDefaultEvent() => TypeDescriptor.GetDefaultEvent(this, true); + public PropertyDescriptor GetDefaultProperty() => TypeDescriptor.GetDefaultProperty(this, true); + public object GetEditor(Type editorBaseType) => TypeDescriptor.GetEditor(this, editorBaseType, true); + public EventDescriptorCollection GetEvents(Attribute[] attributes) => TypeDescriptor.GetEvents(this, attributes, true); + public EventDescriptorCollection GetEvents() => TypeDescriptor.GetEvents(this, true); + public object GetPropertyOwner(PropertyDescriptor pd) => this; /// /// Called to get the properties of this type. Returns properties with certain /// attributes. this restriction is not implemented here. /// /// /// - public PropertyDescriptorCollection GetProperties(Attribute[] attributes) - { return GetProperties(); } + public PropertyDescriptorCollection GetProperties(Attribute[] attributes) => GetProperties(); /// /// Called to get the properties of this type. /// @@ -353,7 +305,7 @@ namespace VEPROMS.CSLA.Library // Create a collection object to hold property descriptors PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); // Iterate the list - for (int i = 0; i < this.Items.Count; i++) + for (int i = 0; i < Items.Count; i++) { // Create a property descriptor for the item and add to the property descriptor collection ItemInfoListPropertyDescriptor pd = new ItemInfoListPropertyDescriptor(this, i); @@ -370,7 +322,6 @@ namespace VEPROMS.CSLA.Library /// public partial class ItemInfoListPropertyDescriptor : vlnListPropertyDescriptor { - private ItemInfo Item { get { return (ItemInfo)_Item; } } public ItemInfoListPropertyDescriptor(ItemInfoList collection, int index) : base(collection, index) {; } } #endregion @@ -379,10 +330,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemInfoList) + if (destType == typeof(string) && value is ItemInfoList list) { // Return department and department role separated by comma. - return ((ItemInfoList)value).Items.Count.ToString() + " Items"; + return $"{list.Items.Count} Items"; } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemPart.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemPart.cs index b8c4549e..43dc5a27 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemPart.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemPart.cs @@ -9,12 +9,9 @@ // ======================================================================== using System; -using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,11 +28,8 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; private int _ContentID; [System.ComponentModel.DataObjectField(true, true)] public int ContentID @@ -180,35 +174,13 @@ namespace VEPROMS.CSLA.Library /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ItemPart - protected override object GetIdValue() - { - return MyItemPartUnique; // Absolutely Unique ID - } - // CSLATODO: Replace base ItemPart.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ItemPart - //public override string ToString() - //{ - // return base.ToString(); - //} - public override bool IsDirty - { - get { return base.IsDirty; } - } - public bool IsDirtyList(List list) - { - return base.IsDirty; - } - public override bool IsValid - { - get { return (IsNew && !IsDirty) ? true : base.IsValid; } - } - public bool IsValidList(List list) - { - return (IsNew && !IsDirty) ? true : base.IsValid; - } + protected override object GetIdValue() => MyItemPartUnique; // Absolutely Unique ID + public override bool IsDirty => base.IsDirty; + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] + public bool IsDirtyList(List list) => base.IsDirty; + public override bool IsValid => (IsNew && !IsDirty) || base.IsValid; + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] + public bool IsValidList(List list) => (IsNew && !IsDirty) || base.IsValid; #endregion #region ValidationRules [NonSerialized] @@ -236,8 +208,8 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + if (Equals(hasBrokenRules)) return BrokenRulesCollection; + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -249,73 +221,22 @@ namespace VEPROMS.CSLA.Library new Csla.Validation.CommonRules.MaxLengthRuleArgs("UserID", 100)); // CSLATODO: Add other validation rules } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(ContentID, ""); - //AuthorizationRules.AllowRead(FromType, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowWrite(UserID, ""); - } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ItemPartUnique = 0; - private static int ItemPartUnique - { get { return ++_ItemPartUnique; } } - private int _MyItemPartUnique = ItemPartUnique; - public int MyItemPartUnique // Absolutely Unique ID - Editable FK - { get { return _MyItemPartUnique; } } - internal static ItemPart New(Content myContent, int fromType) - { - return new ItemPart(myContent, fromType); - } - internal static ItemPart Get(SafeDataReader dr) - { - return new ItemPart(dr); - } + private static int ItemPartUnique => ++_ItemPartUnique; + private readonly int _MyItemPartUnique = ItemPartUnique; + // Absolutely Unique ID - Editable FK + public int MyItemPartUnique => _MyItemPartUnique; + internal static ItemPart New(Content myContent, int fromType) => new ItemPart(myContent, fromType); + internal static ItemPart Get(SafeDataReader dr) => new ItemPart(dr); public ItemPart() { MarkAsChild(); @@ -343,15 +264,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemPart() { _CountFinalized++; @@ -392,33 +309,43 @@ namespace VEPROMS.CSLA.Library internal void Insert(Item myItem) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = Part.Add(cn, _MyContent, _FromType, myItem, _DTS, _UserID); + if (!IsDirty) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = Part.Add(cn, _MyContent, _FromType, myItem, _DTS, _UserID); + } + MarkOld(); } internal void Update(Item myItem) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = Part.Update(cn, _ContentID, _FromType, myItem.ItemID, _DTS, _UserID, ref _LastChanged); + if (!IsDirty) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = Part.Update(cn, _ContentID, _FromType, myItem.ItemID, _DTS, _UserID, ref _LastChanged); + } + MarkOld(); } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] internal void DeleteSelf(Item myItem) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; + if (!IsDirty) return; // if we're new then don't update the database - if (this.IsNew) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - Part.Remove(cn, _ContentID, _FromType); + if (IsNew) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + Part.Remove(cn, _ContentID, _FromType); + } + MarkNew(); } #endregion // Standard Default Code #region extension - ItemPartExtension _ItemPartExtension = new ItemPartExtension(); + readonly ItemPartExtension _ItemPartExtension = new ItemPartExtension(); [Serializable()] partial class ItemPartExtension : extensionBase { @@ -427,14 +354,8 @@ namespace VEPROMS.CSLA.Library class extensionBase { // Default Values - public virtual DateTime DefaultDTS - { - get { return DateTime.Now; } - } - public virtual string DefaultUserID - { - get { return Volian.Base.Library.VlnSettings.UserID; } - } + public virtual DateTime DefaultDTS => DateTime.Now; + public virtual string DefaultUserID => Volian.Base.Library.VlnSettings.UserID; // Authorization Rules public virtual void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) { @@ -463,57 +384,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemPart) + if (destType == typeof(string) && value is ItemPart part) { // Return the ToString value - return ((ItemPart)value).ToString(); + return part.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ItemPartExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class ItemPart -// { -// partial class ItemPartExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public virtual DateTime DefaultDTS -// { -// get { return DateTime.Now; } -// } -// public virtual string DefaultUserID -// { -// get { return Environment.UserName.ToUpper(); } -// } -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemParts.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemParts.cs index dcee9ee1..0b7cec7c 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemParts.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemParts.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,13 +29,10 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } - // One To Many - public ItemPart this[Content myContent, int fromType] + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; + // One To Many + public ItemPart this[Content myContent, int fromType] { get { @@ -47,11 +42,8 @@ namespace VEPROMS.CSLA.Library return null; } } - public new System.Collections.Generic.IList Items - { - get { return base.Items; } - } - public ItemPart GetItem(Content myContent, int fromType) + public new System.Collections.Generic.IList Items => base.Items; + public ItemPart GetItem(Content myContent, int fromType) { foreach (ItemPart part in this) if (part.ContentID == myContent.ContentID && part.FromType == fromType) @@ -61,7 +53,7 @@ namespace VEPROMS.CSLA.Library public ItemPart Add(Content myContent, int fromType) // One to Many { ItemPart part = ItemPart.New(myContent, fromType); - this.Add(part); + Add(part); return part; } public void Remove(Content myContent, int fromType) @@ -103,23 +95,20 @@ namespace VEPROMS.CSLA.Library return true; return false; } - public override bool IsValid + public override bool IsValid => IsValidList(new List()); + public bool IsValidList(List list) { - get { return IsValidList(new List()); } - } - public bool IsValidList(List list) - { - // run through all the child objects - // and if any are invalid then the - // collection is invalid - foreach (ItemPart child in this) - if (!child.IsValidList(list)) - { - //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); - return false; - } - return true; - } + // run through all the child objects + // and if any are invalid then the + // collection is invalid + foreach (ItemPart child in this) + if (!child.IsValidList(list)) + { + //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); + return false; + } + return true; + } #endregion #region ValidationRules public IVEHasBrokenRules HasBrokenRules @@ -137,20 +126,14 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + return hasBrokenRules?.BrokenRules; } } - #endregion - #region Factory Methods - internal static ItemParts New() - { - return new ItemParts(); - } - internal static ItemParts Get(SafeDataReader dr) - { - return new ItemParts(dr); - } - public static ItemParts GetByItemID(int itemID) + #endregion + #region Factory Methods + internal static ItemParts New() => new ItemParts(); + internal static ItemParts Get(SafeDataReader dr) => new ItemParts(dr); + public static ItemParts GetByItemID(int itemID) { try { @@ -161,11 +144,8 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("Error on ItemParts.GetByItemID", ex); } } - private ItemParts() - { - MarkAsChild(); - } - internal ItemParts(SafeDataReader dr) + private ItemParts() => MarkAsChild(); + internal ItemParts(SafeDataReader dr) { MarkAsChild(); Fetch(dr); @@ -174,16 +154,12 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } - ~ItemParts() + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; + ~ItemParts() { _CountFinalized++; } @@ -198,19 +174,16 @@ namespace VEPROMS.CSLA.Library // called to load data from the database private void Fetch(SafeDataReader dr) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; while (dr.Read()) - this.Add(ItemPart.Get(dr)); - this.RaiseListChangedEvents = true; + Add(ItemPart.Get(dr)); + RaiseListChangedEvents = true; } [Serializable()] private class ItemIDCriteria { - public ItemIDCriteria(int itemID) - { - _ItemID = itemID; - } - private int _ItemID; + public ItemIDCriteria(int itemID) => _ItemID = itemID; + private int _ItemID; public int ItemID { get { return _ItemID; } @@ -219,7 +192,7 @@ namespace VEPROMS.CSLA.Library } private void DataPortal_Fetch(ItemIDCriteria criteria) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemParts.DataPortal_FetchItemID", GetHashCode()); try { @@ -233,7 +206,7 @@ namespace VEPROMS.CSLA.Library cm.CommandTimeout = Database.DefaultTimeout; using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { - while (dr.Read()) this.Add(new ItemPart(dr)); + while (dr.Read()) Add(new ItemPart(dr)); } } } @@ -243,11 +216,11 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemParts.DataPortal_FetchItemID", ex); throw new DbCslaException("ItemParts.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } internal void Update(Item item) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; try { // update (thus deleting) any deleted child objects @@ -266,49 +239,38 @@ namespace VEPROMS.CSLA.Library } finally { - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } } - #endregion - #region ICustomTypeDescriptor impl - public String GetClassName() - { return TypeDescriptor.GetClassName(this, true); } - public AttributeCollection GetAttributes() - { return TypeDescriptor.GetAttributes(this, true); } - public String GetComponentName() - { return TypeDescriptor.GetComponentName(this, true); } - public TypeConverter GetConverter() - { return TypeDescriptor.GetConverter(this, true); } - public EventDescriptor GetDefaultEvent() - { return TypeDescriptor.GetDefaultEvent(this, true); } - public PropertyDescriptor GetDefaultProperty() - { return TypeDescriptor.GetDefaultProperty(this, true); } - public object GetEditor(Type editorBaseType) - { return TypeDescriptor.GetEditor(this, editorBaseType, true); } - public EventDescriptorCollection GetEvents(Attribute[] attributes) - { return TypeDescriptor.GetEvents(this, attributes, true); } - public EventDescriptorCollection GetEvents() - { return TypeDescriptor.GetEvents(this, true); } - public object GetPropertyOwner(PropertyDescriptor pd) - { return this; } - /// - /// Called to get the properties of this type. Returns properties with certain - /// attributes. this restriction is not implemented here. - /// - /// - /// - public PropertyDescriptorCollection GetProperties(Attribute[] attributes) - { return GetProperties(); } - /// - /// Called to get the properties of this type. - /// - /// - public PropertyDescriptorCollection GetProperties() + #endregion + #region ICustomTypeDescriptor impl + public string GetClassName() => TypeDescriptor.GetClassName(this, true); + public AttributeCollection GetAttributes() => TypeDescriptor.GetAttributes(this, true); + public string GetComponentName() => TypeDescriptor.GetComponentName(this, true); + public TypeConverter GetConverter() => TypeDescriptor.GetConverter(this, true); + public EventDescriptor GetDefaultEvent() => TypeDescriptor.GetDefaultEvent(this, true); + public PropertyDescriptor GetDefaultProperty() => TypeDescriptor.GetDefaultProperty(this, true); + public object GetEditor(Type editorBaseType) => TypeDescriptor.GetEditor(this, editorBaseType, true); + public EventDescriptorCollection GetEvents(Attribute[] attributes) => TypeDescriptor.GetEvents(this, attributes, true); + public EventDescriptorCollection GetEvents() => TypeDescriptor.GetEvents(this, true); + public object GetPropertyOwner(PropertyDescriptor pd) => this; + /// + /// Called to get the properties of this type. Returns properties with certain + /// attributes. this restriction is not implemented here. + /// + /// + /// + public PropertyDescriptorCollection GetProperties(Attribute[] attributes) => GetProperties(); + /// + /// Called to get the properties of this type. + /// + /// + public PropertyDescriptorCollection GetProperties() { // Create a collection object to hold property descriptors PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); // Iterate the list - for (int i = 0; i < this.Items.Count; i++) + for (int i = 0; i < Items.Count; i++) { // Create a property descriptor for the item and add to the property descriptor collection ItemPartsPropertyDescriptor pd = new ItemPartsPropertyDescriptor(this, i); @@ -325,7 +287,6 @@ namespace VEPROMS.CSLA.Library /// public partial class ItemPartsPropertyDescriptor : vlnListPropertyDescriptor { - private ItemPart Item { get { return (ItemPart)_Item; } } public ItemPartsPropertyDescriptor(ItemParts collection, int index) : base(collection, index) { ;} } #endregion @@ -334,10 +295,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemParts) + if (destType == typeof(string) && value is ItemParts parts) { // Return department and department role separated by comma. - return ((ItemParts)value).Items.Count.ToString() + " Parts"; + return $"{parts.Items.Count} Parts"; } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransition_RangeID.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransition_RangeID.cs index f40f2721..397b27a1 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransition_RangeID.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransition_RangeID.cs @@ -9,12 +9,9 @@ // ======================================================================== using System; -using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,11 +28,8 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; private int _TransitionID; [System.ComponentModel.DataObjectField(true, true)] public int TransitionID @@ -295,15 +289,6 @@ namespace VEPROMS.CSLA.Library { return MyItemTransition_RangeIDUnique; // Absolutely Unique ID } - // CSLATODO: Replace base ItemTransition_RangeID.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ItemTransition_RangeID - //public override string ToString() - //{ - // return base.ToString(); - //} public override bool IsDirty { get @@ -318,18 +303,15 @@ namespace VEPROMS.CSLA.Library if (base.IsDirty || list.Contains(this)) return base.IsDirty; list.Add(this); - return base.IsDirty || (_MyContent == null ? false : _MyContent.IsDirtyList(list)); - } - public override bool IsValid - { - get { return IsValidList(new List()); } + return base.IsDirty || (_MyContent != null && _MyContent.IsDirtyList(list)); } + public override bool IsValid => IsValidList(new List()); public bool IsValidList(List list) { if (list.Contains(this)) - return (IsNew && !IsDirty) ? true : base.IsValid; + return (IsNew && !IsDirty) || base.IsValid; list.Add(this); - return ((IsNew && !IsDirty) ? true : base.IsValid) && (_MyContent == null ? true : _MyContent.IsValidList(list)); + return ((IsNew && !IsDirty) || base.IsValid) && (_MyContent == null || _MyContent.IsValidList(list)); } #endregion #region ValidationRules @@ -359,8 +341,8 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + if (Equals(hasBrokenRules)) return BrokenRulesCollection; + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -385,82 +367,22 @@ namespace VEPROMS.CSLA.Library } return true; } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(TransitionID, ""); - //AuthorizationRules.AllowRead(FromID, ""); - //AuthorizationRules.AllowWrite(FromID, ""); - //AuthorizationRules.AllowRead(ToID, ""); - //AuthorizationRules.AllowWrite(ToID, ""); - //AuthorizationRules.AllowRead(IsRange, ""); - //AuthorizationRules.AllowWrite(IsRange, ""); - //AuthorizationRules.AllowRead(TranType, ""); - //AuthorizationRules.AllowWrite(TranType, ""); - //AuthorizationRules.AllowRead(Config, ""); - //AuthorizationRules.AllowWrite(Config, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowWrite(UserID, ""); - } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ItemTransition_RangeIDUnique = 0; - private static int ItemTransition_RangeIDUnique - { get { return ++_ItemTransition_RangeIDUnique; } } - private int _MyItemTransition_RangeIDUnique = ItemTransition_RangeIDUnique; - public int MyItemTransition_RangeIDUnique // Absolutely Unique ID - Editable FK - { get { return _MyItemTransition_RangeIDUnique; } } - internal static ItemTransition_RangeID New(Content myContent, Item myItemToID) - { - return new ItemTransition_RangeID(myContent, myItemToID); - } - internal static ItemTransition_RangeID Get(SafeDataReader dr) - { - return new ItemTransition_RangeID(dr); - } + private static int ItemTransition_RangeIDUnique => ++_ItemTransition_RangeIDUnique; + private readonly int _MyItemTransition_RangeIDUnique = ItemTransition_RangeIDUnique; + // Absolutely Unique ID - Editable FK + public int MyItemTransition_RangeIDUnique => _MyItemTransition_RangeIDUnique; + internal static ItemTransition_RangeID New(Content myContent, Item myItemToID) => new ItemTransition_RangeID(myContent, myItemToID); + internal static ItemTransition_RangeID Get(SafeDataReader dr) => new ItemTransition_RangeID(dr); public ItemTransition_RangeID() { MarkAsChild(); @@ -493,15 +415,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemTransition_RangeID() { _CountFinalized++; @@ -546,33 +464,43 @@ namespace VEPROMS.CSLA.Library internal void Insert(Item myItemRangeID) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = Transition.Add(cn, ref _TransitionID, _MyContent, _MyItemToID, myItemRangeID, _IsRange, _TranType, _Config, _DTS, _UserID); + if (!IsDirty) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = Transition.Add(cn, ref _TransitionID, _MyContent, _MyItemToID, myItemRangeID, _IsRange, _TranType, _Config, _DTS, _UserID); + } + MarkOld(); } internal void Update(Item myItemRangeID) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = Transition.Update(cn, ref _TransitionID, _FromID, _ToID, myItemRangeID.ItemID, _IsRange, _TranType, _Config, _DTS, _UserID, ref _LastChanged); + if (!IsDirty) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = Transition.Update(cn, ref _TransitionID, _FromID, _ToID, myItemRangeID.ItemID, _IsRange, _TranType, _Config, _DTS, _UserID, ref _LastChanged); + } + MarkOld(); } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] internal void DeleteSelf(Item myItemRangeID) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; + if (!IsDirty) return; // if we're new then don't update the database - if (this.IsNew) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - Transition.Remove(cn, _TransitionID); + if (IsNew) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + Transition.Remove(cn, _TransitionID); + } + MarkNew(); } #endregion // Standard Default Code #region extension - ItemTransition_RangeIDExtension _ItemTransition_RangeIDExtension = new ItemTransition_RangeIDExtension(); + readonly ItemTransition_RangeIDExtension _ItemTransition_RangeIDExtension = new ItemTransition_RangeIDExtension(); [Serializable()] partial class ItemTransition_RangeIDExtension : extensionBase { @@ -581,22 +509,10 @@ namespace VEPROMS.CSLA.Library class extensionBase { // Default Values - public virtual int DefaultIsRange - { - get { return 0; } - } - public virtual int DefaultTranType - { - get { return 0; } - } - public virtual DateTime DefaultDTS - { - get { return DateTime.Now; } - } - public virtual string DefaultUserID - { - get { return Volian.Base.Library.VlnSettings.UserID; } - } + public virtual int DefaultIsRange => 0; + public virtual int DefaultTranType => 0; + public virtual DateTime DefaultDTS => DateTime.Now; + public virtual string DefaultUserID => Volian.Base.Library.VlnSettings.UserID; // Authorization Rules public virtual void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) { @@ -625,65 +541,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemTransition_RangeID) + if (destType == typeof(string) && value is ItemTransition_RangeID iD) { // Return the ToString value - return ((ItemTransition_RangeID)value).ToString(); + return iD.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ItemTransition_RangeIDExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class ItemTransition_RangeID -// { -// partial class ItemTransition_RangeIDExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public virtual int DefaultIsRange -// { -// get { return 0; } -// } -// public virtual int DefaultTranType -// { -// get { return 0; } -// } -// public virtual DateTime DefaultDTS -// { -// get { return DateTime.Now; } -// } -// public virtual string DefaultUserID -// { -// get { return Environment.UserName.ToUpper(); } -// } -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransition_ToID.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransition_ToID.cs index 7e3b9a27..ada64461 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransition_ToID.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransition_ToID.cs @@ -9,12 +9,9 @@ // ======================================================================== using System; -using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,11 +28,8 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; private int _TransitionID; [System.ComponentModel.DataObjectField(true, true)] public int TransitionID @@ -288,19 +282,7 @@ namespace VEPROMS.CSLA.Library /// Overrides Base GetIdValue - Used internally by CSLA to determine equality /// /// A Unique ID for the current ItemTransition_ToID - protected override object GetIdValue() - { - return MyItemTransition_ToIDUnique; // Absolutely Unique ID - } - // CSLATODO: Replace base ItemTransition_ToID.ToString function as necessary - /// - /// Overrides Base ToString - /// - /// A string representation of current ItemTransition_ToID - //public override string ToString() - //{ - // return base.ToString(); - //} + protected override object GetIdValue() => MyItemTransition_ToIDUnique; // Absolutely Unique ID public override bool IsDirty { get @@ -315,18 +297,15 @@ namespace VEPROMS.CSLA.Library if (base.IsDirty || list.Contains(this)) return base.IsDirty; list.Add(this); - return base.IsDirty || (_MyContent == null ? false : _MyContent.IsDirtyList(list)); - } - public override bool IsValid - { - get { return IsValidList(new List()); } + return base.IsDirty || (_MyContent != null && _MyContent.IsDirtyList(list)); } + public override bool IsValid => IsValidList(new List()); public bool IsValidList(List list) { if (list.Contains(this)) - return (IsNew && !IsDirty) ? true : base.IsValid; + return (IsNew && !IsDirty) || base.IsValid; list.Add(this); - return ((IsNew && !IsDirty) ? true : base.IsValid) && (_MyContent == null ? true : _MyContent.IsValidList(list)); + return ((IsNew && !IsDirty) || base.IsValid) && (_MyContent == null || _MyContent.IsValidList(list)); } #endregion #region ValidationRules @@ -356,8 +335,8 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - if (this.Equals(hasBrokenRules)) return BrokenRulesCollection; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + if (Equals(hasBrokenRules)) return BrokenRulesCollection; + return hasBrokenRules?.BrokenRules; } } protected override void AddBusinessRules() @@ -382,82 +361,22 @@ namespace VEPROMS.CSLA.Library } return true; } - // Sample data comparison validation rule - //private bool StartDateGTEndDate(object target, Csla.Validation.RuleArgs e) - //{ - // if (_started > _ended) - // { - // e.Description = "Start date can't be after end date"; - // return false; - // } - // else - // return true; - //} #endregion #region Authorization Rules protected override void AddAuthorizationRules() { //CSLATODO: Who can read/write which fields - //AuthorizationRules.AllowRead(TransitionID, ""); - //AuthorizationRules.AllowRead(FromID, ""); - //AuthorizationRules.AllowWrite(FromID, ""); - //AuthorizationRules.AllowRead(RangeID, ""); - //AuthorizationRules.AllowWrite(RangeID, ""); - //AuthorizationRules.AllowRead(IsRange, ""); - //AuthorizationRules.AllowWrite(IsRange, ""); - //AuthorizationRules.AllowRead(TranType, ""); - //AuthorizationRules.AllowWrite(TranType, ""); - //AuthorizationRules.AllowRead(Config, ""); - //AuthorizationRules.AllowWrite(Config, ""); - //AuthorizationRules.AllowRead(DTS, ""); - //AuthorizationRules.AllowWrite(DTS, ""); - //AuthorizationRules.AllowRead(UserID, ""); - //AuthorizationRules.AllowWrite(UserID, ""); - } - public static bool CanAddObject() - { - // CSLATODO: Can Add Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; - } - public static bool CanGetObject() - { - // CSLATODO: CanGet Authorization - return true; - } - public static bool CanDeleteObject() - { - // CSLATODO: CanDelete Authorization - //bool result = false; - //if (Csla.ApplicationContext.User.IsInRole("ProjectManager"))result = true; - //if (Csla.ApplicationContext.User.IsInRole("Administrator"))result = true; - //return result; - return true; - } - public static bool CanEditObject() - { - // CSLATODO: CanEdit Authorization - //return Csla.ApplicationContext.User.IsInRole("ProjectManager"); - return true; } #endregion #region Factory Methods - public int CurrentEditLevel - { get { return EditLevel; } } + public int CurrentEditLevel => EditLevel; private static int _ItemTransition_ToIDUnique = 0; - private static int ItemTransition_ToIDUnique - { get { return ++_ItemTransition_ToIDUnique; } } - private int _MyItemTransition_ToIDUnique = ItemTransition_ToIDUnique; - public int MyItemTransition_ToIDUnique // Absolutely Unique ID - Editable FK - { get { return _MyItemTransition_ToIDUnique; } } - internal static ItemTransition_ToID New(Content myContent, Item myItemRangeID) - { - return new ItemTransition_ToID(myContent, myItemRangeID); - } - internal static ItemTransition_ToID Get(SafeDataReader dr) - { - return new ItemTransition_ToID(dr); - } + private static int ItemTransition_ToIDUnique => ++_ItemTransition_ToIDUnique; + private readonly int _MyItemTransition_ToIDUnique = ItemTransition_ToIDUnique; + // Absolutely Unique ID - Editable FK + public int MyItemTransition_ToIDUnique => _MyItemTransition_ToIDUnique; + internal static ItemTransition_ToID New(Content myContent, Item myItemRangeID) => new ItemTransition_ToID(myContent, myItemRangeID); + internal static ItemTransition_ToID Get(SafeDataReader dr) => new ItemTransition_ToID(dr); public ItemTransition_ToID() { MarkAsChild(); @@ -490,15 +409,11 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; ~ItemTransition_ToID() { _CountFinalized++; @@ -543,33 +458,43 @@ namespace VEPROMS.CSLA.Library internal void Insert(Item myItemToID) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = Transition.Add(cn, ref _TransitionID, _MyContent, myItemToID, _MyItemRangeID, _IsRange, _TranType, _Config, _DTS, _UserID); + if (!IsDirty) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = Transition.Add(cn, ref _TransitionID, _MyContent, myItemToID, _MyItemRangeID, _IsRange, _TranType, _Config, _DTS, _UserID); + } + MarkOld(); } internal void Update(Item myItemToID) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - _LastChanged = Transition.Update(cn, ref _TransitionID, _FromID, myItemToID.ItemID, _RangeID, _IsRange, _TranType, _Config, _DTS, _UserID, ref _LastChanged); + if (!IsDirty) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + _LastChanged = Transition.Update(cn, ref _TransitionID, _FromID, myItemToID.ItemID, _RangeID, _IsRange, _TranType, _Config, _DTS, _UserID, ref _LastChanged); + } + MarkOld(); } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "IDE0060:Remove unused parameter", Justification = "Keeping until replace CSLA")] internal void DeleteSelf(Item myItemToID) { // if we're not dirty then don't update the database - if (!this.IsDirty) return; + if (!IsDirty) return; // if we're new then don't update the database - if (this.IsNew) return; - SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]; - Transition.Remove(cn, _TransitionID); + if (IsNew) return; + using (SqlConnection cn = (SqlConnection)ApplicationContext.LocalContext["cn"]) + { + Transition.Remove(cn, _TransitionID); + } + MarkNew(); } #endregion // Standard Default Code #region extension - ItemTransition_ToIDExtension _ItemTransition_ToIDExtension = new ItemTransition_ToIDExtension(); + readonly ItemTransition_ToIDExtension _ItemTransition_ToIDExtension = new ItemTransition_ToIDExtension(); [Serializable()] partial class ItemTransition_ToIDExtension : extensionBase { @@ -578,22 +503,10 @@ namespace VEPROMS.CSLA.Library class extensionBase { // Default Values - public virtual int DefaultIsRange - { - get { return 0; } - } - public virtual int DefaultTranType - { - get { return 0; } - } - public virtual DateTime DefaultDTS - { - get { return DateTime.Now; } - } - public virtual string DefaultUserID - { - get { return Volian.Base.Library.VlnSettings.UserID; } - } + public virtual int DefaultIsRange => 0; + public virtual int DefaultTranType => 0; + public virtual DateTime DefaultDTS => DateTime.Now; + public virtual string DefaultUserID => Volian.Base.Library.VlnSettings.UserID; // Authorization Rules public virtual void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) { @@ -622,65 +535,13 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemTransition_ToID) + if (destType == typeof(string) && value is ItemTransition_ToID iD) { // Return the ToString value - return ((ItemTransition_ToID)value).ToString(); + return iD.ToString(); } return base.ConvertTo(context, culture, value, destType); } } #endregion } // Namespace - - -//// The following is a sample Extension File. You can use it to create ItemTransition_ToIDExt.cs -//using System; -//using System.Collections.Generic; -//using System.Text; -//using Csla; - -//namespace VEPROMS.CSLA.Library -//{ -// public partial class ItemTransition_ToID -// { -// partial class ItemTransition_ToIDExtension : extensionBase -// { -// // CSLATODO: Override automatic defaults -// public virtual int DefaultIsRange -// { -// get { return 0; } -// } -// public virtual int DefaultTranType -// { -// get { return 0; } -// } -// public virtual DateTime DefaultDTS -// { -// get { return DateTime.Now; } -// } -// public virtual string DefaultUserID -// { -// get { return Environment.UserName.ToUpper(); } -// } -// public new void AddAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowRead(Dbid, ""); -// } -// public new void AddInstanceAuthorizationRules(Csla.Security.AuthorizationRules rules) -// { -// //rules.AllowInstanceRead(Dbid, ""); -// } -// public new void AddValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddRule( -// Csla.Validation.CommonRules.StringMaxLength, -// new Csla.Validation.CommonRules.MaxLengthRuleArgs("Name", 100)); -// } -// public new void AddInstanceValidationRules(Csla.Validation.ValidationRules rules) -// { -// rules.AddInstanceRule(/* Instance Validation Rule */); -// } -// } -// } -//} diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransitions_RangeID.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransitions_RangeID.cs index 1f2b1085..c6626754 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransitions_RangeID.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransitions_RangeID.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,13 +29,10 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } - // One To Many - public ItemTransition_RangeID this[Transition myTransition] + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; + // One To Many + public ItemTransition_RangeID this[Transition myTransition] { get { @@ -47,11 +42,8 @@ namespace VEPROMS.CSLA.Library return null; } } - public new System.Collections.Generic.IList Items - { - get { return base.Items; } - } - public ItemTransition_RangeID GetItem(Transition myTransition) + public new System.Collections.Generic.IList Items => base.Items; + public ItemTransition_RangeID GetItem(Transition myTransition) { foreach (ItemTransition_RangeID transition in this) if (transition.TransitionID == myTransition.TransitionID) @@ -61,7 +53,7 @@ namespace VEPROMS.CSLA.Library public ItemTransition_RangeID Add(Content myContent, Item myItemToID) // One to Many { ItemTransition_RangeID transition = ItemTransition_RangeID.New(myContent, myItemToID); - this.Add(transition); + Add(transition); return transition; } public void Remove(Transition myTransition) @@ -103,23 +95,20 @@ namespace VEPROMS.CSLA.Library return true; return false; } - public override bool IsValid + public override bool IsValid => IsValidList(new List()); + public bool IsValidList(List list) { - get { return IsValidList(new List()); } - } - public bool IsValidList(List list) - { - // run through all the child objects - // and if any are invalid then the - // collection is invalid - foreach (ItemTransition_RangeID child in this) - if (!child.IsValidList(list)) - { - //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); - return false; - } - return true; - } + // run through all the child objects + // and if any are invalid then the + // collection is invalid + foreach (ItemTransition_RangeID child in this) + if (!child.IsValidList(list)) + { + //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); + return false; + } + return true; + } #endregion #region ValidationRules public IVEHasBrokenRules HasBrokenRules @@ -137,7 +126,7 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + return hasBrokenRules?.BrokenRules; } } #endregion @@ -174,16 +163,12 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } - ~ItemTransitions_RangeID() + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; + ~ItemTransitions_RangeID() { _CountFinalized++; } @@ -198,19 +183,16 @@ namespace VEPROMS.CSLA.Library // called to load data from the database private void Fetch(SafeDataReader dr) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; while (dr.Read()) - this.Add(ItemTransition_RangeID.Get(dr)); - this.RaiseListChangedEvents = true; + Add(ItemTransition_RangeID.Get(dr)); + RaiseListChangedEvents = true; } [Serializable()] private class RangeIDCriteria { - public RangeIDCriteria(int rangeID) - { - _RangeID = rangeID; - } - private int _RangeID; + public RangeIDCriteria(int rangeID) => _RangeID = rangeID; + private int _RangeID; public int RangeID { get { return _RangeID; } @@ -219,7 +201,7 @@ namespace VEPROMS.CSLA.Library } private void DataPortal_Fetch(RangeIDCriteria criteria) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemTransitions_RangeID.DataPortal_FetchRangeID", GetHashCode()); try { @@ -233,7 +215,7 @@ namespace VEPROMS.CSLA.Library cm.CommandTimeout = Database.DefaultTimeout; using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { - while (dr.Read()) this.Add(new ItemTransition_RangeID(dr)); + while (dr.Read()) Add(new ItemTransition_RangeID(dr)); } } } @@ -243,11 +225,11 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemTransitions_RangeID.DataPortal_FetchRangeID", ex); throw new DbCslaException("ItemTransitions_RangeID.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } internal void Update(Item item) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; try { // update (thus deleting) any deleted child objects @@ -266,49 +248,38 @@ namespace VEPROMS.CSLA.Library } finally { - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } } - #endregion - #region ICustomTypeDescriptor impl - public String GetClassName() - { return TypeDescriptor.GetClassName(this, true); } - public AttributeCollection GetAttributes() - { return TypeDescriptor.GetAttributes(this, true); } - public String GetComponentName() - { return TypeDescriptor.GetComponentName(this, true); } - public TypeConverter GetConverter() - { return TypeDescriptor.GetConverter(this, true); } - public EventDescriptor GetDefaultEvent() - { return TypeDescriptor.GetDefaultEvent(this, true); } - public PropertyDescriptor GetDefaultProperty() - { return TypeDescriptor.GetDefaultProperty(this, true); } - public object GetEditor(Type editorBaseType) - { return TypeDescriptor.GetEditor(this, editorBaseType, true); } - public EventDescriptorCollection GetEvents(Attribute[] attributes) - { return TypeDescriptor.GetEvents(this, attributes, true); } - public EventDescriptorCollection GetEvents() - { return TypeDescriptor.GetEvents(this, true); } - public object GetPropertyOwner(PropertyDescriptor pd) - { return this; } - /// - /// Called to get the properties of this type. Returns properties with certain - /// attributes. this restriction is not implemented here. - /// - /// - /// - public PropertyDescriptorCollection GetProperties(Attribute[] attributes) - { return GetProperties(); } - /// - /// Called to get the properties of this type. - /// - /// - public PropertyDescriptorCollection GetProperties() + #endregion + #region ICustomTypeDescriptor impl + public string GetClassName() => TypeDescriptor.GetClassName(this, true); + public AttributeCollection GetAttributes() => TypeDescriptor.GetAttributes(this, true); + public string GetComponentName() => TypeDescriptor.GetComponentName(this, true); + public TypeConverter GetConverter() => TypeDescriptor.GetConverter(this, true); + public EventDescriptor GetDefaultEvent() => TypeDescriptor.GetDefaultEvent(this, true); + public PropertyDescriptor GetDefaultProperty() => TypeDescriptor.GetDefaultProperty(this, true); + public object GetEditor(Type editorBaseType) => TypeDescriptor.GetEditor(this, editorBaseType, true); + public EventDescriptorCollection GetEvents(Attribute[] attributes) => TypeDescriptor.GetEvents(this, attributes, true); + public EventDescriptorCollection GetEvents() => TypeDescriptor.GetEvents(this, true); + public object GetPropertyOwner(PropertyDescriptor pd) => this; + /// + /// Called to get the properties of this type. Returns properties with certain + /// attributes. this restriction is not implemented here. + /// + /// + /// + public PropertyDescriptorCollection GetProperties(Attribute[] attributes) => GetProperties(); + /// + /// Called to get the properties of this type. + /// + /// + public PropertyDescriptorCollection GetProperties() { // Create a collection object to hold property descriptors PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); // Iterate the list - for (int i = 0; i < this.Items.Count; i++) + for (int i = 0; i < Items.Count; i++) { // Create a property descriptor for the item and add to the property descriptor collection ItemTransitions_RangeIDPropertyDescriptor pd = new ItemTransitions_RangeIDPropertyDescriptor(this, i); @@ -325,7 +296,6 @@ namespace VEPROMS.CSLA.Library /// public partial class ItemTransitions_RangeIDPropertyDescriptor : vlnListPropertyDescriptor { - private ItemTransition_RangeID Item { get { return (ItemTransition_RangeID)_Item; } } public ItemTransitions_RangeIDPropertyDescriptor(ItemTransitions_RangeID collection, int index) : base(collection, index) { ;} } #endregion @@ -334,10 +304,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemTransitions_RangeID) + if (destType == typeof(string) && value is ItemTransitions_RangeID iD) { // Return department and department role separated by comma. - return ((ItemTransitions_RangeID)value).Items.Count.ToString() + " Transitions_RangeID"; + return $"{iD.Items.Count} Transitions_RangeID"; } return base.ConvertTo(context, culture, value, destType); } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransitions_ToID.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransitions_ToID.cs index a67a3841..12da73f2 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransitions_ToID.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemTransitions_ToID.cs @@ -13,8 +13,6 @@ using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; -using System.Configuration; -using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; @@ -31,13 +29,10 @@ namespace VEPROMS.CSLA.Library private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endregion #region Business Methods - private string _ErrorMessage = string.Empty; - public string ErrorMessage - { - get { return _ErrorMessage; } - } - // One To Many - public ItemTransition_ToID this[Transition myTransition] + private readonly string _ErrorMessage = string.Empty; + public string ErrorMessage => _ErrorMessage; + // One To Many + public ItemTransition_ToID this[Transition myTransition] { get { @@ -61,7 +56,7 @@ namespace VEPROMS.CSLA.Library public ItemTransition_ToID Add(Content myContent, Item myItemRangeID) // One to Many { ItemTransition_ToID transition = ItemTransition_ToID.New(myContent, myItemRangeID); - this.Add(transition); + Add(transition); return transition; } public void Remove(Transition myTransition) @@ -103,23 +98,20 @@ namespace VEPROMS.CSLA.Library return true; return false; } - public override bool IsValid + public override bool IsValid => IsValidList(new List()); + public bool IsValidList(List list) { - get { return IsValidList(new List()); } - } - public bool IsValidList(List list) - { - // run through all the child objects - // and if any are invalid then the - // collection is invalid - foreach (ItemTransition_ToID child in this) - if (!child.IsValidList(list)) - { - //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); - return false; - } - return true; - } + // run through all the child objects + // and if any are invalid then the + // collection is invalid + foreach (ItemTransition_ToID child in this) + if (!child.IsValidList(list)) + { + //Console.WriteLine("Valid {0} Child {1} - {2}", child.IsValid, child.GetType().Name,child.ToString()); + return false; + } + return true; + } #endregion #region ValidationRules public IVEHasBrokenRules HasBrokenRules @@ -137,20 +129,14 @@ namespace VEPROMS.CSLA.Library get { IVEHasBrokenRules hasBrokenRules = HasBrokenRules; - return (hasBrokenRules != null ? hasBrokenRules.BrokenRules : null); + return hasBrokenRules?.BrokenRules; } } - #endregion - #region Factory Methods - internal static ItemTransitions_ToID New() - { - return new ItemTransitions_ToID(); - } - internal static ItemTransitions_ToID Get(SafeDataReader dr) - { - return new ItemTransitions_ToID(dr); - } - public static ItemTransitions_ToID GetByToID(int toID) + #endregion + #region Factory Methods + internal static ItemTransitions_ToID New() => new ItemTransitions_ToID(); + internal static ItemTransitions_ToID Get(SafeDataReader dr) => new ItemTransitions_ToID(dr); + public static ItemTransitions_ToID GetByToID(int toID) { try { @@ -161,11 +147,8 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("Error on ItemTransitions_ToID.GetByToID", ex); } } - private ItemTransitions_ToID() - { - MarkAsChild(); - } - internal ItemTransitions_ToID(SafeDataReader dr) + private ItemTransitions_ToID() => MarkAsChild(); + internal ItemTransitions_ToID(SafeDataReader dr) { MarkAsChild(); Fetch(dr); @@ -174,16 +157,12 @@ namespace VEPROMS.CSLA.Library private static int _CountCreated = 0; private static int _CountDisposed = 0; private static int _CountFinalized = 0; - private static int IncrementCountCreated - { get { return ++_CountCreated; } } - private int _CountWhenCreated = IncrementCountCreated; - public static int CountCreated - { get { return _CountCreated; } } - public static int CountNotDisposed - { get { return _CountCreated - _CountDisposed; } } - public static int CountNotFinalized - { get { return _CountCreated - _CountFinalized; } } - ~ItemTransitions_ToID() + private static int IncrementCountCreated => ++_CountCreated; + private readonly int _CountWhenCreated = IncrementCountCreated; + public static int CountCreated => _CountCreated; + public static int CountNotDisposed => _CountCreated - _CountDisposed; + public static int CountNotFinalized => _CountCreated - _CountFinalized; + ~ItemTransitions_ToID() { _CountFinalized++; } @@ -198,19 +177,16 @@ namespace VEPROMS.CSLA.Library // called to load data from the database private void Fetch(SafeDataReader dr) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; while (dr.Read()) - this.Add(ItemTransition_ToID.Get(dr)); - this.RaiseListChangedEvents = true; + Add(ItemTransition_ToID.Get(dr)); + RaiseListChangedEvents = true; } [Serializable()] private class ToIDCriteria { - public ToIDCriteria(int toID) - { - _ToID = toID; - } - private int _ToID; + public ToIDCriteria(int toID) => _ToID = toID; + private int _ToID; public int ToID { get { return _ToID; } @@ -219,7 +195,7 @@ namespace VEPROMS.CSLA.Library } private void DataPortal_Fetch(ToIDCriteria criteria) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemTransitions_ToID.DataPortal_FetchToID", GetHashCode()); try { @@ -233,7 +209,7 @@ namespace VEPROMS.CSLA.Library cm.CommandTimeout = Database.DefaultTimeout; using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { - while (dr.Read()) this.Add(new ItemTransition_ToID(dr)); + while (dr.Read()) Add(new ItemTransition_ToID(dr)); } } } @@ -243,11 +219,11 @@ namespace VEPROMS.CSLA.Library if (_MyLog.IsErrorEnabled) _MyLog.Error("ItemTransitions_ToID.DataPortal_FetchToID", ex); throw new DbCslaException("ItemTransitions_ToID.DataPortal_Fetch", ex); } - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } internal void Update(Item item) { - this.RaiseListChangedEvents = false; + RaiseListChangedEvents = false; try { // update (thus deleting) any deleted child objects @@ -266,49 +242,38 @@ namespace VEPROMS.CSLA.Library } finally { - this.RaiseListChangedEvents = true; + RaiseListChangedEvents = true; } } - #endregion - #region ICustomTypeDescriptor impl - public String GetClassName() - { return TypeDescriptor.GetClassName(this, true); } - public AttributeCollection GetAttributes() - { return TypeDescriptor.GetAttributes(this, true); } - public String GetComponentName() - { return TypeDescriptor.GetComponentName(this, true); } - public TypeConverter GetConverter() - { return TypeDescriptor.GetConverter(this, true); } - public EventDescriptor GetDefaultEvent() - { return TypeDescriptor.GetDefaultEvent(this, true); } - public PropertyDescriptor GetDefaultProperty() - { return TypeDescriptor.GetDefaultProperty(this, true); } - public object GetEditor(Type editorBaseType) - { return TypeDescriptor.GetEditor(this, editorBaseType, true); } - public EventDescriptorCollection GetEvents(Attribute[] attributes) - { return TypeDescriptor.GetEvents(this, attributes, true); } - public EventDescriptorCollection GetEvents() - { return TypeDescriptor.GetEvents(this, true); } - public object GetPropertyOwner(PropertyDescriptor pd) - { return this; } - /// - /// Called to get the properties of this type. Returns properties with certain - /// attributes. this restriction is not implemented here. - /// - /// - /// - public PropertyDescriptorCollection GetProperties(Attribute[] attributes) - { return GetProperties(); } - /// - /// Called to get the properties of this type. - /// - /// - public PropertyDescriptorCollection GetProperties() + #endregion + #region ICustomTypeDescriptor impl + public string GetClassName() => TypeDescriptor.GetClassName(this, true); + public AttributeCollection GetAttributes() => TypeDescriptor.GetAttributes(this, true); + public string GetComponentName() => TypeDescriptor.GetComponentName(this, true); + public TypeConverter GetConverter() => TypeDescriptor.GetConverter(this, true); + public EventDescriptor GetDefaultEvent() => TypeDescriptor.GetDefaultEvent(this, true); + public PropertyDescriptor GetDefaultProperty() => TypeDescriptor.GetDefaultProperty(this, true); + public object GetEditor(Type editorBaseType) => TypeDescriptor.GetEditor(this, editorBaseType, true); + public EventDescriptorCollection GetEvents(Attribute[] attributes) => TypeDescriptor.GetEvents(this, attributes, true); + public EventDescriptorCollection GetEvents() => TypeDescriptor.GetEvents(this, true); + public object GetPropertyOwner(PropertyDescriptor pd) => this; + /// + /// Called to get the properties of this type. Returns properties with certain + /// attributes. this restriction is not implemented here. + /// + /// + /// + public PropertyDescriptorCollection GetProperties(Attribute[] attributes) => GetProperties(); + /// + /// Called to get the properties of this type. + /// + /// + public PropertyDescriptorCollection GetProperties() { // Create a collection object to hold property descriptors PropertyDescriptorCollection pds = new PropertyDescriptorCollection(null); // Iterate the list - for (int i = 0; i < this.Items.Count; i++) + for (int i = 0; i < Items.Count; i++) { // Create a property descriptor for the item and add to the property descriptor collection ItemTransitions_ToIDPropertyDescriptor pd = new ItemTransitions_ToIDPropertyDescriptor(this, i); @@ -325,7 +290,6 @@ namespace VEPROMS.CSLA.Library /// public partial class ItemTransitions_ToIDPropertyDescriptor : vlnListPropertyDescriptor { - private ItemTransition_ToID Item { get { return (ItemTransition_ToID)_Item; } } public ItemTransitions_ToIDPropertyDescriptor(ItemTransitions_ToID collection, int index) : base(collection, index) { ;} } #endregion @@ -334,10 +298,10 @@ namespace VEPROMS.CSLA.Library { public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType) { - if (destType == typeof(string) && value is ItemTransitions_ToID) + if (destType == typeof(string) && value is ItemTransitions_ToID iD) { // Return department and department role separated by comma. - return ((ItemTransitions_ToID)value).Items.Count.ToString() + " Transitions_ToID"; + return $"{iD.Items.Count} Transitions_ToID"; } return base.ConvertTo(context, culture, value, destType); }