示例#1
0
        /// <summary>
        /// Init the universe for a new run.
        /// </summary>
        public void Init(SiteItem site, ManagementItem management)
        {
            Weather_            = new Weather(this);
            Crop_               = new Crop(this);
            Soil_               = new Soil(this);
            thermalTimeWrapper_ = new ThermalTimeBiomaWrapper(this);
            ShootTemperature_   = new ShootTemperature(this);

            meteorologyWrapper_ = new MeteoBiomaWrapper(this);

            Weather_.Init(site, management);
            CurrentDate = management.FinalSowingDate.AddDays(-1);
            Soil_.Init(Weather_.MinTemp(CurrentDate), Weather_.MaxTemp(CurrentDate), Weather_.GetMeanTemperatureBeforeSowing());
            Crop_.Init(thermalTimeWrapper_.CumulTT, CurrentDate.AddDays(1));

            CalcChangeinNFertilisation();
            GrowthDay                  = 0;
            CumAirTempFromSowing       = 0;
            CumMaxCanopyTempFromSowing = 0;
            CumMaxAirTempFromSowing    = 0;
            if (management.Species == "Maize")
            {
                switchMaize = true;
            }
            else
            {
                switchMaize = false;
            }
        }
示例#2
0
        public DateTime LSD_Fixed(int year, SiteItem site)
        {
            var      yy    = site.MaxSowingDate.Year - site.MinSowingDate.Year;
            DateTime datex = new DateTime(year + yy, site.MaxSowingDate.Month, site.MaxSowingDate.Day);

            return(datex);
        }
