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); }
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); }