public List <LivestockDTO> GetLivestockInCorrals(string client, string auctionDate) { Recordset recordset = null; var parameters = new Dictionary <string, string>(); var livestockInCorrals = new List <LivestockDTO>(); DistributionDAO distributionDAO = new DistributionDAO(); try { var query = this.GetSQL("GetLivestock").Inject(parameters); var location = distributionDAO.GetUserDefaultWarehouse(); parameters.Add("Location", location); query = ReplaceQueryConditions("AuctionDate", auctionDate, "AND T1.ExpDate = '{AuctionDate}'", parameters, query); query = ReplaceQueryConditions("CardCode", client, "AND T5.CardCode = '{CardCode}'", parameters, query); recordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); recordset.DoQuery(query.Inject(parameters)); if (recordset.RecordCount > 0) { for (int i = 0; i < recordset.RecordCount; i++) { var livestock = new LivestockDTO(); Parallel.ForEach(recordset.Fields.OfType <Field>(), field => { livestock.GetType().GetProperty(field.Name).SetValue(livestock, field.Value); }); livestockInCorrals.Add(livestock); recordset.MoveNext(); } } } catch (Exception ex) { HandleException(ex, "GetLivestockInCorrals"); } return(livestockInCorrals.OrderBy(l => l.Name).ToList()); }