Esempio n. 1
0
        /// <summary>
        /// Получить список льготных категорий личности по иду личности, имеющих указанную льготу
        /// </summary>
        /// <param name="leechnostId">Идентификатор личности</param>
        /// <param name="lgotaId">Идентификатор льготы</param>
        /// <returns>Список идов льготных категорий личности</returns>
        public static Guid[] GetLgotKatLeechnostiListForLeechnost(Guid leechnostId, Guid lgotaId)
        {
            List <Guid> lgotas = new List <Guid>();

            if (leechnostId == null || lgotaId == null)
            {
                return(new Guid[] { });
            }

            string sql =
                $@"select distinct LKL.primarykey
from LgKatLeechnosti LKL
inner join LgotKat LK on LK.primarykey=LKL.lgotKat
inner join LgotaDliaKat LDK on LDK.kategoriia=LK.primarykey
where LKL.leechnost='{leechnostId}'
and LDK.lgota='{lgotaId}'";

            IDbConnection dbConn     = null;
            IDataReader   dataReader = null;

            try
            {
                // Получаем коннекцию к базе данных и открываем соединение
                PostgresDataService DataSrv = (PostgresDataService)DataServiceProvider.DataService;
                dbConn = DataSrv.GetConnection();
                dbConn.Open();

                // Создаем команду и выполняем ее
                var comm = dbConn.CreateCommand();
                comm.CommandText = sql;
                dataReader       = comm.ExecuteReader();

                // Перегоняем результат запроса в массив
                while (dataReader.Read())
                {
                    lgotas.Add(Guid.Parse(dataReader.GetValue(0).ToString()));
                }
            }
            finally
            {
                if (dataReader != null)
                {
                    dataReader.Close();
                }
                if (dbConn != null)
                {
                    dbConn.Close();
                }
            }

            return(lgotas.ToArray());
        }
Esempio n. 2
0
        /// <summary>
        /// Получить список идов льгот для указанной льготной категории
        /// </summary>
        /// <param name="lgotKatId">Идентификатор льготной категории</param>
        /// <returns>Список идов льгот для льготной категории</returns>
        public static Guid[] GetLgotaListForLgotKat(Guid lgotKatId)
        {
            List <Guid> lgotas = new List <Guid>();

            if (lgotKatId == null)
            {
                return(new Guid[] { });
            }

            string sql =
                $@"SELECT DISTINCT LDK.lgota
FROM public.lgkatleechnosti LKL
INNER JOIN public.lgotKat LK ON LK.primarykey = LKL.lgotKat
INNER JOIN public.lgotaDliaKat LDK ON LK.primarykey = LDK.Kategoriia 
WHERE LK.primarykey='{lgotKatId}'
AND (LKL.dataOtmeny IS NULL OR LKL.dataOtmeny > GETDATE())";

            IDbConnection dbConn     = null;
            IDataReader   dataReader = null;

            try
            {
                // Получаем коннекцию к базе данных и открываем соединение
                PostgresDataService DataSrv = (PostgresDataService)DataServiceProvider.DataService;
                dbConn = DataSrv.GetConnection();
                dbConn.Open();

                // Создаем команду и выполняем ее
                var comm = dbConn.CreateCommand();
                comm.CommandText = sql;
                dataReader       = comm.ExecuteReader();

                // Перегоняем результат запроса в массив
                while (dataReader.Read())
                {
                    lgotas.Add(Guid.Parse(dataReader.GetValue(0).ToString()));
                }
            }
            finally
            {
                if (dataReader != null)
                {
                    dataReader.Close();
                }
                if (dbConn != null)
                {
                    dbConn.Close();
                }
            }

            return(lgotas.ToArray());
        }