From a118282fbb8812b33b0abb310f2b457c6805669d Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 15 Dec 2020 20:46:06 +0000 Subject: [PATCH] --- .../PublishProfiles/PublishMBI.pubxml.user | 64 +-- .../AyaNova.Plugin.V8/Auth.Designer.cs | 13 + source/Plugins/AyaNova.Plugin.V8/Auth.cs | 2 +- source/Plugins/AyaNova.Plugin.V8/V8.cs | 56 +- source/Plugins/AyaNova.Plugin.V8/util.cs | 11 +- source/bizobjects/AyaLib/AssemblyInfo.cs | 2 +- .../AyaLib/GZTW.AyaNova.BLL/MemoList.cs | 507 +++++++++--------- 7 files changed, 372 insertions(+), 283 deletions(-) diff --git a/source/MBI/Properties/PublishProfiles/PublishMBI.pubxml.user b/source/MBI/Properties/PublishProfiles/PublishMBI.pubxml.user index 9e195ac..767a227 100644 --- a/source/MBI/Properties/PublishProfiles/PublishMBI.pubxml.user +++ b/source/MBI/Properties/PublishProfiles/PublishMBI.pubxml.user @@ -13,7 +13,7 @@ by editing this MSBuild file. In order to learn more about this please visit htt 03/14/2019 14:44:18 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 06/14/2017 11:29:54 @@ -34,40 +34,40 @@ by editing this MSBuild file. In order to learn more about this please visit htt 03/14/2019 14:41:56 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 03/22/2019 15:27:40 - 10/19/2020 14:30:05 + 12/11/2020 11:13:03 - 10/19/2020 14:30:06 + 12/11/2020 11:13:05 - 10/19/2020 14:30:05 + 12/11/2020 11:13:03 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 03/14/2019 14:42:21 - 10/19/2020 14:30:08 + 12/11/2020 11:13:47 - 10/19/2020 14:30:40 + 12/11/2020 11:13:48 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:06 + 12/11/2020 11:13:04 06/14/2017 12:04:42 @@ -76,61 +76,61 @@ by editing this MSBuild file. In order to learn more about this please visit htt 06/14/2017 11:32:19 - 10/19/2020 14:30:05 + 12/11/2020 11:13:03 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 03/18/2019 11:54:01 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:56 + 12/11/2020 11:14:08 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 03/22/2019 15:27:40 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 03/14/2019 14:44:19 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 03/14/2019 14:44:19 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 03/14/2019 14:44:19 @@ -142,25 +142,25 @@ by editing this MSBuild file. In order to learn more about this please visit htt 03/14/2019 14:44:19 - 10/19/2020 14:30:42 + 12/11/2020 11:13:50 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 03/14/2019 14:44:19 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 - 10/19/2020 14:30:47 + 12/11/2020 11:13:58 03/14/2019 14:44:18 diff --git a/source/Plugins/AyaNova.Plugin.V8/Auth.Designer.cs b/source/Plugins/AyaNova.Plugin.V8/Auth.Designer.cs index f0389ef..8bc0e0c 100644 --- a/source/Plugins/AyaNova.Plugin.V8/Auth.Designer.cs +++ b/source/Plugins/AyaNova.Plugin.V8/Auth.Designer.cs @@ -41,6 +41,7 @@ this.btnTest = new System.Windows.Forms.Button(); this.label2 = new System.Windows.Forms.Label(); this.lblPreRelease = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); @@ -167,6 +168,16 @@ this.lblPreRelease.Text = "Pre-release 7.6-Alpha"; this.lblPreRelease.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(28, 278); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(181, 16); + this.label3.TabIndex = 38; + this.label3.Text = "AyaNova 8 SuperUser login:"; + // // Auth // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -174,6 +185,7 @@ this.AutoSize = true; this.ClientSize = new System.Drawing.Size(614, 545); this.ControlBox = false; + this.Controls.Add(this.label3); this.Controls.Add(this.lblPreRelease); this.Controls.Add(this.label2); this.Controls.Add(this.btnTest); @@ -213,5 +225,6 @@ private System.Windows.Forms.Button btnTest; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label lblPreRelease; + private System.Windows.Forms.Label label3; } } \ No newline at end of file diff --git a/source/Plugins/AyaNova.Plugin.V8/Auth.cs b/source/Plugins/AyaNova.Plugin.V8/Auth.cs index 071bdea..3ce26b2 100644 --- a/source/Plugins/AyaNova.Plugin.V8/Auth.cs +++ b/source/Plugins/AyaNova.Plugin.V8/Auth.cs @@ -42,7 +42,7 @@ namespace AyaNova.PlugIn.V8 var res = await util.AuthenticateAsync(edUserName.Text,edPassword.Text); if (!res) { - MessageBox.Show("Login failed"); + MessageBox.Show("AyaNova 8 SuperUser account login failed"); return; } diff --git a/source/Plugins/AyaNova.Plugin.V8/V8.cs b/source/Plugins/AyaNova.Plugin.V8/V8.cs index 9b00e95..67c3abb 100644 --- a/source/Plugins/AyaNova.Plugin.V8/V8.cs +++ b/source/Plugins/AyaNova.Plugin.V8/V8.cs @@ -35,7 +35,7 @@ namespace AyaNova.PlugIn.V8 public string PluginVersion { - get { return "7.6.1-alpha.95"; } + get { return "7.6.1-alpha.96"; } } public string About @@ -317,6 +317,8 @@ namespace AyaNova.PlugIn.V8 await ExportUnitModels(progress); await ExportVendors(progress); await ExportExternalUsers(progress);//needs vendors, clients and headoffices already exported so needs to be here late + await ExportMemos(progress); + await ExportServiceWorkorders(progress); //todo: these are now invalid and awaiting RAVEN end implementation //after which can copy mostly from service workorder block @@ -1849,6 +1851,58 @@ namespace AyaNova.PlugIn.V8 } #endregion Vendors + + #region Memos + private async System.Threading.Tasks.Task ExportMemos(ProgressForm progress) + { + if (!progress.KeepGoing) return; + progress.Op("Start Memos export"); + progress.SubOp(""); + var ObjectTypeName = "Memo"; + + //Step 2: export the objects + MemoList pl = MemoList.GetListForSingleItem(PluginID); + + progress.Append("Exporting " + pl.Count.ToString() + " " + ObjectTypeName + "s"); + + foreach (MemoList.MemoListInfo i in pl) + { + if (!progress.KeepGoing) return; + List tags = new List(); + tags.Add(ImportTag); + + + + dynamic d = new JObject(); + d.name = i.LT_Memo_Label_Subject.Display; + d.notes = i.LT_Memo_Label_Message; + //d.customFields = "{}"; + //d.tags = "[]"; + d.viewed = i.LT_Memo_Label_Viewed; + d.replied = i.LT_Memo_Label_Replied; + d.fromId = SafeGetUserMap(i.LT_Memo_Label_FromID.Value); + d.sent = i.LT_Memo_Label_Sent; + + progress.Op(ObjectTypeName + " " + i.ID.ToString()); + + + + var rMainObject = await util.PostAsync("memo", d.ToString()); + long RavenId = util.IdFromResponse(rMainObject); + + //----- + + d = rMainObject.ObjectResponse["data"]; + + //----- + + //Event log fixup + await util.EventLog(util.AyaType.Project, RavenId, SafeGetUserMap(i.LT_Memo_Label_FromID.Value), SafeGetUserMap(i.LT_Memo_Label_FromID.Value), i.LT_Memo_Label_Sent.ToString(), i.LT_Memo_Label_Sent.ToString()); + + } + } + #endregion Memos + #region Service Workorders private async System.Threading.Tasks.Task ExportServiceWorkorders(ProgressForm progress) { diff --git a/source/Plugins/AyaNova.Plugin.V8/util.cs b/source/Plugins/AyaNova.Plugin.V8/util.cs index bb45847..94c57bc 100644 --- a/source/Plugins/AyaNova.Plugin.V8/util.cs +++ b/source/Plugins/AyaNova.Plugin.V8/util.cs @@ -110,7 +110,16 @@ namespace AyaNova.PlugIn.V8 if (a.HttpResponse.IsSuccessStatusCode) { - JWT = a.ObjectResponse["data"]["token"].Value(); + JWT=a.ObjectResponse["data"]["token"].Value(); + //Must be *the* SuperUser to continue: + a = await GetAsync("user/amsu"); + var IsSuperUser = a.ObjectResponse["data"].Value(); + if (!IsSuperUser) { + JWT = string.Empty; + return false; + } + + return true; } diff --git a/source/bizobjects/AyaLib/AssemblyInfo.cs b/source/bizobjects/AyaLib/AssemblyInfo.cs index bfe59ce..c75e3b4 100644 --- a/source/bizobjects/AyaLib/AssemblyInfo.cs +++ b/source/bizobjects/AyaLib/AssemblyInfo.cs @@ -64,4 +64,4 @@ using System.Security.Permissions; // Configure log4net using the .config file //[assembly: log4net.Config.XmlConfigurator(ConfigFile="Log4Net.config",Watch=true)] //[assembly: log4net.Config.XmlConfigurator( ConfigFile="Log4Net.config",Watch=true )] -[assembly: AssemblyFileVersionAttribute("7.6.10.0")] +[assembly: AssemblyFileVersionAttribute("7.6.11.0")] diff --git a/source/bizobjects/AyaLib/GZTW.AyaNova.BLL/MemoList.cs b/source/bizobjects/AyaLib/GZTW.AyaNova.BLL/MemoList.cs index 16c8e15..7373aff 100644 --- a/source/bizobjects/AyaLib/GZTW.AyaNova.BLL/MemoList.cs +++ b/source/bizobjects/AyaLib/GZTW.AyaNova.BLL/MemoList.cs @@ -20,78 +20,78 @@ namespace GZTW.AyaNova.BLL { #pragma warning disable 1591 /// - /// Lightweight read only list of objects representing object - /// - /// - [Serializable] - public class MemoList : ReadOnlyCollectionBase - { + /// Lightweight read only list of objects representing object + /// + /// + [Serializable] + public class MemoList : ReadOnlyCollectionBase + { - - #region Data structure - /// - /// Properties - /// - [Serializable] - public struct MemoListInfo - { - internal Guid mID; - internal SmartDate mCreated; - internal GridRelativeTimeCellItem mCreatedRelative; + + #region Data structure + /// + /// Properties + /// + [Serializable] + public struct MemoListInfo + { + internal Guid mID; + internal SmartDate mCreated; + internal GridRelativeTimeCellItem mCreatedRelative; internal GridNameValueCellItem mSubject; - internal string mMessage; - internal GridNameValueCellItem mFrom; - //internal Guid mFrom; - internal bool mViewed; - internal bool mReplied; + internal string mMessage; + internal GridNameValueCellItem mFrom; + //internal Guid mFrom; + internal bool mViewed; + internal bool mReplied; - //ID Not localized as it's an invisible field + //ID Not localized as it's an invisible field [Display(DisplayType.Hidden)] - public Guid ID - { - get - { - return mID; - } - } + public Guid ID + { + get + { + return mID; + } + } - [SqlColumnNameAttribute("aMemo.aCreated"),Display(DisplayType.DateTime)] - public object LT_Memo_Label_Sent - { - get - { - return mCreated.DBValue; - } - } + [SqlColumnNameAttribute("aMemo.aCreated"), Display(DisplayType.DateTime)] + public object LT_Memo_Label_Sent + { + get + { + return mCreated.DBValue; + } + } [SqlColumnNameAttribute("grid"), Display(DisplayType.Text)] - public GridRelativeTimeCellItem LT_Memo_Label_Sent_Relative - { - get - { - return mCreatedRelative; - } - } + public GridRelativeTimeCellItem LT_Memo_Label_Sent_Relative + { + get + { + return mCreatedRelative; + } + } [SqlColumnNameAttribute("aUser.aLastName", "aMemo.aFromID"), Display(DisplayType.Button, RootObjectType = RootObjectTypes.Client)] - public GridNameValueCellItem LT_Memo_Label_FromID - { - get - { - return mFrom; - } - } + public GridNameValueCellItem LT_Memo_Label_FromID + { + get + { + return mFrom; + } + } [SqlColumnNameAttribute("aMemo.aSubject", "aMemo.aID"), Display(DisplayType.Button, RootObjectType = RootObjectTypes.Memo)] public GridNameValueCellItem LT_Memo_Label_Subject - { - get - { - return mSubject; - } - } + { + get + { + return mSubject; + } + } [Display(DisplayType.Hidden)] public string LT_Memo_Label_Message @@ -103,118 +103,118 @@ namespace GZTW.AyaNova.BLL } [SqlColumnNameAttribute("aMemo.aViewed"), Display(DisplayType.Hidden)]//case 1805 added column name attribute so can set criteria for dashboard - public bool LT_Memo_Label_Viewed - { - get - { - return mViewed; - } - } + public bool LT_Memo_Label_Viewed + { + get + { + return mViewed; + } + } //Special control, i.e. in this case image checkbox showing replied graphic or not replied graphic [Display(DisplayType.SpecialControl)] - public bool LT_Memo_Label_Replied - { - get - { - return this.mReplied; - } - } - - - - /// - /// - /// - /// - public bool Equals(MemoListInfo obj) - { - return this.ID.Equals(obj.ID); - } - - }//end MemoListInfo - #endregion - - #region Constructor - private RelativeTimeFormatter rtfm=null; - - protected MemoList() - { - - rtfm=RelativeTimeFormatter.GetItem(User.CurrentUserLanguage); - // AllowSort=false; - // AllowFind=true; - // AllowEdit=false; - // AllowNew=false; - // AllowRemove=false; - } - - #endregion - - #region Business properties and methods - - /// - /// Get item by index - /// - /// - public MemoListInfo this[int Item] - { - - get - { - return (MemoListInfo) List[Item]; - } - } + public bool LT_Memo_Label_Replied + { + get + { + return this.mReplied; + } + } - /// - /// Returns display text that matches passed in itemid value - /// - /// - public string this[Guid ItemID] - { - get - { - foreach (MemoListInfo child in List) - { - if(child.ID==ItemID) return child.ToString(); - } - return "Missing: "+ItemID.ToString(); - } - } - #endregion + /// + /// + /// + /// + public bool Equals(MemoListInfo obj) + { + return this.ID.Equals(obj.ID); + } - #region contains - /// - /// Check if item in collection - /// - /// - public bool Contains(MemoListInfo obj) - { - foreach (MemoListInfo child in List) - { - if(child.Equals(obj)) return true; - } - return false; + }//end MemoListInfo + #endregion - } - #endregion + #region Constructor + private RelativeTimeFormatter rtfm = null; + + protected MemoList() + { + + rtfm = RelativeTimeFormatter.GetItem(User.CurrentUserLanguage); + // AllowSort=false; + // AllowFind=true; + // AllowEdit=false; + // AllowNew=false; + // AllowRemove=false; + } + + #endregion + + #region Business properties and methods + + /// + /// Get item by index + /// + /// + public MemoListInfo this[int Item] + { + + get + { + return (MemoListInfo)List[Item]; + } + } + + + /// + /// Returns display text that matches passed in itemid value + /// + /// + public string this[Guid ItemID] + { + + get + { + foreach (MemoListInfo child in List) + { + if (child.ID == ItemID) return child.ToString(); + } + return "Missing: " + ItemID.ToString(); + } + } + #endregion + + #region contains + /// + /// Check if item in collection + /// + /// + public bool Contains(MemoListInfo obj) + { + foreach (MemoListInfo child in List) + { + if (child.Equals(obj)) return true; + } + return false; + + } + #endregion #region Reporting and shared UI editor helpers /// - /// Returns the report key which is a property of - /// reports used to link all reports that can be used - /// with a particular data source. - /// - public static string ReportKey - { - get - { - return "MemoList"; - } - } + /// Returns the report key which is a property of + /// reports used to link all reports that can be used + /// with a particular data source. + /// + public static string ReportKey + { + get + { + return "MemoList"; + } + } /// /// Returns the Detailed report key @@ -298,9 +298,9 @@ namespace GZTW.AyaNova.BLL } } - #endregion + #endregion - #region Static methods + #region Static methods /// /// Internal method used by list factory @@ -310,16 +310,16 @@ namespace GZTW.AyaNova.BLL return (MemoList)DataPortal.Fetch(new Criteria(Filter, IDList, MaxRecords)); } - /// - /// Get all Memo (filtered by crit) - /// - /// Use AyaNova UI to easily build xmlCriteria and Ctrl-Alt-g keyboard command to display it for use in your code + /// + /// Get all Memo (filtered by crit) + /// + /// Use AyaNova UI to easily build xmlCriteria and Ctrl-Alt-g keyboard command to display it for use in your code /// list of objects - - public static MemoList GetList(string xmlCriteria) - { + + public static MemoList GetList(string xmlCriteria) + { return (MemoList)DataPortal.Fetch(new Criteria(xmlCriteria, null, -1)); - } + } /// /// Takes a single ID and returns a "list" of one object @@ -349,62 +349,75 @@ namespace GZTW.AyaNova.BLL return (MemoList)DataPortal.Fetch(new Criteria("", IDList, -1)); } - /// - /// Return an empty list - /// used for initializing grid - /// - /// - public static MemoList GetEmptyList() - { - return new MemoList(); - } + /// + /// Return an empty list + /// used for initializing grid + /// + /// + public static MemoList GetEmptyList() + { + return new MemoList(); + } - #endregion + #endregion - #region DAL DATA ACCESS - /// - /// - protected override void DataPortal_Fetch(object Criteria) - { - - Criteria crit = (Criteria)Criteria; + #region DAL DATA ACCESS + /// + /// + protected override void DataPortal_Fetch(object Criteria) + { - SafeDataReader dr = null; + Criteria crit = (Criteria)Criteria; + + SafeDataReader dr = null; DateTime dtNow = DBUtil.CurrentWorkingDateTime; - try - { + try + { if (crit.IDList != null) { - //Case 556 - System.Text.StringBuilder sbIN = new System.Text.StringBuilder(); - sbIN.Append(" WHERE (aMemo.aID in ("); - foreach (Guid gItem in crit.IDList) + //v8 Migrate related change + //this is a workaround to get all the memos even though the current user is not the recipient of all of them + if (crit.IDList.Count == 1 && crit.IDList[0] == new Guid("{BD608E8A-820C-46D1-9D81-4CCB6E71B213}"))//v8 migrate plugin id { - sbIN.Append("'"); - sbIN.Append("{"); - sbIN.Append(gItem.ToString().ToUpperInvariant()); - sbIN.Append("}"); - sbIN.Append("',"); + dr = DBUtil.GetReaderFromSQLString( + "SELECT aMemo.aID, aMemo.aCreated, " + + "aMemo.aViewed, aMemo.aReplied, aMemo.aSubject, aMemo.aMessage, " + + "aMemo.aFromID, aMemo.aToId " + + " 'first' as afirstname, 'last' as alastname, 'ii' as ainitials, 'en' as aemployeenumber, 'r' as aregionname " + + "FROM aMemo order by amemo.acreated"); } - sbIN.Length = sbIN.Length - 1; - sbIN.Append(")) "); - - //************************************************************ - dr = DBUtil.GetReaderFromSQLString( - "SELECT aMemo.aID, aMemo.aCreated, " + - "aMemo.aViewed, aMemo.aReplied, aMemo.aSubject, aMemo.aMessage, " + - "aMemo.aFromID, aUser.aFirstName, aUser.aLastName, aUser.aInitials, AREGION.ANAME AS AREGIONNAME, " + - "aUser.aEmployeeNumber FROM aMemo " + - - " LEFT OUTER JOIN aUser ON aMemo.aFromID = aUser.aID " + - " LEFT OUTER JOIN AREGION ON (AUSER.AREGIONID=AREGION.AID) " + - sbIN.ToString() + " " + - AyaBizUtils.GetGridSortOrderColumns(crit.CriteriaXML)); - - - + else + { + //Case 556 + System.Text.StringBuilder sbIN = new System.Text.StringBuilder(); + sbIN.Append(" WHERE (aMemo.aID in ("); + foreach (Guid gItem in crit.IDList) + { + sbIN.Append("'"); + sbIN.Append("{"); + sbIN.Append(gItem.ToString().ToUpperInvariant()); + sbIN.Append("}"); + sbIN.Append("',"); + } + sbIN.Length = sbIN.Length - 1; + sbIN.Append(")) "); + + //************************************************************ + dr = DBUtil.GetReaderFromSQLString( + "SELECT aMemo.aID, aMemo.aCreated, " + + "aMemo.aViewed, aMemo.aReplied, aMemo.aSubject, aMemo.aMessage, " + + "aMemo.aFromID, aUser.aFirstName, aUser.aLastName, aUser.aInitials, AREGION.ANAME AS AREGIONNAME, " + + "aUser.aEmployeeNumber FROM aMemo " + + + " LEFT OUTER JOIN aUser ON aMemo.aFromID = aUser.aID " + + " LEFT OUTER JOIN AREGION ON (AUSER.AREGIONID=AREGION.AID) " + + sbIN.ToString() + " " + + AyaBizUtils.GetGridSortOrderColumns(crit.CriteriaXML)); + } + + } else { @@ -413,7 +426,7 @@ namespace GZTW.AyaNova.BLL "aMemo.aViewed, aMemo.aReplied, aMemo.aSubject, aMemo.aMessage, " + "aMemo.aFromID, aUser.aFirstName, aUser.aLastName, aUser.aInitials, AREGION.ANAME AS AREGIONNAME, " + "aUser.aEmployeeNumber FROM aMemo " + - + " LEFT OUTER JOIN aUser ON aMemo.aFromID = aUser.aID " + " LEFT OUTER JOIN AREGION ON (AUSER.AREGIONID=AREGION.AID) " + "WHERE (aMemo.aToID = @ID) " + @@ -428,45 +441,45 @@ namespace GZTW.AyaNova.BLL dr = DBUtil.GetReaderFromSQLString(q, CurrentUserID); } - while(dr.Read()) - { - //******************************************* - MemoListInfo info=new MemoListInfo(); + while (dr.Read()) + { + //******************************************* + MemoListInfo info = new MemoListInfo(); - info.mID=dr.GetGuid("aID"); - - info.mCreated=DBUtil.ToLocal(dr.GetSmartDate("aCreated")); - info.mCreatedRelative = new GridRelativeTimeCellItem(rtfm.Format(dtNow,info.mCreated)); - info.mFrom=new GridNameValueCellItem( - dr.GetGuid("aFromID"), - User.NameFormatter(dr.GetString("aFirstName"),dr.GetString("aLastName"),dr.GetString("aInitials"), + info.mID = dr.GetGuid("aID"); + + info.mCreated = DBUtil.ToLocal(dr.GetSmartDate("aCreated")); + info.mCreatedRelative = new GridRelativeTimeCellItem(rtfm.Format(dtNow, info.mCreated)); + info.mFrom = new GridNameValueCellItem( + dr.GetGuid("aFromID"), + User.NameFormatter(dr.GetString("aFirstName"), dr.GetString("aLastName"), dr.GetString("aInitials"), dr.GetString("aEmployeeNumber"), dr.GetString("AREGIONNAME"), AyaBizUtils.GlobalSettings.DefaultScheduleableUserNameDisplayFormat) - ,RootObjectTypes.User); + , RootObjectTypes.User); info.mSubject = new GridNameValueCellItem( dr.GetGuid("aID"), - dr.GetString("aSubject"), + dr.GetString("aSubject"), RootObjectTypes.Memo); - - info.mViewed=dr.GetBoolean("aViewed"); - info.mReplied=dr.GetBoolean("aReplied"); + + info.mViewed = dr.GetBoolean("aViewed"); + info.mReplied = dr.GetBoolean("aReplied"); info.mMessage = dr.GetString("aMessage"); - - InnerList.Add(info); - //******************************************* - } - } - finally - { - if(dr!=null) dr.Close(); - } - - } - #endregion + InnerList.Add(info); + //******************************************* + } + } + finally + { + if (dr != null) dr.Close(); + } - #region criteria + + } + #endregion + + #region criteria /// /// Criteria for identifying existing object /// @@ -483,8 +496,8 @@ namespace GZTW.AyaNova.BLL MaxRecords = _MaxRecords; } } - #endregion - - }//end MemoList + #endregion + + }//end MemoList #pragma warning restore 1591 }//end namespace GZTW.AyaNova.BLL \ No newline at end of file