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