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