public async Task <object> SearchSubject(IList selectedSpecificationList, SearchBySpecification searchBySpecification, DateTime date)
        {
            apiUrlAssigner = SearchApiUrlAssigner.GetInstance();

            var url         = apiUrlAssigner.GetActionUrl(selectedSpecificationList, (int)searchBySpecification);
            var queryParams = new Dictionary <string, string> {
                { "date", date.ToString("yyyy-MM-dd") }
            };
            var stringResponse = await customHttpClient.GetStringAsync(url, queryParams);

            return(DeserializeSearchSubjectObject(selectedSpecificationList, stringResponse));
        }
        public async Task <object> CheckSubject(object selectedSpecificationData, CheckBySpecification checkBySpecification, DateTime date)
        {
            apiUrlAssigner = CheckApiUrlAssigner.GetInstance();

            var url         = apiUrlAssigner.GetActionUrl(selectedSpecificationData, (int)checkBySpecification);
            var queryParams = new Dictionary <string, string> {
                { "date", date.ToString("yyyy-MM-dd") }
            };
            var stringResponse = await customHttpClient.GetStringAsync(url, queryParams);

            object deserializedResponse = JsonConvert.DeserializeObject <EntityCheckResponse>(stringResponse);

            deserializedResponse = ReturnExceptionIfResultIsNull(stringResponse, deserializedResponse);

            return(deserializedResponse);
        }