Ejemplo n.º 1
0
        private List <SubMenu> FilterRanchSubMenus(UserJourney journey, List <SubMenu> subMenus)
        {
            //Skip Nutrients Menu for Ranch if Nothing to Analyze
            if (journey == UserJourney.Ranch)
            {
                //if (subMenus.Any(sm => sm.UsesFeaturePages &&
                //        sm.Page.Equals(FeaturePages.RanchNutrientsIndex.GetDescription())) &&
                //    !_ud.GetFarmManures().Any() &&
                //    !_ud.GetAllManagedManures().Any(mm => !mm.AssignedWithNutrientAnalysis))
                //{
                //    //Hide Nutrient Analysis Sub Menu
                //    subMenus
                //        .Remove(subMenus
                //        .Single(sm => sm.Page.Equals(FeaturePages.RanchNutrientsIndex.GetDescription())));
                //}

                if (subMenus.Any(sm => sm.UsesFeaturePages &&
                                 sm.Page.Equals(FeaturePages.RanchFeedingIndex.GetDescription())) &&
                    !_ud.GetFields().Any(x => x.IsSeasonalFeedingArea))
                {
                    //Hide Nutrient Analysis Sub Menu
                    subMenus
                    .Remove(subMenus
                            .Single(sm => sm.UsesFeaturePages &&
                                    sm.Page.Equals(FeaturePages.RanchFeedingIndex.GetDescription())));
                }
            }

            return(subMenus);
        }
Ejemplo n.º 2
0
        private Task <ReportFieldsViewModel> ReportFieldsAsync()
        {
            ReportFieldsViewModel fvm = new ReportFieldsViewModel();

            FarmDetails fd = _ud.FarmDetails();


            List <Field> flds = _ud.GetFields();

            foreach (var m in flds)
            {
                DisplayReportField dc = new DisplayReportField();
                dc.fldName = m.fieldName;
                if (m.soilTest != null)
                {
                    dc.sampleDate = m.soilTest.sampleDate.ToString("MMM-yyyy");
                    dc.dispNO3H   = m.soilTest.valNO3H.ToString();
                    dc.dispP      = m.soilTest.ValP.ToString();
                    dc.dispK      = m.soilTest.valK.ToString();
                    dc.dispPH     = m.soilTest.valPH.ToString();
                }
                fvm.fields.Add(dc);
            }

            return(Task.FromResult(fvm));
        }
Ejemplo n.º 3
0
        private Task <SoilTestsViewModel> GetSoilTestAsync()
        {
            SoilTestsViewModel svm = new SoilTestsViewModel();

            Utility.SoilTestConversions stc = new SoilTestConversions(_ud, _sd);

            svm.missingTests = false;

            FarmDetails fd = _ud.FarmDetails();

            svm.testingMethod = fd.testingMethod;

            svm.tests = new List <DisplaySoilTest>();

            List <Field> flds = _ud.GetFields();

            foreach (var m in flds)
            {
                DisplaySoilTest dc = new DisplaySoilTest();
                dc.fldName = m.fieldName;
                if (m.soilTest != null)
                {
                    dc.sampleDate  = m.soilTest.sampleDate.ToString("MMM-yyyy");
                    dc.dispNO3H    = m.soilTest.valNO3H.ToString();
                    dc.dispP       = m.soilTest.ValP.ToString();
                    dc.dispK       = m.soilTest.valK.ToString();
                    dc.dispPH      = m.soilTest.valPH.ToString();
                    dc.dispPRating = _sd.SoilTestRating("phosphorous", stc.GetConvertedSTP(m.soilTest));
                    dc.dispKRating = _sd.SoilTestRating("potassium", stc.GetConvertedSTK(m.soilTest));
                }
                else
                {
                    svm.missingTests = true;
                }
                svm.tests.Add(dc);
            }

            return(Task.FromResult(svm));
        }