예제 #1
0
        /// <summary> Получить одиночный объект по его идентификатору </summary>
        public T GetSingleObjById <T>(Guid id) where T : BaseEntity
        {
            String fullQueryString = $"{OdataUri}{typeof(T).Name}({id})";
            String requestResult   = GetRequest(fullQueryString);
            CreatioOdataRequestResult <T> result = JsonConvert.DeserializeObject <CreatioOdataRequestResult <T> >(requestResult);
            T res = JsonConvert.DeserializeObject <T>(requestResult);

            return(res);
        }
예제 #2
0
        /// <summary> Получить объекты указанного типа </summary>
        public List <T> GetObjs <T>(String query = default(String)) where T : BaseEntity
        {
            String fullQueryString = $"{OdataUri}{typeof(T).Name}/?${query}";
            String requestResult   = GetRequest(fullQueryString);
            CreatioOdataRequestResult <T> result = JsonConvert.DeserializeObject <CreatioOdataRequestResult <T> >(requestResult);

            //if (result.Values.Count == 0)
            //{
            //    T singleValue = JsonConvert.DeserializeObject<T>(requestResult);
            //    return new List<T> { singleValue };
            //}

            return(result.Values);
        }
예제 #3
0
        /// <summary> Получить объекты указанного типа у которых значение указанного свойства входить в список значений </summary>
        public List <T> GetObjsWherePropIn <T, P>(String propName, IEnumerable <P> values) where T : BaseEntity
        {
            String filter = String.Join(" or \n", values.Select(p => $"{propName} eq '{p}'"));

            String fullQueryString = $"{OdataUri}{typeof(T).Name}/?$filter={filter}";
            String requestResult   = GetRequest(fullQueryString);
            CreatioOdataRequestResult <T> result = JsonConvert.DeserializeObject <CreatioOdataRequestResult <T> >(requestResult);

            //if (result.Values.Count == 0)
            //{
            //    T singleValue = JsonConvert.DeserializeObject<T>(requestResult);
            //    result.Values = new List<T> { singleValue };
            //}

            return(result.Values);
        }
예제 #4
0
        /// <summary> Получить проекцию объектов указанного типа </summary>
        public List <ProjectionType> GetObjsProjection <T, ProjectionType>(String query = default(String)) where T : BaseEntity
        {
            CreatioOdataRequestResult <ProjectionType> oDataRequestResult = GetRequestResult <CreatioOdataRequestResult <ProjectionType> >($"{OdataUri}{typeof(T).Name}{query}");

            return(oDataRequestResult.Values);
        }