/// <summary> /// Gets the data of a worker. /// </summary> /// <param name="wwid">The WWID.</param> /// <returns>An <see cref="IntelWorker"/> object</returns> public IntelWorker GetWorkerData(string wwid) { IntelWorker worker = new IntelWorker(); worker.DepartmentNumber = "D01"; worker.Domain = "AMR"; int wwidNumber = 1; int.TryParse(wwid, out wwidNumber); if (wwidNumber > StubCdisEmployees.GBIndex) worker.BadgeType = "GB"; else worker.BadgeType = "BB"; if ((wwidNumber >= StubCdisEmployees.InactiveFirstStartIndex && wwidNumber <= StubCdisEmployees.InactiveFirstEndIndex) || (wwidNumber >= StubCdisEmployees.InactiveSecondStartIndex)) worker.CdisStatus = IntelEmployeeStatus.T; else if(wwidNumber == StubCdisEmployees.NonStatusIndex) worker.CdisStatus = IntelEmployeeStatus.None; else worker.CdisStatus = IntelEmployeeStatus.A; worker.CdisShortId = "idsid" + wwidNumber.ToString(); worker.Email = "email" + wwidNumber.ToString() + "@intel.com"; worker.FirstName = "Name " + wwidNumber.ToString(); worker.FullName = "Name " + wwidNumber.ToString() +" Last Name"; worker.Idsid = "idsid" + wwidNumber.ToString(); worker.LastName = "Last Name "; worker.ManagerWwid = "000000000"; worker.MiddleInitial = "A"; worker.PhoneNumber = "000000000" + wwidNumber.ToString(); worker.Site = "SOTE"; worker.Wwid = wwid; return worker; }
/// <summary> /// Gets the data of a worker. /// </summary> /// <param name="wwidOrIdsid">The WWID.</param> /// <returns>An <see cref="IntelWorker"/> object</returns> public IntelWorker GetWorkerData(string wwidOrIdsid) { IntelWorker worker = new IntelWorker(); using (SqlConnection cdisConnection = new SqlConnection(this._CdisConnectionString)) using (SqlDataAdapter dataAdapter = new SqlDataAdapter()) using (DataTable employeeDataTable = new DataTable()) { employeeDataTable.Locale = System.Globalization.CultureInfo.CurrentCulture; StringBuilder query = new StringBuilder(); query.Append(@"SELECT CASE WHEN ccMailName IS NULL THEN LongID ELSE ccMailName END as FullName"); query.Append(@", FirstName, LastName, MiddleInitial, BadgeType, ShortID, Department"); query.Append(@", ccMailPO as Domain, DomainAddress as Email, upperIDSID as Idsid"); query.Append(@", PhoneNum, SiteCode, WWID, MgrWWID"); query.Append(@", StatCode"); query.Append(@" FROM x500.[dbo].[WorkerPublicExtended]"); query.Append(@" WHERE WWID = @employeeWwidOrIdsid"); query.Append(@" OR UPPER(upperIDSID) = UPPER(@employeeWwidOrIdsid)"); dataAdapter.SelectCommand = new SqlCommand(); dataAdapter.SelectCommand.CommandText = query.ToString(); dataAdapter.SelectCommand.Parameters.Add("@employeeWwidOrIdsid", System.Data.SqlDbType.VarChar).Value = wwidOrIdsid; cdisConnection.Open(); dataAdapter.SelectCommand.Connection = cdisConnection; dataAdapter.Fill(employeeDataTable); if (employeeDataTable.Rows.Count > 0) { foreach (DataRow row in employeeDataTable.Rows) { IntelEmployeeStatus status = IntelEmployeeStatus.None; Enum.TryParse <IntelEmployeeStatus>((string)row["StatCode"], true, out status); worker = new IntelWorker { BadgeType = (string)row["BadgeType"], CdisShortId = (string)row["ShortId"], DepartmentNumber = (string)row["Department"], Domain = (string)row["Domain"], Email = (string)row["Email"], FirstName = (string)row["FirstName"], FullName = (string)row["FullName"], Idsid = (string)row["Idsid"], LastName = (string)row["LastName"], ManagerWwid = (string)row["MgrWWID"], MiddleInitial = (string)row["MiddleInitial"], PhoneNumber = (string)row["PhoneNum"], Site = (string)row["SiteCode"], Wwid = (string)row["WWID"], CdisStatus = status }; } } } return(worker); }
public void TestInitialize() { worker = new IntelWorker { BadgeType = "BB", CdisShortId = "lcastell", DepartmentNumber = "36973", Domain = "amr", Email = "*****@*****.**", FirstName = "LUIS", FullName = "CASTELLANOS BARBA, LUIS D (DANI)", Idsid = "LCASTELL", LastName = "CASTELLANOS BARBA", ManagerWwid = "11412953", MiddleInitial = "D", PhoneNumber = "52 33 22824099x4099", Site = "GM", Wwid = "11380344" }; this.cdisHelper = CdisHelper.Instance; this.cdisHelper.CdisConnectionString = ConfigurationManager.ConnectionStrings["CDISConnection"].ConnectionString; this.comparer = new IntelWorkerComparer(); this._CdisConnectionString = ConfigurationManager.ConnectionStrings["CDISConnection"].ConnectionString; }
public void InfrastructureCdisGetWorkerDataTest() { IntelWorker workerFromCdis = this.cdisHelper.GetWorkerData(worker.Wwid); Assert.IsTrue(this.comparer.Equals(worker, workerFromCdis)); }
/// <summary> /// /// </summary> /// <param name="filter"></param> /// <returns></returns> public IEnumerable <IntelWorker> FindWorkers(string filter) { List <IntelWorker> workers = new List <IntelWorker>(); using (SqlConnection cdisConnection = new SqlConnection(this._CdisConnectionString)) using (SqlDataAdapter dataAdapter = new SqlDataAdapter()) using (DataTable employeeDataTable = new DataTable()) { employeeDataTable.Locale = System.Globalization.CultureInfo.CurrentCulture; StringBuilder query = new StringBuilder(); query.Append(@"SELECT TOP 30 CASE WHEN ccMailName IS NULL THEN LongID ELSE ccMailName END as FullName"); query.Append(@", FirstName, LastName, MiddleInitial, BadgeType, ShortID, Department"); query.Append(@", ccMailPO as Domain, DomainAddress as Email, upperIDSID as Idsid"); query.Append(@", PhoneNum, SiteCode, WWID, MgrWWID"); query.Append(@", StatCode"); query.Append(@" FROM x500.[dbo].[WorkerPublicExtended]"); query.Append(@" WHERE (WWID = @filter"); query.Append(@" OR UPPER(LongID) like UPPER(@filter + '%')"); query.Append(@" OR UPPER([ccMailName]) like UPPER(@filter + '%'))"); query.Append(@" AND StatCode = 'A'"); dataAdapter.SelectCommand = new SqlCommand(); dataAdapter.SelectCommand.CommandText = query.ToString(); dataAdapter.SelectCommand.Parameters.Add("@filter", SqlDbType.VarChar).Value = filter; cdisConnection.Open(); dataAdapter.SelectCommand.Connection = cdisConnection; dataAdapter.Fill(employeeDataTable); if (employeeDataTable.Rows.Count > 0) { foreach (DataRow row in employeeDataTable.Rows) { IntelWorker worker = new IntelWorker(); IntelEmployeeStatus status = IntelEmployeeStatus.None; Enum.TryParse <IntelEmployeeStatus>((string)row["StatCode"], true, out status); worker = new IntelWorker { BadgeType = (string)row["BadgeType"], CdisShortId = (string)row["ShortId"], DepartmentNumber = (string)row["Department"], //Domain = (string)row["Domain"], //Email = (string)row["Email"], FirstName = (string)row["FirstName"], FullName = (string)row["FullName"], Idsid = (string)row["Idsid"], LastName = (string)row["LastName"], ManagerWwid = (string)row["MgrWWID"], MiddleInitial = (string)row["MiddleInitial"], //PhoneNumber = (string)row["PhoneNum"], Site = (string)row["SiteCode"], Wwid = (string)row["WWID"], CdisStatus = status }; if (row["Domain"] != DBNull.Value) { worker.Domain = (string)row["Domain"]; } if (row["Email"] != DBNull.Value) { worker.Email = (string)row["Email"]; } if (row["PhoneNum"] != DBNull.Value) { worker.PhoneNumber = (string)row["PhoneNum"]; } workers.Add(worker); } } } return(workers); }