示例#1
0
        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());
        }