public static WorkerCollection GetSiteContacts() { DataTable dtResults = null; FinalBuild.DataAccess objADO = Domain.GetADOInstance(Domain.eConnectionName.Metadata); string strStoredProcedure = "selHansenSiteContacts"; dtResults = objADO.GetDataTable(strStoredProcedure, "SiteContacts"); Worker objWorker; WorkerCollection colMembers = new WorkerCollection(); foreach (DataRow drMember in dtResults.Rows) { objWorker = new Worker(); objWorker.LoginName = drMember["NTLoginID"].ToString(); if (drMember["EmpSurname"] != System.DBNull.Value) { objWorker.Surname = drMember["EmpSurname"].ToString(); } if (drMember["EmpForenames"] != System.DBNull.Value) { objWorker.Forenames = drMember["EmpForenames"].ToString(); } if (drMember["EmpNo"] != System.DBNull.Value) { objWorker.EmpNo = drMember["EmpNo"].ToString(); } colMembers.Add(objWorker); } return colMembers; }
public static WorkerCollection PopulateTyped(DataSet collectionMembers, string sortPropertyName) { WorkerCollection colMembers = new WorkerCollection(); Worker objWorker = null; DataRow[] gangMembers = null; DataRow[] contractorDetails = null; DataRow drContractor = null; string filterExpression = string.Empty; collectionMembers.Tables[0].TableName = "Common"; if (collectionMembers.Tables.Count > 1) { collectionMembers.Tables[1].TableName = "GangMembers"; collectionMembers.Tables[2].TableName = "ContractorDetails"; } foreach (DataRow drMember in collectionMembers.Tables["Common"].Rows) { if (drMember["MobileIdentityType"].ToString().ToUpper() == "GANG") { objWorker = new Gang(); } else if (drMember["MobileIdentityType"].ToString().ToUpper() == "CONTRACTOR") { objWorker = new Contractor(); } else { objWorker = new Engineer(); // Assume Engineer } objWorker.UserID = drMember["UserID"].ToString(); objWorker.LoginName = drMember["ADLoginID"].ToString(); objWorker.EmpNo = drMember["EmpNo"].ToString(); if (drMember["EmpSurname"] != System.DBNull.Value) { objWorker.Surname = drMember["EmpSurname"].ToString(); } if (drMember["EmpForenames"] != System.DBNull.Value) { objWorker.Forenames = drMember["EmpForenames"].ToString(); } if (drMember["EmpPrefname"] != System.DBNull.Value) { objWorker.EmpPrefname = drMember["EmpPrefname"].ToString(); } else { objWorker.EmpPrefname = objWorker.Forenames; } if (drMember["EmpAddress"] != System.DBNull.Value) { objWorker.EmpAddress = drMember["EmpAddress"].ToString(); } else { objWorker.EmpAddress = string.Empty; } if (!drMember["EmailAddress"].Equals(DBNull.Value)) { objWorker.Email = drMember["EmailAddress"].ToString(); } if (!drMember["EmpMobileTelNo"].Equals(DBNull.Value)) { objWorker.MobileNo = drMember["EmpMobileTelNo"].ToString(); } objWorker.AreaDetails = new AreaDetails(); objWorker.AreaDetails.PrimaryArea = new Area(); objWorker.AreaDetails.PrimaryArea.Name = "UNKNOWN"; objWorker.AreaDetails.SubArea = new Area(); objWorker.AreaDetails.SubArea.Name = "UNKNOWN"; if (!drMember["PrimaryArea"].Equals(DBNull.Value)) { objWorker.AreaDetails.PrimaryArea.Name = drMember["PrimaryArea"].ToString(); } if (!drMember["SubArea"].Equals(DBNull.Value)) { objWorker.AreaDetails.SubArea.Name = drMember["SubArea"].ToString(); } if (drMember["IsClickEngineer"] != System.DBNull.Value) { objWorker.IsClickEngineer = (bool)drMember["IsClickEngineer"]; } if (collectionMembers.Tables.Count > 1) { if (objWorker is Gang) { try { int numericUserID = 0; if (int.TryParse(objWorker.UserID, out numericUserID)) { throw new Exception("Gang ID must start with a non-numeric character"); // NB: .Select(filterExpression) can't handle it otherwise } filterExpression = string.Format("GangID='{0}'", objWorker.UserID); gangMembers = collectionMembers.Tables["GangMembers"].Select(filterExpression); if (gangMembers != null && gangMembers.Length > 0) { string[] gangUserIDs = new string[gangMembers.Length]; for (int index = 0; index < gangMembers.Length; index++) { gangUserIDs[index] = gangMembers[index]["MemberID"].ToString(); } ((Gang)objWorker).Members = WorkerCollection.GetTypedWorkers(string.Empty, gangUserIDs); } } catch (Exception excE) { throw new Exception("Error attemping to load GangMembers : " + excE.Message, excE); } } if (objWorker is Contractor) { // 2 types of contractor so only add extra properties to sub contractor if (objWorker.AreaDetails.SubArea.Name.ToUpper() == "CONTRACTOR") { try { filterExpression = string.Format("UserID='{0}'", objWorker.UserID); contractorDetails = collectionMembers.Tables["ContractorDetails"].Select(filterExpression); if (contractorDetails != null && contractorDetails.Length > 0) { drContractor = contractorDetails[0]; objWorker.Email = drContractor[1].ToString();//Email ((Contractor)objWorker).Telephone = drContractor[2].ToString(); //Telephone ((Contractor)objWorker).Mobile = drContractor[3].ToString(); //Mobile ((Contractor)objWorker).Password = drContractor[4].ToString(); //Password } } catch (Exception excE) { throw new Exception("Error attemping to load Contractors : " + excE.Message, excE); } } } } colMembers.Add(objWorker); } if (!string.IsNullOrEmpty(sortPropertyName)) { string actualPropertyName = sortPropertyName; if (actualPropertyName.EndsWith(" DESC")) { actualPropertyName = actualPropertyName.Replace(" DESC", ""); colMembers.Sort(actualPropertyName, System.ComponentModel.ListSortDirection.Descending); } else { colMembers.Sort(actualPropertyName, System.ComponentModel.ListSortDirection.Ascending); } } return colMembers; }
public static WorkerCollection GetGangs(string sortPropertyName) { WorkerCollection colMembers = new WorkerCollection(); WorkerCollection allMembers = GetTypedWorkers(sortPropertyName); foreach (Worker worker in allMembers) { if (worker is Gang) { colMembers.Add(worker); } } return colMembers; }
public static WorkerCollection Populate(DataTable collectionMembers) { WorkerCollection colMembers = new WorkerCollection(); Worker objWorker = null; foreach (DataRow drMember in collectionMembers.Rows) { objWorker = new Worker(); objWorker.LoginName = drMember["ADLoginID"].ToString(); objWorker.UserID = objWorker.LoginName; objWorker.EmpNo = drMember["EmployeeNo"].ToString(); if (drMember["Surname"] != System.DBNull.Value) { objWorker.Surname = drMember["Surname"].ToString(); } if (drMember["Forenames"] != System.DBNull.Value) { objWorker.Forenames = drMember["Forenames"].ToString(); } if (drMember["PreferredName"] != System.DBNull.Value) { objWorker.EmpPrefname = drMember["PreferredName"].ToString(); } else { objWorker.EmpPrefname = objWorker.Forenames; } /* if (drMember["EmpAddress"] != System.DBNull.Value) { objWorker.EmpAddress = drMember["EmpAddress"].ToString(); } else { */ objWorker.EmpAddress = string.Empty; /* } */ if (!drMember["EmailAddress"].Equals(DBNull.Value)) { objWorker.Email = drMember["EmailAddress"].ToString(); } if (!drMember["MobileNumber"].Equals(DBNull.Value)) { objWorker.MobileNo = drMember["MobileNumber"].ToString(); } // Add to Collection colMembers.Add(objWorker); } return colMembers; }