/// <summary>
 /// Add a new matter
 /// </summary>
 /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
 /// <param name="matter">Matter details</param>
 /// <returns></returns>
 public MatterReturnValue AddMatter(HostSecurityToken oHostSecurityToken, Matter matter)
 {
     MatterReturnValue returnValue = null;
     if (Functions.ValidateIWSToken(oHostSecurityToken))
     {
         oMatterService = new MatterService();
         returnValue = oMatterService.AddMatter(Functions.GetLogonIdFromToken(oHostSecurityToken), matter);
     }
     else
     {
         returnValue = new MatterReturnValue();
         returnValue.Success = false;
         returnValue.Message = "Invalid Token";
     }
     return returnValue;
 }
 public CashCollectionSearchReturnValue CashCollectionSearch(HostSecurityToken oHostSecurityToken, IRIS.Law.WebServiceInterfaces.CollectionRequest collectionRequest, CashCollectionSearchCriteria criteria)
 {
     CashCollectionSearchReturnValue returnValue = null;
     if (Functions.ValidateIWSToken(oHostSecurityToken))
     {
         oMatterService = new MatterService();
         returnValue = oMatterService.CashCollectionSearch(Functions.GetLogonIdFromToken(oHostSecurityToken), collectionRequest, criteria);
     }
     else
     {
         returnValue = new CashCollectionSearchReturnValue();
         returnValue.Success = false;
         returnValue.Message = "Invalid Token";
     }
     return returnValue;
 }
        /// <summary>
        /// Get one matter
        /// </summary>
        /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
        /// <param name="projectId">Matter project id</param>
        /// <returns></returns>
        public MatterReturnValue GetMatter(HostSecurityToken oHostSecurityToken, Guid projectId)
        {
            MatterReturnValue returnValue = null;

            if (Functions.ValidateIWSToken(oHostSecurityToken))
            {
                oMatterService = new MatterService();
                returnValue    = oMatterService.GetMatter(Functions.GetLogonIdFromToken(oHostSecurityToken), projectId);
            }
            else
            {
                returnValue         = new MatterReturnValue();
                returnValue.Success = false;
                returnValue.Message = "Invalid Token";
            }
            return(returnValue);
        }
        /// <summary>
        /// Update an existing matter
        /// </summary>
        /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
        /// <param name="matter">Matter details</param>
        /// <returns></returns>
        public ReturnValue UpdateMatter(HostSecurityToken oHostSecurityToken, Matter matter)
        {
            ReturnValue returnValue = null;

            if (Functions.ValidateIWSToken(oHostSecurityToken))
            {
                oMatterService = new MatterService();
                returnValue    = oMatterService.UpdateMatter(Functions.GetLogonIdFromToken(oHostSecurityToken), matter);
            }
            else
            {
                returnValue         = new MatterReturnValue();
                returnValue.Success = false;
                returnValue.Message = "Invalid Token";
            }
            return(returnValue);
        }
        /// <summary>
        /// Get details about multiple matters.
        /// NOTE: the MatterSearchItem's returned only contain the ID, Reference and Description.  The other search fields
        /// are not returned but these could be added later.
        /// </summary>
        /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
        /// <param name="ProjectIds">Array of project ids</param>
        /// <returns></returns>
        public MatterSearchReturnValue GetMultipleMatterDetails(HostSecurityToken oHostSecurityToken, Guid[] ProjectIds)
        {
            MatterSearchReturnValue returnValue = new MatterSearchReturnValue();

            if (Functions.ValidateIWSToken(oHostSecurityToken))
            {
                oMatterService = new MatterService();
                returnValue    = oMatterService.GetMultipleMatterDetails(Functions.GetLogonIdFromToken(oHostSecurityToken), ProjectIds);
            }
            else
            {
                returnValue         = new MatterSearchReturnValue();
                returnValue.Success = false;
                returnValue.Message = "Invalid Token";
            }
            return(returnValue);
        }
        /// <summary>
        /// Validates the UFN number against the specified earner ID
        /// </summary>
        /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
        /// <param name="collectionRequest">Collection request</param>
        /// <param name="criteria">Criteria for </param>
        /// <returns></returns>
        public UFNReturnValue UFNValidation(HostSecurityToken oHostSecurityToken, Guid earnerId, DateTime UFNDate, string UFNNumber)
        {
            UFNReturnValue returnValue = null;

            if (Functions.ValidateIWSToken(oHostSecurityToken))
            {
                oMatterService = new MatterService();
                returnValue    = oMatterService.UFNValidation(Functions.GetLogonIdFromToken(oHostSecurityToken), earnerId, UFNDate, UFNNumber);
            }
            else
            {
                returnValue         = new UFNReturnValue();
                returnValue.Success = false;
                returnValue.Message = "Invalid Token";
            }
            return(returnValue);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
        /// <param name="criteria"></param>
        /// <returns></returns>
        public WorkTypeSearchReturnValue GetValuesOnWorkTypeSelected(HostSecurityToken oHostSecurityToken, WorkTypeSearchCriteria criteria)
        {
            WorkTypeSearchReturnValue returnValue = null;

            if (Functions.ValidateIWSToken(oHostSecurityToken))
            {
                oMatterService = new MatterService();
                returnValue    = oMatterService.GetValuesOnWorkTypeSelected(Functions.GetLogonIdFromToken(oHostSecurityToken), criteria);
            }
            else
            {
                returnValue         = new WorkTypeSearchReturnValue();
                returnValue.Success = false;
                returnValue.Message = "Invalid Token";
            }
            return(returnValue);
        }
        public CashCollectionSearchReturnValue CashCollectionSearch(HostSecurityToken oHostSecurityToken, IRIS.Law.WebServiceInterfaces.CollectionRequest collectionRequest, CashCollectionSearchCriteria criteria)
        {
            CashCollectionSearchReturnValue returnValue = null;

            if (Functions.ValidateIWSToken(oHostSecurityToken))
            {
                oMatterService = new MatterService();
                returnValue    = oMatterService.CashCollectionSearch(Functions.GetLogonIdFromToken(oHostSecurityToken), collectionRequest, criteria);
            }
            else
            {
                returnValue         = new CashCollectionSearchReturnValue();
                returnValue.Success = false;
                returnValue.Message = "Invalid Token";
            }
            return(returnValue);
        }
        /// <summary>
        /// Gets the associations for the matter.
        /// </summary>
        /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
        /// <param name="collectionRequest">The collection request.</param>
        /// <param name="criteria">The criteria.</param>
        /// <returns></returns>
        public MatterAssociationReturnValue MatterAssociationSearch(HostSecurityToken oHostSecurityToken, CollectionRequest collectionRequest,
                                                                    MatterAssociationSearchCriteria criteria)
        {
            MatterAssociationReturnValue returnValue = new MatterAssociationReturnValue();

            if (Functions.ValidateIWSToken(oHostSecurityToken))
            {
                oMatterService = new MatterService();
                returnValue    = oMatterService.MatterAssociationSearch(Functions.GetLogonIdFromToken(oHostSecurityToken), collectionRequest, criteria);
            }
            else
            {
                returnValue         = new MatterAssociationReturnValue();
                returnValue.Success = false;
                returnValue.Message = "Invalid Token";
            }
            return(returnValue);
        }
 /// <summary>
 /// Worktype search 
 /// </summary>
 /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
 /// <param name="collectionRequest"></param>
 /// <param name="criteria"></param>
 /// <returns></returns>
 public WorkTypeSearchReturnValue WorkTypeSearch(HostSecurityToken oHostSecurityToken,
                                          CollectionRequest collectionRequest,
                                          WorkTypeSearchCriteria criteria)
 {
     WorkTypeSearchReturnValue returnValue = null;
     if (Functions.ValidateIWSToken(oHostSecurityToken))
     {
         oMatterService = new MatterService();
         returnValue = oMatterService.WorkTypeSearch(Functions.GetLogonIdFromToken(oHostSecurityToken), collectionRequest, criteria);
     }
     else
     {
         returnValue = new WorkTypeSearchReturnValue();
         returnValue.Success = false;
         returnValue.Message = "Invalid Token";
     }
     return returnValue;
 }
 /// <summary>
 /// Validates the UFN number against the specified earner ID
 /// </summary>
 /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
 /// <param name="collectionRequest">Collection request</param>
 /// <param name="criteria">Criteria for </param>
 /// <returns></returns>
 public UFNReturnValue UFNValidation(HostSecurityToken oHostSecurityToken, Guid earnerId, DateTime UFNDate, string UFNNumber)
 {
     UFNReturnValue returnValue = null;
     if (Functions.ValidateIWSToken(oHostSecurityToken))
     {
         oMatterService = new MatterService();
         returnValue = oMatterService.UFNValidation(Functions.GetLogonIdFromToken(oHostSecurityToken), earnerId, UFNDate,UFNNumber);
     }
     else
     {
         returnValue = new UFNReturnValue();
         returnValue.Success = false;
         returnValue.Message = "Invalid Token";
     }
     return returnValue;
 }
 /// <summary>
 /// Get details about multiple matters.
 /// NOTE: the MatterSearchItem's returned only contain the ID, Reference and Description.  The other search fields
 /// are not returned but these could be added later.
 /// </summary>
 /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
 /// <param name="ProjectIds">Array of project ids</param>
 /// <returns></returns>
 public MatterSearchReturnValue GetMultipleMatterDetails(HostSecurityToken oHostSecurityToken, Guid[] ProjectIds)
 {
     MatterSearchReturnValue returnValue = new MatterSearchReturnValue();
     if (Functions.ValidateIWSToken(oHostSecurityToken))
     {
         oMatterService = new MatterService();
         returnValue = oMatterService.GetMultipleMatterDetails(Functions.GetLogonIdFromToken(oHostSecurityToken), ProjectIds);
     }
     else
     {
         returnValue = new MatterSearchReturnValue();
         returnValue.Success = false;
         returnValue.Message = "Invalid Token";
     }
     return returnValue;
 }
 /// <summary>
 /// Gets the matter type id for the project.
 /// </summary>
 /// <param name="oHostSecurityToken">HostSecurityToken obtained when security provider of IWS is called</param>
 /// <param name="projectId">The project id.</param>
 /// <returns></returns>
 public MatterTypeReturnValue GetMatterTypeId(HostSecurityToken oHostSecurityToken, Guid projectId)
 {
     MatterTypeReturnValue returnValue = new MatterTypeReturnValue();
     if (Functions.ValidateIWSToken(oHostSecurityToken))
     {
         oMatterService = new MatterService();
         returnValue = oMatterService.GetMatterTypeId(Functions.GetLogonIdFromToken(oHostSecurityToken), projectId);
     }
     else
     {
         returnValue = new MatterTypeReturnValue();
         returnValue.Success = false;
         returnValue.Message = "Invalid Token";
     }
     return returnValue;
 }