Esempio n. 1
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }