Ejemplo n.º 1
0
        private List <System.Web.Mvc.SelectListItem> LoadFarms(long?farmId = null, User user = null)
        {
            FarmConfiguration fc = new FarmConfiguration();

            List <Farm> farms = fc.GetAllFarms();
            List <System.Web.Mvc.SelectListItem> result = new List <SelectListItem>();

            foreach (var item in farms)
            {
                bool isSelected = false;
                if (user != null && farmId.HasValue)
                {
                    isSelected = (user.RoleId == farmId);
                }

                SelectListItem sl = new SelectListItem()
                {
                    Value    = item.FarmId.ToString(),
                    Text     = item.Name,
                    Selected = isSelected
                };

                result.Add(sl);
            }

            return(result);
        }
        private List <System.Web.Mvc.SelectListItem> LoadFarms(long?farmId = null, Farm farm = null)
        {
            UserConfiguration uc;

            uc = new UserConfiguration();
            User lLoggedUser;

            lLoggedUser = uc.GetUserByName(ManageSession.GetUserName());
            FarmConfiguration fc = new FarmConfiguration();

            List <Farm> farms = fc.GetFarmListBy(lLoggedUser);
            List <System.Web.Mvc.SelectListItem> result = new List <SelectListItem>();

            foreach (var item in farms)
            {
                bool isSelected = false;
                if (farm != null && farmId.HasValue)
                {
                    isSelected = (farm.FarmId == farmId);
                }

                SelectListItem sl = new SelectListItem()
                {
                    Value    = item.FarmId.ToString(),
                    Text     = item.Name,
                    Selected = isSelected
                };

                result.Add(sl);
            }

            return(result);
        }
Ejemplo n.º 3
0
        private List <System.Web.Mvc.SelectListItem> GetFarmNotRelatedListBy(User pUser)
        {
            FarmConfiguration fc        = new FarmConfiguration();
            List <Farm>       farms     = fc.GetAllFarms();
            List <Farm>       farmsUser = fc.GetFarmListBy(pUser);

            List <System.Web.Mvc.SelectListItem> result = new List <SelectListItem>();
            bool addToList = true;

            foreach (var item in farms)
            {
                foreach (var itemUser in farmsUser)
                {
                    if (item.FarmId == itemUser.FarmId)
                    {
                        addToList = false;
                    }
                }
                if (addToList == true)
                {
                    SelectListItem sl = new SelectListItem()
                    {
                        Value = item.FarmId.ToString(),
                        Text  = item.Name,
                    };

                    result.Add(sl);
                }
                addToList = true;
            }


            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Return Grid Datail from dailyrecord days
        /// </summary>
        /// <returns></returns>
        public List <GridReportIrrigationUnit> GetGridDailyRecordIrrigationResumeTitles()
        {
            #region Local Variables
            List <GridReportIrrigationUnit> lGridDailyRecordIrrigationResumeList = new List <GridReportIrrigationUnit>();
            GridReportIrrigationUnit        lGridReportIrrigationUnit;
            bool lIsUserAdministrator;
            #endregion

            #region Configuration Variables
            UserConfiguration uc;
            #endregion

            try
            {
                #region userdata
                User           lLoggedUser;
                LoginViewModel lLoginViewModel;
                uc = new UserConfiguration();

                LoginViewModel localLgM = ManageSession.GetLoginViewModel();
                lLoginViewModel = ManageSession.GetLoginViewModel();
                lLoggedUser     = uc.GetUserByName(lLoginViewModel.UserName);

                lIsUserAdministrator = (lLoggedUser.RoleId == (int)Utils.UserRoles.Administrator);
                #endregion

                #region Configuration - Instance
                uc = new UserConfiguration();

                FarmConfiguration fc = new FarmConfiguration();
                #endregion

                lCurrentFarm = fc.GetFarmBy(ciwId);

                lGridReportIrrigationUnit = new GridReportIrrigationUnit("Día", "Fecha", "Riego", "Lluvia", "Temp. promedio", "ETC", "Balance hídrico", "Fenología", "KC", lCurrentFarm.IrrigationUnitReportShowEvapotranspiration, lCurrentFarm.IrrigationUnitReportShowTemperature, lCurrentFarm.IrrigationUnitReportShowAvailableWater, lIsUserAdministrator);

                lGridDailyRecordIrrigationResumeList.Add(lGridReportIrrigationUnit);
            }
            catch (Exception ex)
            {
                Utils.LogError(ex, "Exception in ReportIrrigationUnit.GetGridDailyRecordIrrigationResumeTitles");
                return(null);
            }

            return(lGridDailyRecordIrrigationResumeList);
        }
Ejemplo n.º 5
0
        private List <System.Web.Mvc.SelectListItem> GetFarmNotRelatedListBy(WeatherStation pWeatherStation)
        {
            FarmConfiguration fc    = new FarmConfiguration();
            List <Farm>       farms = fc.GetFarmNotRelatedListBy(pWeatherStation);

            List <System.Web.Mvc.SelectListItem> result = new List <SelectListItem>();

            foreach (var item in farms)
            {
                SelectListItem sl = new SelectListItem()
                {
                    Value = item.FarmId.ToString(),
                    Text  = item.Name,
                };
                result.Add(sl);
            }
            return(result);
        }
        public ActionResult Index()
        {
            IrrigationAdvisorContext.Instance();

            FarmConfiguration lFarmConfiguration;
            UserConfiguration lUserConfiguration;
            User        lLoggedUser;
            List <Farm> lFarmList;


            #region Configuration - Instance
            lUserConfiguration = new UserConfiguration();
            lFarmConfiguration = new FarmConfiguration();
            #endregion

            lLoggedUser = lUserConfiguration.GetUserByName(ManageSession.GetUserName());
            lFarmList   = lFarmConfiguration.GetFarmWithActiveCropIrrigationWeathersListBy(lLoggedUser);

            return(View("~/Views/Reports/CropIrrigationWeathersActive/CropIrrigationWeathersActive.cshtml", lFarmList));
        }
Ejemplo n.º 7
0
        public ActionResult DeleteConfirmed(long id)
        {
            Farm updatedFarm = db.Farms.Find(id);

            if (updatedFarm == null)
            {
                return(HttpNotFound());
            }

            FarmConfiguration fc = new FarmConfiguration();
            Farm farm            = db.Farms.Find(id);

            fc.Disable(farm);
            db.SaveChanges();
            //updatedFarm.IsActive = false;

            //db.Entry(updatedFarm).State = EntityState.Modified;
            //db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 8
0
        private List <System.Web.Mvc.SelectListItem> LoadFarm(long?farmId = null, IrrigationUnit irrigationUnit = null)
        {
            FarmConfiguration rc = new FarmConfiguration();
            List <Farm>       farmConfiguration         = rc.GetAllFarms();
            List <System.Web.Mvc.SelectListItem> result = new List <SelectListItem>();

            foreach (var item in farmConfiguration)
            {
                bool isSelected = false;

                SelectListItem sl = new SelectListItem()
                {
                    Value    = item.FarmId.ToString(),
                    Text     = item.Name,
                    Selected = isSelected
                };

                result.Add(sl);
            }

            return(result);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Return Grid Irrigation Unit for Home
        /// </summary>
        /// <returns></returns>
        public List <GridPivotHome> GetGridPivotHome()
        {
            #region Local Variables
            String lSomeData = "";
            List <GridPivotHome>       lGridIrrigationUnitList = new List <GridPivotHome>();
            GridPivotHome              lGridIrrigationUnit;
            List <GridPivotDetailHome> lGridIrrigationUnitDetailRow;
            GridPivotDetailHome        lGridIrrigationUnitRow;
            DateTime      lDateOfReference;
            FarmViewModel lFarmViewModel;
            User          lLoggedUser;
            List <Farm>   lFarmList;
            // Farm lCurrentFarm;
            List <IrrigationUnit>        lIrrigationUnitList;
            List <CropIrrigationWeather> lCropIrrigationWeatherList;
            String      lFirstPivotName = "";
            List <Rain> lRainList;
            List <Models.Water.Irrigation> lIrrigationList;
            List <DailyRecord>             lDailyRecordList;
            String        lSowingDate;
            String        lPhenologicalStageToday;
            Double        lHydricBalancePercentage;
            DailyRecord   lDailyRecord;
            String        lCropCoefficient;
            List <Double> lETcList;
            Double        lETcItem;
            HomeViewModel lHomeViewModel;
            #endregion

            #region Configuration Variables
            UserConfiguration                  lUserConfiguration;
            FarmConfiguration                  lFarmConfiguration;
            IrrigationUnitConfiguration        lIrrigationUnitConfiguration;
            CropIrrigationWeatherConfiguration lCropIrrigationWeatherConfiguration;
            IrrigationAdvisorContext           lIrrigationAdvisorContext;
            #endregion

            try
            {
                #region Configuration - Instance
                lUserConfiguration                  = new UserConfiguration();
                lFarmConfiguration                  = new FarmConfiguration();
                lIrrigationUnitConfiguration        = new IrrigationUnitConfiguration();
                lCropIrrigationWeatherConfiguration = new CropIrrigationWeatherConfiguration();
                lIrrigationAdvisorContext           = IrrigationAdvisorContext.Instance();
                #endregion

                lDateOfReference = ManageSession.GetNavigationDate();
                lSomeData        = lSomeData + "Date: " + lDateOfReference.Date + "-";

                //Obtain logged user
                lLoggedUser = lUserConfiguration.GetUserByName(ManageSession.GetUserName());
                lSomeData   = lSomeData + "User: "******"-";

                //Get list of Farms from User
                lFarmList = lFarmConfiguration.GetFarmWithActiveCropIrrigationWeathersListBy(lLoggedUser);

                //Create IrrigationQuantity Units List
                lIrrigationUnitList = new List <IrrigationUnit>();
                foreach (Farm lCurrentFarm in lFarmList)
                {
                    lSomeData      = lSomeData + "Farm: " + lCurrentFarm.Name + "-";
                    lFarmViewModel = new FarmViewModel(lCurrentFarm);

                    lIrrigationUnitList = lIrrigationUnitConfiguration.GetIrrigationUnitListBy(lCurrentFarm);

                    lCropIrrigationWeatherList = new List <CropIrrigationWeather>();
                    lDailyRecordList           = new List <DailyRecord>();

                    foreach (var lIrrigationUnit in lIrrigationUnitList)
                    {
                        lCropIrrigationWeatherList = lIrrigationUnitConfiguration.GetCropIrrigationWeatherListIncludeCropMainWeatherStationRainListIrrigationListBy(lIrrigationUnit, lDateOfReference);

                        lFirstPivotName = "";
                        lETcList        = new List <Double>();
                        foreach (CropIrrigationWeather lCropIrrigationWeather in lCropIrrigationWeatherList)
                        {
                            lSomeData = lSomeData + "CropIrrigationWeather: " + lCropIrrigationWeather.CropIrrigationWeatherName + "-";

                            lDailyRecordList = lCropIrrigationWeatherConfiguration.GetDailyRecordListIncludeDailyRecordListBy(lIrrigationUnit, lDateOfReference, lCropIrrigationWeather.Crop);

                            lRainList       = lCropIrrigationWeather.RainList;
                            lIrrigationList = lCropIrrigationWeather.IrrigationList;
                            lSowingDate     = lCropIrrigationWeather.SowingDate.Day.ToString()
                                              + "/" + lCropIrrigationWeather.SowingDate.Month.ToString();
                            //Grid of irrigation data
                            lGridIrrigationUnitDetailRow = new List <GridPivotDetailHome>();

                            lCropCoefficient         = String.Empty;
                            lPhenologicalStageToday  = String.Empty;
                            lHydricBalancePercentage = 0;

                            for (int i = -InitialTables.MIN_DAY_SHOW_IN_GRID_BEFORE_TODAY; i <= InitialTables.MAX_DAY_SHOW_IN_GRID_AFTER_TODAY; i++)
                            {
                                //Day i
                                lGridIrrigationUnitRow = AddGridIrrigationUnit(lDateOfReference, lDateOfReference.AddDays(i), lIrrigationList, lRainList, lDailyRecordList);
                                lGridIrrigationUnitDetailRow.Add(lGridIrrigationUnitRow);
                                if (i == 0) //TODAY
                                {
                                    //Obtain All data for today from DailyRecord
                                    lPhenologicalStageToday = lGridIrrigationUnitRow.Phenology;
                                    lDailyRecord            = lGridIrrigationUnitRow.DailyRecord;
                                    if (lDailyRecord != null)
                                    {
                                        lCropCoefficient         = lDailyRecord.CropCoefficient.ToString();
                                        lPhenologicalStageToday  = lDailyRecord.PhenologicalStage.Stage.ShortName;
                                        lHydricBalancePercentage = lDailyRecord.PercentageOfHydricBalance;
                                    }
                                }
                                if (lGridIrrigationUnitRow.DailyRecord == null)
                                {
                                    if (lCropIrrigationWeather.MainWeatherStationId > 0)
                                    {
                                        lETcItem = lIrrigationAdvisorContext.WeatherDatas
                                                   .Where(wd => wd.Date == lGridIrrigationUnitRow.DateOfData.Date &&
                                                          wd.WeatherStationId == lCropIrrigationWeather.MainWeatherStationId)
                                                   .Select(wd => wd.Evapotranspiration).FirstOrDefault();
                                    }
                                    else
                                    {
                                        lETcItem = lIrrigationAdvisorContext.WeatherDatas
                                                   .Where(wd => wd.Date == lGridIrrigationUnitRow.DateOfData.Date &&
                                                          wd.WeatherStationId == lCropIrrigationWeather.AlternativeWeatherStationId)
                                                   .Select(wd => wd.Evapotranspiration).FirstOrDefault();
                                    }
                                }
                                else
                                {
                                    lETcItem = Math.Round(lGridIrrigationUnitRow.DailyRecord.EvapotranspirationCrop.Output / lGridIrrigationUnitRow.DailyRecord.CropCoefficient, 2);
                                }
                                lETcList.Add(Math.Round(lETcItem, 2));
                            }
                            if (String.IsNullOrEmpty(lFirstPivotName))
                            {
                                lFirstPivotName = lCropIrrigationWeather.IrrigationUnit.ShortName;
                            }
                            else if (lFirstPivotName == lCropIrrigationWeather.IrrigationUnit.ShortName)
                            {
                                lFirstPivotName = "";
                            }

                            lHomeViewModel = ManageSession.GetHomeViewModel();

                            //Add all the days for the IrrigationUnit
                            lGridIrrigationUnit = new GridPivotHome(lCurrentFarm.Name + " | " + lFirstPivotName,
                                                                    lCropIrrigationWeather.Crop.ShortName,
                                                                    lSowingDate,
                                                                    lPhenologicalStageToday,
                                                                    lHydricBalancePercentage.ToString() + " %",
                                                                    lCropCoefficient,
                                                                    lHomeViewModel.IsUserAdministrator,
                                                                    lETcList,
                                                                    lGridIrrigationUnitDetailRow,
                                                                    lCropIrrigationWeather.CropIrrigationWeatherId);

                            lGridIrrigationUnitList.Add(lGridIrrigationUnit);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Utils.LogError(ex, "Exception in HomeController.GetGridPivotHome \n {0} ", lSomeData);
                throw ex;
            }

            return(lGridIrrigationUnitList);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Return Grid Irrigation Unit for Home Titles
        /// </summary>
        /// <returns></returns>
        public List <GridPivotHome> GetGridPivotHomeTitles()
        {
            #region Local Variables
            List <GridPivotHome>       lGridIrrigationUnitList = new List <GridPivotHome>();
            GridPivotHome              lGridIrrigationUnit;
            List <GridPivotDetailHome> lGridIrrigationUnitDetailRow;
            GridPivotDetailHome        lGridIrrigationUnitRow;
            DateTime    lDateOfReference;
            User        lLoggedUser;
            List <Farm> lFarmList;

            #endregion

            #region Configuration Variables
            UserConfiguration uc;
            FarmConfiguration fc;
            #endregion

            try
            {
                #region Configuration - Instance
                uc = new UserConfiguration();
                fc = new FarmConfiguration();
                #endregion

                lDateOfReference = ManageSession.GetNavigationDate();

                //Obtain logged user
                lLoggedUser = uc.GetUserByName(ManageSession.GetUserName());

                //Get list of Farms from User
                lFarmList = fc.GetFarmListIncludedIrrigationUnitListCityBy(lLoggedUser);

                //Grid of irrigation data
                lGridIrrigationUnitDetailRow = new List <GridPivotDetailHome>();

                for (int i = -InitialTables.MIN_DAY_SHOW_IN_GRID_BEFORE_TODAY; i <= InitialTables.MAX_DAY_SHOW_IN_GRID_AFTER_TODAY; i++)
                {
                    //Day i
                    lGridIrrigationUnitRow = AddGridIrrigationUnitDays(lDateOfReference, lDateOfReference.AddDays(i));
                    lGridIrrigationUnitDetailRow.Add(lGridIrrigationUnitRow);
                }

                var homeViewModel = ManageSession.GetHomeViewModel();
                //Add all the days for the IrrigationUnit
                lGridIrrigationUnit = new GridPivotHome("Nombre",
                                                        "Cultivo",
                                                        "Siembra",
                                                        "Fen.",
                                                        "Balance H.",
                                                        "KC",
                                                        homeViewModel.IsUserAdministrator,
                                                        new List <double>(),
                                                        lGridIrrigationUnitDetailRow,
                                                        0);

                lGridIrrigationUnitList.Add(lGridIrrigationUnit);
            }
            catch (Exception ex)
            {
                Utils.LogError(ex, "Exception in HomeController.GetGridPivotHomeTitles ");
                throw ex;
            }

            return(lGridIrrigationUnitList);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Return Grid Datail from dailyrecord days
        /// </summary>
        /// <returns></returns>
        public List <GridReportPivotState> GetGridDailyRecordIrrigationResume()
        {
            #region Local Variables
            string lEffectiveRain;
            string lEffectiveInputWater;
            double lEffectiveRainDouble;
            double lEffectiveInputWaterDouble;

            List <GridReportPivotState> lGridIrrigationUnitList = new List <GridReportPivotState>();
            List <GridReportPivotState> lGridDailyRecordIrrigationResumeList = new List <GridReportPivotState>();
            GridReportPivotState        lGridDailyRecordIrrigationResume     = null;
            DateTime lDateOfReference;


            List <DailyRecord>           lDailyRecordList;
            DailyRecordConfiguration     lDailyRecordConfiguration;
            List <IrrigationUnit>        lIrrigationUnitList;
            List <CropIrrigationWeather> lCropIrrigationWeatherList;
            List <Farm>                 lFarmList;
            FarmConfiguration           lFarmConfiguration;
            UserConfiguration           lUserConfiguration;
            IrrigationUnitConfiguration lIrrigationUnitConfiguration;
            User lLoggedUser;
            #endregion

            #region Configuration - Instance
            lUserConfiguration = new UserConfiguration();
            lFarmConfiguration = new FarmConfiguration();

            #endregion
            try
            {
                lDateOfReference             = Utils.GetDateOfReference().Value;
                lIrrigationUnitConfiguration = new IrrigationUnitConfiguration();
                lDailyRecordConfiguration    = new DailyRecordConfiguration();


                lLoggedUser = lUserConfiguration.GetUserByName(ManageSession.GetUserName());
                lFarmList   = lFarmConfiguration.GetFarmWithActiveCropIrrigationWeathersListBy(lLoggedUser);


                //Create IrrigationQuantity Units List
                lIrrigationUnitList = new List <IrrigationUnit>();
                foreach (Farm lCurrentFarm in lFarmList)
                {
                    lIrrigationUnitList = lIrrigationUnitConfiguration.GetIrrigationUnitListBy(lCurrentFarm);

                    foreach (var lIrrigationUnit in lIrrigationUnitList)
                    {
                        lCropIrrigationWeatherList = lIrrigationUnitConfiguration.GetCropIrrigationWeatherListIncludeCropMainWeatherStationRainListIrrigationListBy(lIrrigationUnit, lDateOfReference);
                        foreach (CropIrrigationWeather lCropIrrigationWeather in lCropIrrigationWeatherList)
                        {
                            lDailyRecordList = lDailyRecordConfiguration.GetDailyRecordsListDataUntilDateBy(lCropIrrigationWeather.CropIrrigationWeatherId, lDateOfReference);


                            foreach (var lDailyRecordUnit in lDailyRecordList)
                            {
                                lEffectiveRain             = "";
                                lEffectiveInputWater       = "";
                                lEffectiveRainDouble       = 0;
                                lEffectiveInputWaterDouble = 0;

                                if (lDailyRecordUnit.Rain != null)
                                {
                                    lEffectiveRainDouble = lDailyRecordUnit.Rain.ExtraInput + lDailyRecordUnit.Rain.Input;
                                }

                                if (lDailyRecordUnit.Irrigation != null)
                                {
                                    lEffectiveInputWaterDouble = lDailyRecordUnit.Irrigation.ExtraInput + lDailyRecordUnit.Irrigation.Input;
                                }
                                if (lEffectiveRainDouble + lEffectiveInputWaterDouble > 0) // not input
                                {
                                    if (lEffectiveRainDouble != 0)
                                    {
                                        lEffectiveRain = lEffectiveRainDouble.ToString();
                                    }

                                    if (lEffectiveInputWaterDouble != 0)
                                    {
                                        lEffectiveInputWater = lEffectiveInputWaterDouble.ToString();
                                    }

                                    lGridDailyRecordIrrigationResume = new GridReportPivotState(lCurrentFarm.Name + " | " + lCropIrrigationWeather.IrrigationUnit.ShortName, lDailyRecordUnit.DaysAfterSowing.ToString(), lDailyRecordUnit.DailyRecordDateTime.ToShortDateString(), lEffectiveRain, lEffectiveInputWater);
                                    lGridDailyRecordIrrigationResumeList.Add(lGridDailyRecordIrrigationResume);
                                }
                            }
                        }
                    }
                }
            }


            catch (Exception ex)
            {
                Utils.LogError(ex, "Exception in ReportPivotState.GetGridDailyRecordIrrigationResume \n {0} ");
                return(null);
            }

            return(lGridDailyRecordIrrigationResumeList);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Return Grid Datail from dailyrecord days
        /// </summary>
        /// <returns></returns>
        public List <GridReportIrrigationUnit> GetGridDailyRecordIrrigationResume()
        {
            #region Local Variables

            List <GridReportIrrigationUnit> lGridIrrigationUnitList = new List <GridReportIrrigationUnit>();
            List <GridReportIrrigationUnit> lGridDailyRecordIrrigationResumeList = new List <GridReportIrrigationUnit>();
            GridReportIrrigationUnit        lGridReportIrrigationUnit            = null;

            string lEffectiveRain;
            string lEffectiveInputWater;
            double lEffectiveRainDouble;
            double lEffectiveInputWaterDouble;
            double lTemperature;
            double lStationTemperatureInDR;

            List <DailyRecord> lDailyRecordList;


            bool lIsUserAdministrator;
            #endregion
            try
            {
                #region Configuration Variables
                DailyRecordConfiguration drc;
                UserConfiguration        uc;
                FarmConfiguration        fc;
                #endregion

                #region userdata
                User           lLoggedUser;
                LoginViewModel lLoginViewModel;
                uc = new UserConfiguration();

                LoginViewModel localLgM = ManageSession.GetLoginViewModel();
                lLoginViewModel = ManageSession.GetLoginViewModel();
                lLoggedUser     = uc.GetUserByName(lLoginViewModel.UserName);

                lIsUserAdministrator = (lLoggedUser.RoleId == (int)Utils.UserRoles.Administrator);
                #endregion

                #region Configuration - Instance
                uc  = new UserConfiguration();
                drc = new DailyRecordConfiguration();
                fc  = new FarmConfiguration();
                #endregion

                lCurrentFarm = fc.GetFarmBy(ciwId);

                lDailyRecordList = drc.GetDailyRecordsListWithTemperatureDataUntilDateBy(ciwId, Utils.GetDateOfReference().Value);

                foreach (var lDailyRecordItem in lDailyRecordList)
                {
                    lEffectiveRain             = "";
                    lEffectiveInputWater       = "";
                    lEffectiveRainDouble       = 0;
                    lEffectiveInputWaterDouble = 0;

                    if (lDailyRecordItem.Rain != null)
                    {
                        lEffectiveRainDouble = lDailyRecordItem.Rain.ExtraInput + lDailyRecordItem.Rain.Input;
                    }

                    if (lDailyRecordItem.Irrigation != null)
                    {
                        lEffectiveInputWaterDouble = lDailyRecordItem.Irrigation.ExtraInput + lDailyRecordItem.Irrigation.Input;
                    }
                    if (lEffectiveRainDouble + lEffectiveInputWaterDouble > 0) // not input
                    {
                        if (lEffectiveRainDouble != 0)
                        {
                            lEffectiveRain = lEffectiveRainDouble.ToString();
                        }
                        if (lEffectiveInputWaterDouble != 0)
                        {
                            lEffectiveInputWater = lEffectiveInputWaterDouble.ToString();
                        }

                        #region temperature to show

                        if (lDailyRecordItem.MainWeatherDataId > 0) // Get temperature from MainWeatherDataId
                        {
                            lStationTemperatureInDR = lDailyRecordItem.MainWeatherDataId;
                        }
                        else
                        {
                            lStationTemperatureInDR = lDailyRecordItem.AlternativeWeatherDataId;
                        }

                        lTemperature = db.WeatherDatas
                                       .Where(wd => wd.WeatherDataId == lStationTemperatureInDR)
                                       .Select(wd => wd.Temperature).FirstOrDefault();
                        #endregion

                        lGridReportIrrigationUnit = new GridReportIrrigationUnit(lDailyRecordItem.DaysAfterSowing.ToString(),
                                                                                 lDailyRecordItem.DailyRecordDateTime.ToShortDateString(),
                                                                                 lEffectiveRain,
                                                                                 lEffectiveInputWater,
                                                                                 lTemperature.ToString(),
                                                                                 lDailyRecordItem.TotalEvapotranspirationCrop.ToString(),
                                                                                 lDailyRecordItem.PercentageOfHydricBalance.ToString(),
                                                                                 lDailyRecordItem.PhenologicalStage.Stage.ShortName,
                                                                                 lDailyRecordItem.CropCoefficient.ToString(),
                                                                                 lCurrentFarm.IrrigationUnitReportShowEvapotranspiration, lCurrentFarm.IrrigationUnitReportShowTemperature, lCurrentFarm.IrrigationUnitReportShowAvailableWater,
                                                                                 lIsUserAdministrator);

                        lGridDailyRecordIrrigationResumeList.Add(lGridReportIrrigationUnit);
                    }
                }
            }


            catch (Exception ex)
            {
                Utils.LogError(ex, "Exception in ReportIrrigationUnit.GetGridDailyRecordIrrigationResume \n {0} ");
                return(null);
            }

            return(lGridDailyRecordIrrigationResumeList);
        }