Example #1
0
        public static List <Permit> LoadByNumber(EntryControlDatabase database, int shortNumber)
        {
            List <Permit> permitList = new List <Permit>();

            string          query      = EntryControl.Resources.Doc.Permit.LoadByNum;
            QueryParameters parameters = new QueryParameters("period", DBNull.Value);

            parameters.Add("docNumber", shortNumber);

            using (DbDataReader reader = database.ExecuteReader(query, parameters))
            {
                while (reader.Read())
                {
                    permitList.Add(new Permit(reader));
                }

                reader.Close();
            }

            return(permitList);
        }
        /// <summary>
        ///     возвращает список документов, соответствующий заданному фильтру
        /// </summary>
        /// <param name="database">объект БД</param>
        /// <param name="unit">подразделение предприятия</param>
        /// <param name="dateFrom">начало периода</param>
        /// <param name="dateTo">окончания периода</param>
        /// <returns>список объектов документов</returns>
        public static List <MaterialPermit> LoadList(EntryControlDatabase database, Unit unit, DateTime dateFrom, DateTime dateTo)
        {
            List <MaterialPermit> documentList = new List <MaterialPermit>();

            string          query      = EntryControl.Resources.Doc.MaterialPermit.LoadList;
            QueryParameters parameters = new QueryParameters("unitId", unit.Id);

            parameters.Add("dateFrom", dateFrom);
            parameters.Add("dateTo", dateTo);
            parameters.Add("userId", database.ConnectedUser.Id);

            using (DbDataReader reader = database.ExecuteReader(query, parameters))
            {
                while (reader.Read())
                {
                    documentList.Add(new MaterialPermit(reader));
                }
                reader.Close();
            }
            return(documentList);
        }
Example #3
0
        public static Permit LoadByNumber(EntryControlDatabase database, string fullNumber)
        {
            int period    = DateTime.Today.Year;
            int docNumber = 0;

            if (!int.TryParse(fullNumber.Substring(0, 4), out period))
            {
                throw new FormatException(EntryControl.Resources.Message.Error.WrongPermitNumber);
            }

            if (!int.TryParse(fullNumber.Substring(4, 8), out docNumber))
            {
                throw new FormatException(EntryControl.Resources.Message.Error.WrongPermitNumber);
            }

            Permit permit = null;

            string          query      = EntryControl.Resources.Doc.Permit.LoadByNum;
            QueryParameters parameters = new QueryParameters("period", period);

            parameters.Add("docNumber", docNumber);

            using (DbDataReader reader = database.ExecuteReader(query, parameters))
            {
                if (reader.Read())
                {
                    permit = new Permit(reader);
                }

                reader.Close();
            }

            if (permit == null)
            {
                throw new ArgumentException(EntryControl.Resources.Message.Error.PermitNumberNotFound);
            }

            return(permit);
        }