private void OnCLEMInitialiseActivity(object sender, EventArgs e) { this.InitialiseHerd(false, true); IEnumerable <Ruminant> testherd = this.CurrentHerd(true); // check if finance is available and warn if not supplying bank account. if (Resources.ResourceItemsExist <Finance>()) { if (BankAccountName == "") { Summary.WriteWarning(this, $"No bank account has been specified in [a={this.Name}] while Finances are available in the simulation. No financial transactions will be recorded for the purchase and sale of animals."); } } if (BankAccountName != "") { bankAccount = Resources.FindResourceType <Finance, FinanceType>(this, BankAccountName, OnMissingResourceActionTypes.Ignore, OnMissingResourceActionTypes.ReportErrorAndStop); } // get trucking settings trucking = this.FindAllChildren <TruckingSettings>().FirstOrDefault() as TruckingSettings; // check if pricing is present if (bankAccount != null) { var breeds = HerdResource.Herd.Where(a => a.BreedParams.Breed == this.PredictedHerdBreed).GroupBy(a => a.HerdName); foreach (var herd in breeds) { if (!herd.FirstOrDefault().BreedParams.PricingAvailable()) { Summary.WriteWarning(this, String.Format("No pricing schedule has been provided for herd [r={0}]. No financial transactions will be recorded for activity [a={1}]", herd.Key, this.Name)); } } } }
private void OnCLEMInitialiseActivity(object sender, EventArgs e) { this.InitialiseHerd(false, true); bankAccount = Resources.GetResourceItem(this, typeof(Finance), BankAccountName, OnMissingResourceActionTypes.Ignore, OnMissingResourceActionTypes.ReportErrorAndStop) as FinanceType; // get labour specifications labour = Apsim.Children(this, typeof(LabourFilterGroupSpecified)).Cast <LabourFilterGroupSpecified>().ToList(); // this.Children.Where(a => a.GetType() == typeof(LabourFilterGroupSpecified)).Cast<LabourFilterGroupSpecified>().ToList(); if (labour == null) { labour = new List <LabourFilterGroupSpecified>(); } // get trucking settings trucking = Apsim.Children(this, typeof(TruckingSettings)).FirstOrDefault() as TruckingSettings; // check if pricing is present if (bankAccount != null) { RuminantHerd ruminantHerd = Resources.RuminantHerd(); var breeds = ruminantHerd.Herd.Where(a => a.BreedParams.Breed == this.PredictedHerdBreed).GroupBy(a => a.HerdName); foreach (var herd in breeds) { if (!herd.FirstOrDefault().BreedParams.PricingAvailable()) { Summary.WriteWarning(this, String.Format("No pricing schedule has been provided for herd ({0}). No transactions will be recorded for activity ({1}).", herd.Key, this.Name)); } } } }