public static DataCenter GetValidDataCenter(Models.Tuple tuple, List <DataCenter> datacenterList) { var rnd = new Random(); double[] arrLatency = { 40, 50, 60 }; foreach (var item in datacenterList) { var dis = GeoDistance.CalcDistance(tuple.GeoLocation.getLongitude(), tuple.GeoLocation.getLatitude(), item.DatacenterCharacteristics.GeoLocation.getLongitude(), item.DatacenterCharacteristics.GeoLocation.getLatitude(), GeoCodeCalcMeasurement.Kilometers); lock (item) { item.DatacenterCharacteristics.DistanceFromTuple = dis; } var link = new Link() { Source = tuple.Name, Destination = item.Name, SDDistance = dis, Propagationtime = LinkUtility.CalculateLatency(dis, cooperSpeed, tuple.Size, transmitionRate, arrLatency[rnd.Next(arrLatency.Length)]) }; lock (CloudUtility.linksList) CloudUtility.linksList.Add(link); } return(datacenterList.OrderBy(x => x.DatacenterCharacteristics.DistanceFromTuple).FirstOrDefault()); }
public async Task Status(ITextChannel textChannel) { var success = false; var channel = (textChannel ?? Context.Channel as ITextChannel); if (channel != null) { if (!(await Ditto.Client.DoAsync(async c => await c.GetPermissionsAsync(textChannel)).ConfigureAwait(false)).HasAccess()) { await Context.ApplyResultReaction(CommandResult.FailedBotPermission).ConfigureAwait(false); } else { success = null != await LinkUtility.TryAddLinkAsync(LinkType.BDO_Maintenance, channel, null).ConfigureAwait(false); await Context.EmbedAsync( success ?$"Successfully linked BDO maintenance to {textChannel.Mention}" : $"", success?ContextMessageOption.ReplyUser : ContextMessageOption.ReplyWithError, new RequestOptions() { RetryMode = RetryMode.AlwaysRetry } ).DeleteAfterAsync(10).ConfigureAwait(false); } } else { } }
public static CloudDevice CloudComputation(Models.Tuple tuple, CloudDevice cloud) { var rnd = new Random(); double[] arrLatency = { 40, 50, 60 }; var dis = GeoDistance.CalcDistance(tuple.GeoLocation.getLongitude(), tuple.GeoLocation.getLatitude(), cloud.GeoLocation.getLongitude(), cloud.GeoLocation.getLatitude(), GeoCodeCalcMeasurement.Kilometers); lock (Lock) { cloud.DistanceFromTuple = dis; } lock (Lock) { link.Source = tuple.Name; link.Destination = cloud.Name; link.SDDistance = dis; link.Propagationtime = LinkUtility.CalculateLatency(dis, cooperSpeed, tuple.Size, transmitionRate, arrLatency[rnd.Next(arrLatency.Length)]); } CloudRersourceUtility.ResourceConsumption(tuple, cloud); return(cloud); }
private OggettoHome RiempiIstanza(SqlDataReader dr) { if (dr == null) { throw new ArgumentNullException("dr"); } OggettoHome oggettoHome = new OggettoHome(); string immagineLocalizzazione = dr.IsDBNull(6) ? "" : dr.GetString(6); oggettoHome.ID = dr.GetInt32(0); oggettoHome._nome_IT = dr.GetString(1); oggettoHome._nome_EN = dr.GetString(2); oggettoHome._descrizione_IT = dr.GetString(3); oggettoHome._descrizione_EN = dr.GetString(4); oggettoHome.DataScadenzaPresentazione = dr.GetDateTime(5); oggettoHome.DocumentoID = dr.GetInt32(7); if (dr.GetInt32(9).Equals((int)TipoOggettoEnum.Impianto)) { oggettoHome.CategoriaImpianto = CategoriaImpiantoRepository.Instance.RecuperaCategoria(dr.GetInt32(11)); } else { oggettoHome.Tipologia = TipologiaRepository.Instance.RecuperaTipologia(dr.GetInt32(8)); } oggettoHome.ProponenteGestore = dr.IsDBNull(12) ? "" : dr.GetString(12); oggettoHome.TipoOggetto = TipoOggettoRepository.Instance.RecuperaTipoOggetto(dr.GetInt32(9)); oggettoHome.LinkLocalizzazione = LinkUtility.LinkLocalizzazione(immagineLocalizzazione, oggettoHome.ID); /* SERIO - 27/11/17 */ oggettoHome.TipoElenco = (TipoElencoEnum)dr.GetInt32(10); return(oggettoHome); }
private ProvvedimentoHome RiempiIstanza(SqlDataReader dr) { if (dr == null) { throw new ArgumentNullException("dr"); } ProvvedimentoHome provvedimentoHome = new ProvvedimentoHome(); string immagineLocalizzazione = dr.IsDBNull(6) ? "" : dr.GetString(6); provvedimentoHome.ID = dr.GetInt32(0); provvedimentoHome._nome_IT = dr.GetString(1); provvedimentoHome._nome_EN = dr.GetString(2); provvedimentoHome._descrizione_IT = dr.GetString(3); provvedimentoHome._descrizione_EN = dr.GetString(4); provvedimentoHome.DataProvvedimento = dr.GetDateTime(5); provvedimentoHome.ProvvedimentoID = dr.GetInt32(7); provvedimentoHome.Tipologia = TipologiaRepository.Instance.RecuperaTipologia(dr.GetInt32(8)); provvedimentoHome.TipoOggetto = TipoOggettoRepository.Instance.RecuperaTipoOggetto(dr.GetInt32(9)); provvedimentoHome.LinkLocalizzazione = LinkUtility.LinkLocalizzazione(immagineLocalizzazione, provvedimentoHome.ID); return(provvedimentoHome); }
public LinkManager(string liveriesFolder, string ModsFolder, LinkUtility linkUtility) { LiveriesFolder = liveriesFolder; DcsModsFolder = ModsFolder; LinkUtility = linkUtility; }
private OggettoInfoBase RiempiIstanzaOggettoInfoAiaRegionale(SqlDataReader dr) { // Informazioni Comuni tra via e vas OggettoInfoBase oggetto = null; List <RuoloEntita> ruoliEntita = RuoloEntitaRepository.Instance.RecuperaRuoliEntita(); List <TipoLink> tipiLink = TipoLinkRepository.Instance.RecuperaTipiLink(); List <TipologiaTerritorio> tipologieTerritorio = TipologiaTerritorioRepository.Instance.RecuperaTipologieTerritorio(); List <StatoProcedura> statiProcedura; while (dr.Read()) { oggetto = new OggettoInfoBase(); oggetto.ID = dr.GetInt32(0); oggetto.TipoOggetto = TipoOggettoRepository.Instance.RecuperaTipoOggetto(dr.GetInt32(1)); oggetto._nome_IT = dr.GetString(2); oggetto._nome_EN = dr.GetString(3); oggetto._descrizione_IT = dr.IsDBNull(4) ? "" : dr.GetString(4); oggetto._descrizione_EN = dr.IsDBNull(5) ? "" : dr.GetString(5); oggetto.LinkLocalizzazione = dr.IsDBNull(6) ? null : LinkUtility.LinkLocalizzazione(dr.GetString(6), oggetto.ID); oggetto.ScadenzaPresentazioneOsservazioni = dr.IsDBNull(7) ? null : (DateTime?)dr.GetDateTime(7); oggetto.OggettoProceduraID = dr.GetInt32(8); } statiProcedura = StatoProceduraAIARepository.Instance.RecuperaStatiProceduraAIA(); if (oggetto != null) { // ENTITA dr.NextResult(); while (dr.Read()) { EntitaCollegata entitaCollegata = new EntitaCollegata(); entitaCollegata.Entita = new Entita(dr.GetInt32(0), dr.GetString(1), dr.IsDBNull(3) ? "" : dr.GetString(3), dr.IsDBNull(4) ? "" : dr.GetString(4), dr.IsDBNull(5) ? "" : dr.GetString(5), dr.IsDBNull(6) ? "" : dr.GetString(6), dr.IsDBNull(7) ? "" : dr.GetString(7), dr.IsDBNull(8) ? "" : dr.GetString(8)); entitaCollegata.Ruolo = ruoliEntita.Single(x => x.ID == dr.GetInt32(2)); oggetto.EntitaCollegate.Add(entitaCollegata); } // LINK dr.NextResult(); while (dr.Read()) { LinkCollegato linkCollegato = new LinkCollegato(); linkCollegato.Link = new Link(dr.GetInt32(0), dr.GetString(1), dr.GetString(2), dr.GetString(3)); linkCollegato.Tipo = tipiLink.Single(x => x.ID == dr.GetInt32(4)); oggetto.LinkCollegati.Add(linkCollegato); } // TERRITORI dr.NextResult(); while (dr.Read()) { Territorio territorio = new Territorio(); territorio.ID = dr.GetGuid(0); territorio.GenitoreID = dr.IsDBNull(1) ? null : (Guid?)dr.GetGuid(1); territorio.Tipologia = tipologieTerritorio.Single(x => x.ID == dr.GetInt32(2)); territorio.Nome = dr.GetString(3); territorio.CodiceIstat = dr.IsDBNull(4) ? "" : dr.GetString(4); oggetto.Territori.Add(territorio); } } return(oggetto); }
private OggettoInfoBase RiempiIstanzaOggettoInfoBase(SqlDataReader dr) { // Informazioni Comuni tra via e vas OggettoInfoBase oggetto = null; List <RuoloEntita> ruoliEntita = RuoloEntitaRepository.Instance.RecuperaRuoliEntita(); List <TipoLink> tipiLink = TipoLinkRepository.Instance.RecuperaTipiLink(); List <TipologiaTerritorio> tipologieTerritorio = TipologiaTerritorioRepository.Instance.RecuperaTipologieTerritorio(); IEnumerable <DatoAmministrativo> datiAmministrativi = DatoAmministrativoRepository.Instance.RecuperaDatiAmministrativi(); List <Procedura> procedure = ProceduraRepository.Instance.RecuperaProcedure(); List <StatoProcedura> statiProcedura; while (dr.Read()) { oggetto = new OggettoInfoBase(); oggetto.ID = dr.GetInt32(0); oggetto.TipoOggetto = TipoOggettoRepository.Instance.RecuperaTipoOggetto(dr.GetInt32(1)); oggetto._nome_IT = dr.GetString(2); oggetto._nome_EN = dr.GetString(3); oggetto._descrizione_IT = dr.IsDBNull(4) ? "" : dr.GetString(4); oggetto._descrizione_EN = dr.IsDBNull(5) ? "" : dr.GetString(5); oggetto.LinkLocalizzazione = dr.IsDBNull(6) ? null : LinkUtility.LinkLocalizzazione(dr.GetString(6), oggetto.ID); oggetto.ScadenzaPresentazioneOsservazioni = dr.IsDBNull(7) ? null : (DateTime?)dr.GetDateTime(7); oggetto.OggettoProceduraID = dr.GetInt32(8); } if (oggetto.TipoOggetto.MacroTipoOggetto.Enum.Equals(MacroTipoOggettoEnum.Aia)) { statiProcedura = StatoProceduraAIARepository.Instance.RecuperaStatiProceduraAIA(); } else { statiProcedura = StatoProceduraVIPERARepository.Instance.RecuperaStatiProceduraVIPERA(); } if (oggetto != null) { // ENTITA dr.NextResult(); while (dr.Read()) { EntitaCollegata entitaCollegata = new EntitaCollegata(); entitaCollegata.Entita = new Entita(dr.GetInt32(0), dr.GetString(1), dr.IsDBNull(3) ? "" : dr.GetString(3), dr.IsDBNull(4) ? "" : dr.GetString(4), dr.IsDBNull(5) ? "" : dr.GetString(5), dr.IsDBNull(6) ? "" : dr.GetString(6), dr.IsDBNull(7) ? "" : dr.GetString(7), dr.IsDBNull(8) ? "" : dr.GetString(8)); entitaCollegata.Ruolo = ruoliEntita.Single(x => x.ID == dr.GetInt32(2)); oggetto.EntitaCollegate.Add(entitaCollegata); } // LINK dr.NextResult(); while (dr.Read()) { LinkCollegato linkCollegato = new LinkCollegato(); linkCollegato.Link = new Link(dr.GetInt32(0), dr.GetString(1), dr.GetString(2), dr.GetString(3)); linkCollegato.Tipo = tipiLink.Single(x => x.ID == dr.GetInt32(4)); oggetto.LinkCollegati.Add(linkCollegato); } // TERRITORI dr.NextResult(); while (dr.Read()) { Territorio territorio = new Territorio(); territorio.ID = dr.GetGuid(0); territorio.GenitoreID = dr.IsDBNull(1) ? null : (Guid?)dr.GetGuid(1); territorio.Tipologia = tipologieTerritorio.Single(x => x.ID == dr.GetInt32(2)); territorio.Nome = dr.GetString(3); territorio.CodiceIstat = dr.IsDBNull(4) ? "" : dr.GetString(4); oggetto.Territori.Add(territorio); } // PROCEDURE COLLEGATE dr.NextResult(); while (dr.Read()) { ProceduraCollegata proceduraCollegata = new ProceduraCollegata(); StatoProcedura statoProcedura = null; if (!dr.IsDBNull(2)) { statoProcedura = statiProcedura.FirstOrDefault(x => x.ID == dr.GetInt32(2)); } proceduraCollegata.OggettoProceduraID = dr.GetInt32(0); proceduraCollegata.Procedura = procedure.FirstOrDefault(x => x.ID == dr.GetInt32(1)); proceduraCollegata.StatoProcedura = statoProcedura; proceduraCollegata.Data = dr.IsDBNull(3) ? null : (DateTime?)dr.GetDateTime(3); proceduraCollegata.NumeroDocumenti = dr.GetInt32(4); proceduraCollegata.ViperaAiaID = dr.IsDBNull(5) ? null : dr.GetString(5); oggetto.ProcedureCollegate.Add(proceduraCollegata); } // DATI AMMINISTRATIVI dr.NextResult(); while (dr.Read()) { ValoreDatoAmministrativo valoreDatoAmministrativo = new ValoreDatoAmministrativo(); valoreDatoAmministrativo.OggettoProceduraID = dr.GetInt32(0); valoreDatoAmministrativo.Procedura = procedure.Single(x => x.ID == dr.GetInt32(1)); valoreDatoAmministrativo._vBool = dr.IsDBNull(2) ? null : (bool?)dr.GetBoolean(2); valoreDatoAmministrativo._vDatetime = dr.IsDBNull(3) ? null : (DateTime?)dr.GetDateTime(3); valoreDatoAmministrativo._vDouble = dr.IsDBNull(4) ? null : (double?)dr.GetDouble(4); valoreDatoAmministrativo._vString = dr.IsDBNull(5) ? "" : dr.GetString(5); valoreDatoAmministrativo.DatoAmministrativo = datiAmministrativi.Single(x => x.ID == dr.GetInt32(6)); valoreDatoAmministrativo.ViperaAiaID = dr.IsDBNull(7) ? null : dr.GetString(7); oggetto.DatiAmministrativi.Add(valoreDatoAmministrativo); } dr.NextResult(); if (dr.HasRows) { while (dr.Read()) { StatoProcedura statoProcedura = null; if (!dr.IsDBNull(3)) { statoProcedura = statiProcedura.FirstOrDefault(x => x.ID == dr.GetInt32(3)); } ValoreDatoAmministrativo valoreDatoAmministrativo = new ValoreDatoAmministrativo(); valoreDatoAmministrativo.OggettoProceduraID = dr.GetInt32(0); valoreDatoAmministrativo.Procedura = procedure.Single(x => x.ID == dr.GetInt32(1)); valoreDatoAmministrativo._vBool = null; valoreDatoAmministrativo._vDatetime = null; valoreDatoAmministrativo._vDouble = null; valoreDatoAmministrativo._vString = statoProcedura != null?statoProcedura.GetNome() : ""; valoreDatoAmministrativo.DatoAmministrativo = datiAmministrativi.FirstOrDefault(x => x.ID == dr.GetInt32(2)); valoreDatoAmministrativo.ViperaAiaID = dr.IsDBNull(4) ? null : dr.GetString(4); oggetto.DatiAmministrativi.Add(valoreDatoAmministrativo); } } } return(oggetto); }