private Task <CalcCropsViewModel> GetCropAsync(string fldName) { CalcCropsViewModel mvm = new CalcCropsViewModel(); mvm.cropList = new List <DisplayCrop>(); List <FieldCrop> fldCrops = _ud.GetFieldCrops(fldName); foreach (var m in fldCrops) { Crop cp = new Crop(); Yield yld = new Yield(); if (!string.IsNullOrEmpty(m.cropOther)) { cp.cropname = m.cropOther + "*"; yld = _sd.GetYield(1); } else { cp = _sd.GetCrop(Convert.ToInt32(m.cropId)); yld = _sd.GetYield(cp.yieldcd); } if (m.coverCropHarvested.HasValue) { cp.cropname = m.coverCropHarvested.Value ? cp.cropname + "(harvested)" : cp.cropname; } DisplayCrop dm = new DisplayCrop() { fldNm = fldName, cropId = Convert.ToInt32(m.id), cropName = cp.cropname, yield = m.yield.ToString() + " tons/ac (" + yld.yielddesc + ")", reqN = (m.reqN * -1).ToString(), reqP = (m.reqP2o5 * -1).ToString(), reqK = (m.reqK2o * -1).ToString(), remN = (m.remN * -1).ToString(), remP = (m.remP2o5 * -1).ToString(), remK = (m.remK2o * -1).ToString() }; mvm.cropList.Add(dm); } return(Task.FromResult(mvm)); }