示例#3
0
        public ActionResult DeleteConfirmed(long id)
        {
            SiteItem siteItem = db.SiteItems.Find(id);

            db.SiteItems.Remove(siteItem);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public DockerContainerItemsViewModel(SiteItem siteItem)
 {
     this.SiteItem    = siteItem;
     DataStore        = DependencyService.Get <IDataStore <DockerContainerItem> >() ?? new DockerContainerDataStore(siteItem);
     Title            = $"Docker容器 - {siteItem.Name}";
     Items            = new ObservableCollection <DockerContainerItem>();
     LoadItemsCommand = new Command(async() => await ExecuteLoadItemsCommand());
 }
示例#5
0
        public void EstimateSowingWindow_JRC_Winter(Cache cache, SiteItem site)
        {
            DateTime date1;
            DateTime date2;
            DateTime datex;
            int      dayn1;
            int      dayn2;
            int      daynx;
            int      ndays;
            double   tempsum;

            esd_W = 366;
            lsd_W = 0;

            var MinLength     = site.MinSowWinLength;
            var TempThr       = site.TempThr;
            var TempSum       = site.TempSum;
            var PcpSum        = site.PcpSum;
            var CheckDaysPcp  = site.CheckDaysPcp;
            var CheckDaysTemp = site.CheckDaysTemp;

            var year1 = cache.Start.Value.Year;
            var year2 = cache.End.Value.Year;

            for (var year = year1; year <= year2; ++year)
            {
                date1 = new DateTime(year, 12, 30);
                date2 = new DateTime(year, 09, 01);
                dayn1 = date1.DayOfYear;
                dayn2 = date2.DayOfYear;
                ndays = dayn1 - dayn2 + 1;

                if (date1 <= cache.End && date2 >= cache.Start)
                {
                    tempsum = 0;

                    for (var dayn = 1; dayn <= ndays; ++dayn)
                    {
                        datex = date1.AddDays(-dayn + 1);
                        daynx = datex.DayOfYear;

                        tempsum += Math.Max(0, cache.TemperatureMean(datex) - TempThr);

                        if (tempsum >= TempSum || dayn == ndays)
                        {
                            if (datex.DayOfYear > lsd_W)
                            {
                                lsd_W = datex.DayOfYear;
                            }
                            break;
                        }
                    }
                }
            }
            esd_W = lsd_W - MinLength;
        }
 public DockerContainerItemDetailViewModel(SiteItem siteItem, DockerContainerItem dockerContainerItem)
 {
     Title               = $"容器[{dockerContainerItem?.Name}] - {siteItem.Name}";
     SiteItem            = siteItem;
     DockerContainerItem = dockerContainerItem;
     RefreshCommand      = new Command(async() => await ExecuteRefreshCommand());
     StartCommand        = new Command(async() => await ExecuteStartCommand());
     StopCommand         = new Command(async() => await ExecuteStopCommand());
     RestartCommand      = new Command(async() => await ExecuteRestartCommand());
 }
示例#7
0
 public ActionResult Edit([Bind(Include = "SiteItemId,Name")] SiteItem siteItem)
 {
     if (ModelState.IsValid)
     {
         db.Entry(siteItem).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(siteItem));
 }
示例#8
0
        public ActionResult Create([Bind(Include = "SiteItemId,Name")] SiteItem siteItem)
        {
            if (ModelState.IsValid)
            {
                db.SiteItems.Add(siteItem);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(siteItem));
        }
示例#9
0
        public static async Task EnsureLogin(HttpClient client, SiteItem siteItem)
        {
            var url = siteItem.Url + "/api/v1/Login";
            FormUrlEncodedContent content = new FormUrlEncodedContent(new Dictionary <string, string>()
            {
                ["password"] = siteItem.Password
            });
            var response = await client.PostAsync(url, content);

            response.EnsureSuccessStatusCode();
        }
示例#10
0
        public DateTime ESD_Sirius(int year, SiteItem site)
        {
            var xx = 0;

            if (lsd_Sir - esd_Sir < site.MinSowWinLength)
            {
                xx = (int)(site.MinSowWinLength - lsd_Sir + esd_Sir + 0.5) / 2;
            }
            DateTime date1 = new DateTime(year, 1, 1).AddDays(esd_Sir - 1 - xx);

            return(date1);
        }
示例#11
0
        public void MapCommonConditionSuccessTest()
        {
            var item = new SiteItem(1, "TestSite", "TestAddress");

            var mapper = new SiteItemMapper();

            Db.Entities.SiteItem result = mapper.Map(item);

            Assert.AreEqual(1, result.Id);
            Assert.AreEqual("TestSite", result.Name);
            Assert.AreEqual("TestAddress", result.Address);
        }
示例#12
0
        public DateTime ESD_Spring(int year, SiteItem site)
        {
            var xx = 0;

            if (lsd_S - esd_S < site.MinSowWinLength)
            {
                xx = (int)(site.MinSowWinLength - lsd_S + esd_S + 0.5) / 2;
            }
            DateTime date1 = new DateTime(year, 1, 1).AddDays(esd_S - 1 - xx);
            DateTime datex = new DateTime(year, site.MinSowingDate.Month, site.MinSowingDate.Day);

            return((date1 > datex) ? date1 : datex);
        }
        private Boolean ProcessDetailLine(string detailLine)
        {
            string[] lineFields = detailLine.Split("|");
            if (!ValidLine(lineFields))
            {
                logger.LogWarning("Invalid line: {0}", detailLine);
                return(false);
            }
            SiteItem siteItem = CreateSiteItem(lineFields);

            HandleNewSiteItem(siteItem, entityContext);
            return(true);
        }
        private SiteItem CreateSiteItem(string[] lineFields)
        {
            SiteItem item = new SiteItem
            {
                NPI        = lineFields[NPI_POSITION],
                NDC        = lineFields[NDC_POSITION],
                TotalUnits = System.Convert.ToInt32(lineFields[TOTAL_UNITS_POSITION]),
                UnitCost   = System.Convert.ToDecimal(lineFields[UNIT_COST_POSITION])
            };

            entityContext.Add(item);
            return(item);
        }
        /// <summary>
        /// Creates a reservation database object
        /// </summary>
        /// <param name="site">The site to be reserved</param>
        /// <param name="fromDate">The start date of the reservation</param>
        /// <param name="toDate">The end date of the reservation</param>
        /// <returns>A complete reservation database object</returns>
        private ReservationItem CreateReservation(SiteItem site, DateTime fromDate, DateTime toDate)
        {
            var reservation = new ReservationItem()
            {
                SiteId      = site.Id,
                CreatedDate = DateTime.UtcNow,
                FromDate    = fromDate,
                ToDate      = toDate,
                Name        = "Jones"
            };

            return(reservation);
        }
示例#16
0
        public async Task <IReadOnlyList <SiteItem> > Orchestrator([OrchestrationTrigger] IDurableOrchestrationContext context)
        {
            var resourceGroup = context.GetInput <string>();

            var activity = context.CreateActivityProxy <ISharedActivity>();

            var result = new List <SiteItem>();

            var certificates = await activity.GetAllCertificates();

            // App Service を取得
            var sites = await activity.GetSites((resourceGroup, true));

            foreach (var site in sites.ToLookup(x => x.SplitName().appName))
            {
                var siteInformation = new SiteItem {
                    Name = site.Key, Slots = new List <SlotItem>()
                };

                foreach (var slot in site)
                {
                    var(_, slotName) = slot.SplitName();

                    var hostNameSslStates = slot.HostNameSslStates
                                            .Where(x => !x.Name.EndsWith(_environment.AppService) && !x.Name.EndsWith(_environment.TrafficManager));

                    var slotInformation = new SlotItem
                    {
                        Name     = slotName ?? "production",
                        DnsNames = hostNameSslStates.Select(x => new DnsNameItem
                        {
                            Name   = x.Name,
                            Issuer = certificates.FirstOrDefault(xs => xs.Thumbprint == x.Thumbprint)?.Issuer ?? "None"
                        }).ToArray()
                    };

                    if (slotInformation.DnsNames.Count != 0)
                    {
                        siteInformation.Slots.Add(slotInformation);
                    }
                }

                if (siteInformation.Slots.Count != 0)
                {
                    result.Add(siteInformation);
                }
            }

            return(result);
        }
示例#17
0
        /// <summary>
        /// Parses the sql result set into a site item object
        /// </summary>
        /// <param name="reader">The sql data reader that contains the resultset</param>
        /// <returns>Populated site item object</returns>
        private SiteItem GetSiteItemFromReader(SqlDataReader reader)
        {
            SiteItem item = new SiteItem();

            item.Id           = Convert.ToInt32(reader["site_id"]);
            item.CampgroundId = Convert.ToInt32(reader["campground_id"]);
            item.SiteNumber   = Convert.ToInt32(reader["site_number"]);
            item.MaxOccupancy = Convert.ToInt32(reader["max_occupancy"]);
            item.IsAccessible = Convert.ToBoolean(reader["accessible"]);
            item.MaxRvLength  = Convert.ToInt32(reader["max_rv_length"]);
            item.HasUtilities = Convert.ToBoolean(reader["utilities"]);

            return(item);
        }
 public NewSiteItemPage(SiteItem item)
 {
     InitializeComponent();
     if (string.IsNullOrEmpty(item.Id))
     {
         Title = "新增站点";
     }
     else
     {
         Title = "编辑站点";
     }
     Item           = item;
     BindingContext = this;
 }
示例#19
0
        public DateTime LSD_Spring(int year, SiteItem site)
        {
            var xx = 0;

            if (lsd_S - esd_S < site.MinSowWinLength)
            {
                xx = (int)(site.MinSowWinLength - lsd_S + esd_S + 0.5) / 2;
            }
            var      yy    = site.MaxSowingDate.Year - site.MinSowingDate.Year;
            DateTime date1 = new DateTime(year, 1, 1).AddDays(lsd_S - 1 + xx);
            DateTime datex = new DateTime(year + yy, site.MaxSowingDate.Month, site.MaxSowingDate.Day);

            return((date1 < datex) ? date1 : datex);
        }
示例#20
0
        public void MapCommonConditionSuccessTest()
        {
            var item = new SiteItem {
                Id = 1, Address = "TestAddress", Name = "TestSite"
            };

            var mapper = new SiteItemMapper();

            Core.SiteItem result = mapper.Map(item);

            Assert.AreEqual(1, result.Id);
            Assert.AreEqual("TestSite", result.Name);
            Assert.AreEqual("TestAddress", result.Address);
        }
示例#21
0
        // GET: SiteItems/Delete/5
        public ActionResult Delete(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SiteItem siteItem = db.SiteItems.Find(id);

            if (siteItem == null)
            {
                return(HttpNotFound());
            }
            return(View(siteItem));
        }
示例#22
0
        /// <summary>
        /// Load data from sitecore
        /// </summary>
        private void LoadData()
        {
            SiteItem objSite = SiteItem.GetSiteRoot(WEBDB);

            if (objSite != null)
            {
                // sitelogo.Item = objSite;
                logoImage.ImageUrl = objSite.SiteLogo.MediaUrl.Replace("/sitecore/admin", "");
                GlobalsItem objGlobals = objSite.GetGlobalsFolder();
                if (objGlobals != null)
                {
                    ImportPDFSettingsItem objImportPDFSettings = objGlobals.GetImportPDFSettingsItem();
                }
            }
        }
示例#23
0
        public static async Task RestartContainer(HttpClient client, SiteItem siteItem, DockerContainerItem dockerContainerItem)
        {
            var url      = $"{siteItem.Url}/api/v1/Container/{dockerContainerItem.Id}/Restart";
            var response = await client.PutAsync(url, null);

            try
            {
                response.EnsureSuccessStatusCode();
            }
            catch (Exception ex)
            {
                var message = await response.Content.ReadAsStringAsync();

                throw new ApplicationException(message, ex);
            }
        }
        private void HandleNewSiteItem(SiteItem siteItem, EntityContext entityContext)
        {
            Site             site             = entityContext.Find <Site>(siteItem.NPI);
            InventorySummary inventorySummary = null;

            if (entityContext.InventorySummaries.ContainsKey(site))
            {
                inventorySummary = entityContext.InventorySummaries[site];
            }
            else
            {
                logger.LogInformation("No inventory site found.  Creating a new one.");
                inventorySummary = new InventorySummary();
                entityContext.InventorySummaries.Add(site, inventorySummary);
            }
            inventorySummary.AddSiteItem(siteItem);
        }
        /// <summary>
        /// Creates a site database object
        /// </summary>
        /// <param name="campgroundId">The id of the campground the site belongs to</param>
        /// <param name="siteNumber">The site number</param>
        /// <param name="hasUtilities">Specifies if the site has utilities</param>
        /// <param name="isAccessible">Specifies if the site has handicap accessibility</param>
        /// <param name="rvLength">Specifies the maximup RV length the site supports</param>
        /// <param name="maxOccupancy">Specifies the sites maximum occupancy</param>
        /// <returns>A complete site item database object</returns>
        private SiteItem CreateSite(int campgroundId,
                                    int siteNumber,
                                    bool hasUtilities = false,
                                    bool isAccessible = false,
                                    int rvLength      = 0,
                                    int maxOccupancy  = 8)
        {
            var site = new SiteItem()
            {
                CampgroundId = campgroundId,
                HasUtilities = hasUtilities,
                IsAccessible = isAccessible,
                MaxRvLength  = rvLength,
                MaxOccupancy = maxOccupancy,
                SiteNumber   = siteNumber
            };

            return(site);
        }
示例#26
0
        /// <summary>
        /// Load data from sitecore
        /// </summary>
        private void LoadData()
        {
            SiteItem objSite = SiteItem.GetSiteRoot(MASTERDB);

            if (objSite != null)
            {
                // sitelogo.Item = objSite;
                logoImage.ImageUrl = objSite.SiteLogo.MediaUrl.Replace("/sitecore/admin", "");
                GlobalsItem objGlobals = objSite.GetGlobalsFolder();
                if (objGlobals != null)
                {
                    ImportPDFSettingsItem objImportPDFSettings = objGlobals.GetImportPDFSettingsItem();
                    if (objImportPDFSettings != null)
                    {
                        frTitle.Item           = frDescription.Item = objImportPDFSettings;
                        frThankyouMessage.Item = objImportPDFSettings;
                    }
                }
            }
        }
示例#27
0
 public void EstimateSowingWindows(SiteItem site, ManagementItem management)
 {
     if (site.SowingWindowType == 1) // JRC winter sowing window
     {
         EstimateSowingWindow_JRC_Winter(cache, site);
         site.ESD_W = ESD_Winter(cache.Start.Value.Year);
         site.LSD_W = LSD_Winter(cache.Start.Value.Year);
     }
     if (site.SowingWindowType == 2) // JRC spring sowing window
     {
         EstimateSowingWindow_JRC_Spring(cache, site);
         site.ESD_S = ESD_Spring(cache.Start.Value.Year, site);
         site.LSD_S = LSD_Spring(cache.Start.Value.Year, site);
     }
     if (site.SowingWindowType == 3) // SiriusQuality method (based on nominal sowing date)
     {
         EstimateSowingWindow_Sirius(cache, site, management);
         site.ESD_Sir = ESD_Sirius(cache.Start.Value.Year, site);
         site.LSD_Sir = LSD_Sirius(cache.Start.Value.Year, site);
     }
 }
示例#28
0
        /// <summary>
        /// Adds a row to the site table
        /// </summary>
        /// <param name="site">The site item containing the data to add</param>
        /// <returns>The autogenerated primary key</returns>
        public int AddSite(SiteItem site)
        {
            const string sql = "INSERT [site] (campground_id, site_number, max_occupancy, accessible, max_rv_length, utilities) " +
                               "VALUES (@campground_id, @site_number, @max_occupancy, @accessible, @max_rv_length, @utilities);";

            using (SqlConnection conn = new SqlConnection(_connectionString))
            {
                conn.Open();

                SqlCommand cmd = new SqlCommand(sql + _getLastIdSQL, conn);
                cmd.Parameters.AddWithValue("@campground_id", site.CampgroundId);
                cmd.Parameters.AddWithValue("@site_number", site.SiteNumber);
                cmd.Parameters.AddWithValue("@max_occupancy", site.MaxOccupancy);
                cmd.Parameters.AddWithValue("@accessible", site.IsAccessible);
                cmd.Parameters.AddWithValue("@max_rv_length", site.MaxRvLength);
                cmd.Parameters.AddWithValue("@utilities", site.HasUtilities);
                site.Id = (int)cmd.ExecuteScalar();
            }

            return(site.Id);
        }
示例#29
0
        /// <summary>
        /// Fill DDLs
        /// </summary>
        private void FillDropDownLists()
        {
            // Get Site item
            SiteItem objSite = SiteItem.GetSiteRoot(MASTERDB);

            if (objSite != null)
            {
                // Gets Subsidiary from global
                var subsidiary = SiteItem.GetSubsidiary(objSite);
                ddlSubsidiary.Items.Add(new ListItem(SiteItem.GetDictionaryItemValue(objSite, Constants.FILTER_BY_SUBSIDIARY), ""));

                if (subsidiary.Any())
                {
                    foreach (TagItem tagItem in subsidiary)
                    {
                        if (!string.IsNullOrEmpty(tagItem.Name))
                        {
                            ddlSubsidiary.Items.Add(new ListItem(tagItem.FullName.Raw, tagItem.InnerItem.ID.ToString()));
                        }
                    }
                }
            }
        }
示例#30
0
        public void DoStop()
        {
            varietyDef    = null;
            soilDef       = null;
            siteDef       = null;
            managementDef = null;
            parametersDef = null;
            runOptionsDef = null;
            var nbRun = savedUniverses != null ? savedUniverses.Count : 0;

            for (var i = 0; i < nbRun; ++i)
            {
                var universe = savedUniverses[i];
                if (universe != null)
                {
                    universe.Dispose();
                    savedUniverses[i] = null;
                }
            }
            savedUniverses = null;

            currentUniverse = null;
        }