/// <summary> /// Возвращает строку запроса на получение всех повреждений воздушного судна /// </summary> /// <param name="aircraftId">Id ВС, диретивы которого необходимо получить</param> /// <param name="filters">Фильтры для Maintenance Directives</param> /// <param name="loadChild">Загружать дочерние элементы</param> /// <param name="getDeleted">Загружать недействительные записи</param> /// <returns></returns> public static List <DbQuery> GetAircraftDamageItemSelectQuery(int aircraftId, ICommonFilter[] filters = null, bool loadChild = false, bool getDeleted = false) { var componentIn = ComponentQueries.GetSelectQueryPrimaryColumnOnly(aircraftId); var allFilters = new List <ICommonFilter> { new CommonFilter <string>(Directive.ParentBaseComponentProperty, FilterType.In, new[] { componentIn }) }; if (filters != null && filters.Any()) { allFilters.AddRange(filters); } var qrs = BaseQueries.GetSelectQueryWithWhereAll <DamageItem>(allFilters.ToArray(), loadChild, getDeleted); return(qrs); }
/// <summary> /// Возвращает строку запроса на получение всех облуживания воздушного судна /// </summary> /// <param name="aircraftId">Id ВС, диретивы которого необходимо получить</param> /// <param name="filters">Фильтры для Maintenance Directives</param> /// <param name="loadChild">Загружать дочерние элементы</param> /// <param name="getDeleted">Загружать недействительные записи</param> /// <returns></returns> public static List <DbQuery> GetAircraftDirectivesSelectQuery(int aircraftId, ICommonFilter[] filters = null, bool loadChild = false, bool getDeleted = false) { //string detailIn = // BaseQueries.GetSelectQueryColumnOnly<Detail>(BaseEntityObject.ItemIdProperty, new[] {DetailQueries.GetWhereStatement(aircraft)}); var componentIn = $@"(select ItemId from dbo.Components where dbo.Components.IsDeleted = 0 and {ComponentQueries.GetWhereStatement(aircraftId).Values[0]})"; var allFilters = new List <ICommonFilter> { new CommonFilter <string>(ComponentDirective.ComponentIdProperty, FilterType.In, new[] { componentIn }) }; if (filters != null && filters.Length > 0) { allFilters.AddRange(filters); } return(BaseQueries.GetSelectQueryWithWhereAll <ComponentDirective>(allFilters.ToArray(), loadChild, getDeleted)); }