/// <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); }
private void InitializeScenario(ComputerRoleType role, string computerName, IntelEmployeeStatus requesterStatus = IntelEmployeeStatus.A, ApproverType approverType = ApproverType.ApproverIsSubmitter) { this.requestDto = new CreateComputerRequestDto(); this.requestDto.ComputerRole = role; this.requestDto.ComputerName = computerName; this.requestDto.ComputerDomain = computerDomain; switch (requesterStatus) { case IntelEmployeeStatus.A: case IntelEmployeeStatus.H: this.requestDto.RequesterWwid = StubCdisEmployees.BBActiveRequesterUserWwid; break; case IntelEmployeeStatus.T: this.requestDto.RequesterWwid = StubCdisEmployees.BBInactiveRequesterUserWwid; break; default: this.requestDto.RequesterWwid = StubCdisEmployees.NonStatus; break; } this.requestDto.ManagerWwid = StubCdisEmployees.BBActiveManagerUserWwid; this.requestDto.SubmitterWwid = StubCdisEmployees.BBActiveSubmitterUserWwid; switch (approverType) { case ApproverType.ApproverIsInactive: this.requestDto.ApproverWwid = StubCdisEmployees.BBInactiveApproverUserWwid; break; case ApproverType.ApproverIsSubmitter: this.requestDto.ApproverWwid = this.requestDto.SubmitterWwid; break; case ApproverType.AuthoritySignature: this.requestDto.ApproverWwid = StubCdisEmployees.BBActiveManagerWithSig; break; case ApproverType.IsInManagementChain: this.requestDto.ApproverWwid = StubCdisEmployees.BBActiveSecondManager; break; } this.request = (CreateComputerRequest)this.factory.GetRequestFromDto(this.requestDto); }
/// <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); }