private Task <GetSoilTestNitrateOverrideViewModel> GetSoilTestNitrateOverrideAsync(string fldName) { GetSoilTestNitrateOverrideViewModel soilvm = new GetSoilTestNitrateOverrideViewModel(); // get the current associated value for nitrogen credit. Note, can be null SERVERAPI.Utility.ChemicalBalanceMessage calculator = new Utility.ChemicalBalanceMessage(_ud, _sd); FarmDetails farmdtl = _ud.FarmDetails(); Field fld = _ud.GetFieldDetails(fldName); soilvm.display = false; if ((fld.crops != null) && (fld.soilTest != null)) { if (fld.crops.Count() > 0) { soilvm.display = _sd.IsNitrateCreditApplicable(farmdtl.farmRegion, fld.soilTest.sampleDate, Convert.ToInt16(farmdtl.year)); if (soilvm.display) { soilvm.fldName = fldName; if (fld.SoilTestNitrateOverrideNitrogenCredit != null) { soilvm.nitrogen = Math.Round(Convert.ToDecimal(fld.SoilTestNitrateOverrideNitrogenCredit)); } else { // lookup default Nitrogen credit soilvm.nitrogen = Math.Round(fld.soilTest.valNO3H * _sd.GetSoilTestNitratePPMToPoundPerAcreConversionFactor()); } } else { fld.SoilTestNitrateOverrideNitrogenCredit = null; _ud.UpdateField(fld); } } else { fld.SoilTestNitrateOverrideNitrogenCredit = null; _ud.UpdateField(fld); } } else { fld.SoilTestNitrateOverrideNitrogenCredit = null; _ud.UpdateField(fld); } return(Task.FromResult(soilvm)); }
private Task <PrevYearManureApplViewModel> GetPrevYearManureAsync(string fldName) { PrevYearManureApplViewModel manureVM = new PrevYearManureApplViewModel(); // get the current associated value for nitrogen credit. Note, can be null SERVERAPI.Utility.ChemicalBalanceMessage calculator = new Utility.ChemicalBalanceMessage(_ud, _sd); Field fld = _ud.GetFieldDetails(fldName); manureVM.display = false; if (fld.crops != null) { if (fld.crops.Count() > 0) { manureVM.display = _sd.WasManureAddedInPreviousYear(fld.prevYearManureApplicationFrequency); if (manureVM.display) { manureVM.fldName = fldName; if (fld.prevYearManureApplicationNitrogenCredit != null) { manureVM.nitrogen = fld.prevYearManureApplicationNitrogenCredit; } else { // lookup default Nitrogen credit manureVM.nitrogen = calculator.calcPrevYearManureApplDefault(fldName); } } else { fld.prevYearManureApplicationNitrogenCredit = null; _ud.UpdateField(fld); } } else { fld.prevYearManureApplicationNitrogenCredit = null; _ud.UpdateField(fld); } } else { //reset the nitrogen credit to null fld.prevYearManureApplicationNitrogenCredit = null; _ud.UpdateField(fld); } return(Task.FromResult(manureVM)); }