public string[] GetZipCodeList(string prefixText, int count, string contextKey)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;
            _contextKey = contextKey;

            _presenter.ListZipCodesByNameAndCity();

            if (_zipCodeList.Count > 0)
            {
                string[] returnList = new string[_zipCodeList.Count];
                for (int i = 0; i < returnList.Length; i++)
                    returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_zipCodeList[i].ZipCodeNameEdited.Trim(), _zipCodeList[i].ID.ToString());
                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];
                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");
                return emptyReturnList;
            }
        }
        public string[] GetProjectManagerList(string prefixText, int count)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;

            _presenter.ListProjectManager();

            if (ProjectManagerList.Count > 0)
            {
                string[] returnList = new string[ProjectManagerList.Count];
                for (int i = 0; i < returnList.Length; i++)
                {
                    if (null == ProjectManagerList[i].CS_Division)
                        returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(ProjectManagerList[i].DivisionAndFullName, ProjectManagerList[i].ID.ToString());
                    else
                        returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(ProjectManagerList[i].DivisionAndFullName, ProjectManagerList[i].ID.ToString());
                }
                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];
                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");
                return emptyReturnList;
            }
        }
        public string[] GetStateByDivisionList(string prefixText, int count)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;

            _presenter.ListStatesByAcronymAndDivision();

            if (_stateList.Count > 0)
            {
                string[] returnList = new string[_stateList.Count];
                for (int i = 0; i < returnList.Length; i++)
                    returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(
                        _stateList[i].CountryAcronymName, _stateList[i].ID.ToString());
                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];
                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");
                return emptyReturnList;
            }
        }
        public string[] GetJobStatusListForJobRecord(string prefixText, int count, string contextKey)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;
            _contextKey = contextKey;

            _presenter.ListJobStatusByDescription();

            if (_jobStatusList.Count > 0 && _jobStatusList.Any(w => w.ID == (int)Globals.JobRecord.JobStatus.ClosedHold))
            {
                _jobStatusList.Remove(_jobStatusList.FirstOrDefault());
            }

            if (_jobStatusList.Count > 0)
            {
                string[] returnList = new string[_jobStatusList.Count];

                for (int i = 0; i < returnList.Length; i++)
                {
                    returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_jobStatusList[i].Description.Trim(), _jobStatusList[i].ID.ToString());
                }

                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];

                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");

                return emptyReturnList;
            }
        }
        public string[] GetLocalEquipmentTypeList(string prefixText, int count, string contextKey)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;
            _contextKey = contextKey;

            _presenter.ListAllLocalEquipmentTypeByName();

            if (_localEquipmentTypeList.Count > 0)
            {
                string[] returnList = new string[_localEquipmentTypeList.Count];

                for (int i = 0; i < returnList.Length; i++)
                {
                    returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_localEquipmentTypeList[i].Name, _localEquipmentTypeList[i].ID.ToString());
                }

                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];

                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");

                return emptyReturnList;
            }
        }
        public string[] GetJobStatusList(string prefixText, int count, string contextKey)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;
            _contextKey = contextKey;

            _presenter.ListJobStatusByDescription();

            if (_jobStatusList.Count > 0)
            {
                string[] returnList = new string[_jobStatusList.Count];

                for (int i = 0; i < returnList.Length; i++)
                {
                    returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_jobStatusList[i].Description.Trim(), _jobStatusList[i].ID.ToString());
                }

                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];

                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");

                return emptyReturnList;
            }
        }
        public string[] GetJobNumberListWithGeneral(string prefixText, int count, string contextKey)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;
            _contextKey = contextKey;

            _presenter.ListJobNumberByDescriptionWithGeneral();

            if (_jobList.Count > 0)
            {
                string[] returnList = new string[_jobList.Count];

                for (int i = 0; i < returnList.Length; i++)
                {
                    //Returns Job Number in case of a Active job, Internal Tracking otherwise (ID = 1 for a Active Job)
                    returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_jobList[i].PrefixedNumber, _jobList[i].ID.ToString());
                }

                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];

                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");

                return emptyReturnList;
            }
        }
        public string[] GetEmployeeListWithDivisionName(string prefixText, int count, string contextKey)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;
            _contextKey = contextKey;

            _presenter.ListEmployeeByName();

            if (_employeeList.Count > 0)
            {
                string[] returnList = new string[_employeeList.Count];
                for (int i = 0; i < returnList.Length; i++)
                {
                    if (null == EmployeeList[i].CS_Division)
                        returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_employeeList[i].DivisionAndFullName, _employeeList[i].ID + " | 0");
                    else
                        returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_employeeList[i].DivisionAndFullName, _employeeList[i].ID + " | " + EmployeeList[i].CS_Division.Name);
                }
                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];
                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");
                return emptyReturnList;
            }
        }
        public string[] GetDynamicsContactList(string prefixText, int count, string contextKey)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;
            _contextKey = contextKey;

            _presenter.ListDynamicsContactByName();

            if (_dynamicsContactList.Count > 0)
            {
                string[] returnList = new string[_dynamicsContactList.Count];
                for (int i = 0; i < returnList.Length; i++)
                    returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_dynamicsContactList[i].FullContactInformation.Trim(), _dynamicsContactList[i].ID.ToString());
                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];
                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");
                return emptyReturnList;
            }
        }
        public string[] GetCustomerServiceContactList(string prefixText, int count, string contextKey)
        {
            if (null == _presenter)
                _presenter = new AutoCompleteWebServicePresenter(this);

            _prefixText = prefixText;
            _count = count;
            _contextKey = contextKey;
            if (string.IsNullOrEmpty(contextKey))
                _contextKey = "0";

            _presenter.ListCustomerServiceContactByName();

            if (_customerServiceContactList.Count > 0)
            {
                string[] returnList = new string[_customerServiceContactList.Count];
                for (int i = 0; i < returnList.Length; i++)
                {
                    //if (_contextKey.Equals("0"))
                    //{
                        if (_customerServiceContactList[i].CS_Customer_Contact.Count > 0)
                        {
                            returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(
                                string.Format("{0} ({1})",
                                    _customerServiceContactList[i].FullContactInformation.Trim(),
                                    _customerServiceContactList[i].CS_Customer_Contact.First().CS_Customer.Name.Trim()),
                                _customerServiceContactList[i].ID.ToString());
                        }
                        else
                            returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_customerServiceContactList[i].FullContactInformation.Trim(), _customerServiceContactList[i].ID.ToString());
                    //}
                    //else
                    //    returnList[i] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(_customerServiceContactList[i].FullContactInformation.Trim(), _customerServiceContactList[i].ID.ToString());
                }
                return returnList;
            }
            else
            {
                string[] emptyReturnList = new string[1];
                emptyReturnList[0] = AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem("Not Found", "0");
                return emptyReturnList;
            }
        }