/// <summary>
 /// 
 /// </summary>
 /// <param name="oHostSecurityToken"></param>
 /// <param name="collectionRequest"></param>
 /// <param name="criteria"></param>
 /// <returns></returns>
 public ChargeRateSearchReturnValue ChargeRateOnPublicFundingSearch(HostSecurityToken oHostSecurityToken,
                                                   CollectionRequest collectionRequest,
                                                   ChargeRateSearchCriteria criteria)
 {
     ChargeRateSearchReturnValue returnValue = null;
     if (Functions.ValidateIWSToken(oHostSecurityToken))
     {
         oTimeService = new TimeService();
         returnValue = oTimeService.ChargeRateOnPublicFundingSearch(Functions.GetLogonIdFromToken(oHostSecurityToken), collectionRequest, criteria);
     }
     else
     {
         returnValue = new ChargeRateSearchReturnValue();
         returnValue.Success = false;
         returnValue.Message = "Invalid Token";
     }
     return returnValue;
 }
        /// <summary>
        /// Gets the charge rates.
        /// </summary>
        /// <param name="isPublicFunded">if set to <c>true</c> [include public funded].</param>
        private void GetChargeRates(bool includePublicFunded)
        {
            TimeServiceClient timeService = null;
            try
            {
                CollectionRequest collectionRequest = new CollectionRequest();

                ChargeRateSearchCriteria criteria = new ChargeRateSearchCriteria();
                criteria.IsArchived = false;
                criteria.IsPublicFunded = includePublicFunded;

                timeService = new TimeServiceClient();
                ChargeRateSearchReturnValue returnValue = timeService.ChargeRateOnPublicFundingSearch(_logonSettings.LogonId,
                                            collectionRequest, criteria);

                if (returnValue.Success)
                {
                    if (returnValue.ChargeRates != null)
                    {
                        _ddlChargeRate.Items.Clear();
                        foreach (ChargeRateSearchItem chargeRate in returnValue.ChargeRates.Rows)
                        {
                            if (chargeRate.DescriptionId != new Guid("6e5431b2-cdf3-4360-8cbf-93654b83bd85"))
                            {
                                ListItem item = new ListItem();
                                item.Text = chargeRate.Description;
                                item.Value = chargeRate.DescriptionId.ToString() + "$" + chargeRate.CourtId.ToString();
                                _ddlChargeRate.Items.Add(item);
                            }
                        }
                        AddDefaultToDropDownList(_ddlChargeRate);
                    }
                }
                else
                {
                    throw new Exception(returnValue.Message);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (timeService != null)
                {
                    if (timeService.State != System.ServiceModel.CommunicationState.Faulted)
                        timeService.Close();
                }
            }
        }