using System; using System.Collections.Generic; using System.Linq; using System.Text; using Ease.CoreV35; using Ease.CoreV35.Model; using Ease.CoreV35.Caching; using System.Data.Linq.Mapping; using System.Data; using System.IO; namespace Payroll.BO { #region EERS [Serializable] public class EERS : BasicBaseObject { string sApplicationID = ""; #region Constructor public EERS() { _sapplicationID = string.Empty; _sLastName = string.Empty; _sFirstName = string.Empty; _sLogInID = string.Empty; _sRITSID = string.Empty; _sGEIDID = string.Empty; _sApplicationFunctionTitleCode = string.Empty; _sApplicationFunctionTCDescription = string.Empty; _sSOEID = string.Empty; _sSecondLevelEntDes = string.Empty; _sExternalDrillDownCode = string.Empty; _sSequenceField = string.Empty; _sISAContactID = string.Empty; _sCMPProductID = string.Empty; _sFunctionalIDIndicatorCode = string.Empty; _nAttributeFlag = 0; _nEnvironmentFlag = 0; } #endregion #region Properties #region ApplicationID : string private string _sapplicationID; public string ApplicationID { get { return _sapplicationID; } set { base.OnPropertyChange("applicationID", _sapplicationID, value); _sapplicationID = value; } } #endregion #region LastName : string private string _sLastName; public string LastName { get { return _sLastName; } set { base.OnPropertyChange("LastName", _sLastName, value); _sLastName = value; } } #endregion #region FirstName : string private string _sFirstName; public string FirstName { get { return _sFirstName; } set { base.OnPropertyChange("firstName", _sFirstName, value); _sFirstName = value; } } #endregion #region LogInID : string private string _sLogInID; public string LogInID { get { return _sLogInID; } set { base.OnPropertyChange("logInID", _sLogInID, value); _sLogInID = value; } } #endregion #region RITSID : string private string _sRITSID; public string RITSID { get { return _sRITSID; } set { base.OnPropertyChange("rITSID", _sRITSID, value); _sRITSID = value; } } #endregion #region GEID : string private string _sGEIDID; public string GEID { get { return _sGEIDID; } set { base.OnPropertyChange("gEID", _sGEIDID, value); _sGEIDID = value; } } #endregion #region AFTitleCode : string private string _sApplicationFunctionTitleCode; public string AFTitleCode { get { return _sApplicationFunctionTitleCode; } set { base.OnPropertyChange("aFTitleCode", _sApplicationFunctionTitleCode, value); _sApplicationFunctionTitleCode = value; } } #endregion #region AFTitleCodeDescription : string private string _sApplicationFunctionTCDescription; public string AFTitleCodeDescription { get { return _sApplicationFunctionTCDescription; } set { base.OnPropertyChange("aFTitleCodeDescription", _sApplicationFunctionTCDescription, value); _sApplicationFunctionTCDescription = value; } } #endregion #region SOEID : string private string _sSOEID; public string SOEID { get { return _sSOEID; } set { base.OnPropertyChange("sOEID", _sSOEID, value); _sSOEID = value; } } #endregion #region SecondLevelEntDes : string private string _sSecondLevelEntDes; public string SecondLevelEntDes { get { return _sSecondLevelEntDes; } set { base.OnPropertyChange("secondLevelEntDes", _sSecondLevelEntDes, value); _sSecondLevelEntDes = value; } } #endregion #region ExternalDrillDownCode : string private string _sExternalDrillDownCode; public string ExternalDrillDownCode { get { return _sExternalDrillDownCode; } set { base.OnPropertyChange("externalDrillDownCode", _sExternalDrillDownCode, value); _sExternalDrillDownCode = value; } } #endregion #region SequenceField : string private string _sSequenceField; public string SequenceField { get { return _sSequenceField; } set { base.OnPropertyChange("sequenceField", _sSequenceField, value); _sSequenceField = value; } } #endregion #region ISAContactID : string private string _sISAContactID; public string ISAContactID { get { return _sISAContactID; } set { base.OnPropertyChange("iSAContactID", _sISAContactID, value); _sISAContactID = value; } } #endregion #region CMPProductID : string private string _sCMPProductID; public string CMPProductID { get { return _sCMPProductID; } set { base.OnPropertyChange("cMPProductID", _sCMPProductID, value); _sCMPProductID = value; } } #endregion #region FunctionalIDIndicatorCode : string private string _sFunctionalIDIndicatorCode; public string FunctionalIDIndicatorCode { get { return _sFunctionalIDIndicatorCode; } set { base.OnPropertyChange("functionalIDIndicatorCode", _sFunctionalIDIndicatorCode, value); _sFunctionalIDIndicatorCode = value; } } #endregion #region AttributeFlag : int private int _nAttributeFlag; public int AttributeFlag { get { return _nAttributeFlag; } set { base.OnPropertyChange("attributeFlag", _nAttributeFlag, value); _nAttributeFlag = value; } } #endregion #region EnvironmentFlag : int private int _nEnvironmentFlag; public int EnvironmentFlag { get { return _nEnvironmentFlag; } set { base.OnPropertyChange("environmentFlag", _nEnvironmentFlag, value); _nEnvironmentFlag = value; } } #endregion #endregion #region Functions public DataTable Get() { sApplicationID = System.Configuration.ConfigurationSettings.AppSettings["EERS"]; ObjectsTemplate oUsers = User.Get(EnumSystemType.Desktop); ObjectsTemplate oEmployees = Employee.GetForSuperUser(); ObjectsTemplate oRoles = Role.Get(EnumStatus.Regardless); ObjectsTemplate oUserRoles = UserRole.Get(); DataTable dt = new DataTable(); DataRow dr = null; dt.Columns.Add("ApplicationID"); dt.Columns.Add("LastName"); dt.Columns.Add("FirstName"); dt.Columns.Add("LogInID"); dt.Columns.Add("RITSID"); dt.Columns.Add("GEID"); dt.Columns.Add("AFTitleCode"); dt.Columns.Add("AFTitleCodeDescription"); dt.Columns.Add("SOEID"); dt.Columns.Add("SecondLevelEntDes"); dt.Columns.Add("ExternalDrillDownCode"); dt.Columns.Add("SequenceField"); dt.Columns.Add("ISAContactID"); dt.Columns.Add("CMPProductID"); dt.Columns.Add("FunctionalIDIndicatorCode"); dt.Columns.Add("AttributeFlag"); dt.Columns.Add("EnvironmentFlag"); //Add rest of the columns foreach (User obj in oUsers) { List orls =oUserRoles.FindAll(delegate(UserRole r) { return r.UserID == obj.ID; }); foreach (UserRole ur in orls) { dr = dt.NewRow(); dr["ApplicationID"] = sApplicationID; dr["LastName"] = ""; dr["FirstName"] = obj.Name; dr["LogInID"] = obj.LoginID; dr["RITSID"] = ""; Employee oEmployee = oEmployees.Find(delegate(Employee emp) { return emp.EmployeeNo.ToString() == obj.LoginID; }); dr["GEID"] =oEmployee==null?"": oEmployee.EmployeeNo; Role oRole = oRoles.Find(delegate(Role r) { return r.ID.Integer == ur.RoleID; }); dr["AFTitleCode"] = oRole.Code; dr["AFTitleCodeDescription"] = oRole.Name; dr["SOEID"] = oEmployee == null ? "" : oEmployee.GlobalID; dr["SecondLevelEntDes"] = oRole.Description; dr["ExternalDrillDownCode"] = ""; dr["SequenceField"] = ""; dr["ISAContactID"] = ""; dr["CMPProductID"] = ""; dr["FunctionalIDIndicatorCode"] = ""; dr["AttributeFlag"] = ""; dr["EnvironmentFlag"] = ""; dt.Rows.Add(dr); } } return dt; } public bool ExportEERSFile() { bool IsExported = true; StringBuilder sb = new StringBuilder(); DataTable dt = this.Get(); #region Add headers sb.Append("ApplicationID"); sb.Append("\t"); sb.Append("LastName"); sb.Append("\t"); sb.Append("FirstName"); sb.Append("\t"); sb.Append("LogInID"); sb.Append("\t"); sb.Append("RITSID"); sb.Append("\t"); sb.Append("GEID"); sb.Append("\t"); sb.Append("AFTitleCode"); sb.Append("\t"); sb.Append("AFTitleCodeDescription"); sb.Append("\t"); sb.Append("SOEID"); sb.Append("\t"); sb.Append("SecondLevelEntDes"); sb.Append("\t"); sb.Append("ExternalDrillDownCode"); sb.Append("\t"); sb.Append("SequenceField"); sb.Append("\t"); sb.Append("ISAContactID"); sb.Append("\t"); sb.Append("CMPProductID"); sb.Append("\t"); sb.Append("FunctionalIDIndicatorCode"); sb.Append("\t"); sb.Append("AttributeFlag"); sb.Append("\t"); sb.Append("EnvironmentFlag"); #endregion sb.Append(Environment.NewLine); #region Fill Values foreach (DataRow dr in dt.Rows) { sb.Append(dr["ApplicationID"]); sb.Append("\t"); sb.Append(dr["LastName"]); sb.Append("\t"); sb.Append(dr["FirstName"]); sb.Append("\t"); sb.Append(dr["LogInID"]); sb.Append("\t"); sb.Append(dr["RITSID"]); sb.Append("\t"); sb.Append(dr["GEID"]); sb.Append("\t"); sb.Append(dr["AFTitleCode"]); sb.Append("\t"); sb.Append(dr["AFTitleCodeDescription"]); sb.Append("\t"); sb.Append(dr["SOEID"]); sb.Append("\t"); sb.Append(dr["SecondLevelEntDes"]); sb.Append("\t"); sb.Append(dr["ExternalDrillDownCode"]); sb.Append("\t"); sb.Append(dr["SequenceField"]); sb.Append("\t"); sb.Append(dr["ISAContactID"]); sb.Append("\t"); sb.Append(dr["CMPProductID"]); sb.Append("\t"); sb.Append(dr["FunctionalIDIndicatorCode"]); sb.Append("\t"); sb.Append(dr["AttributeFlag"]); sb.Append("\t"); sb.Append(dr["EnvironmentFlag"]); sb.Append(Environment.NewLine); } #endregion try { PhotoPath oItem = new PhotoPath(); ObjectsTemplate oItems = new ObjectsTemplate(); oItems = PhotoPath.Get(); if (oItems.Count > 0) { oItem = oItems[0]; if (oItem.ERRSFilePath == "") IsExported = false; else { string sFileName = oItem.ERRSFilePath + "\\ERRS" + sApplicationID + ".txt"; if (File.Exists(sFileName)) { File.Delete(sFileName); } File.WriteAllText(sFileName, sb.ToString()); } } else IsExported = false; } catch (Exception exp) { throw new Exception(exp.Message); } return IsExported; } #endregion } #endregion }