public async Task <IEnumerable <PublishedProviderResultExisting> > GetExistingPublishedProviderResultsForSpecificationId(string specificationId) { SqlQuerySpec sqlQuerySpec = new SqlQuerySpec { QueryText = @"SELECT r.id, r.updatedAt, r.content.providerId, r.content.fundingStreamResult.allocationLineResult.current[""value""], r.content.fundingStreamResult.allocationLineResult.allocationLine.id AS allocationLineId, r.content.fundingStreamResult.allocationLineResult.current.major AS major, r.content.fundingStreamResult.allocationLineResult.current.minor AS minor, r.content.fundingStreamResult.allocationLineResult.current.version AS version, r.content.fundingStreamResult.allocationLineResult.current.status AS status, r.content.fundingStreamResult.allocationLineResult.published AS published, r.content.fundingStreamResult.allocationLineResult.current.profilePeriods, r.content.fundingStreamResult.allocationLineResult.current.financialEnvelopes, r.content.fundingStreamResult.allocationLineResult.hasResultBeenVaried, r.content.fundingStreamResult.allocationLineResult.current.provider FROM Root r WHERE r.documentType = 'PublishedProviderResult' AND r.deleted = false AND r.content.specificationId = @SpecificationId", Parameters = new SqlParameterCollection { new SqlParameter("@SpecificationId", specificationId) } }; IEnumerable <dynamic> existingResults = await _cosmosRepository.QueryDynamic(sqlQuerySpec, true, 1000); List <PublishedProviderResultExisting> results = new List <PublishedProviderResultExisting>(); foreach (dynamic existingResult in existingResults) { PublishedProviderResultExisting result = new PublishedProviderResultExisting() { AllocationLineId = existingResult.allocationLineId, Id = existingResult.id, ProviderId = existingResult.providerId, Value = existingResult.value != null?Convert.ToDecimal(existingResult.value) : null, Minor = DynamicExtensions.PropertyExists(existingResult, "minor") ? (int)existingResult.minor : 0, Major = DynamicExtensions.PropertyExists(existingResult, "major") ? (int)existingResult.major : 0, UpdatedAt = (DateTimeOffset?)existingResult.updatedAt, Version = DynamicExtensions.PropertyExists(existingResult, "version") ? (int)existingResult.version : 0, Published = DynamicExtensions.PropertyExistsAndIsNotNull(existingResult, "published") ? ((JObject)existingResult.published).ToObject <PublishedAllocationLineResultVersion>() : null, HasResultBeenVaried = DynamicExtensions.PropertyExists(existingResult, "hasResultBeenVaried") ? (bool)existingResult.hasResultBeenVaried : false, Provider = DynamicExtensions.PropertyExistsAndIsNotNull(existingResult, "provider") ? ((JObject)existingResult.provider).ToObject <ProviderSummary>() : null }; result.Status = Enum.Parse(typeof(AllocationLineStatus), existingResult.status); result.ProfilePeriods = DynamicExtensions.PropertyExistsAndIsNotNull(existingResult, "profilePeriods") ? ((JArray)existingResult.profilePeriods).ToObject <List <ProfilingPeriod> >() : Enumerable.Empty <ProfilingPeriod>(); result.FinancialEnvelopes = DynamicExtensions.PropertyExistsAndIsNotNull(existingResult, "financialEnvelopes") ? ((JArray)existingResult.financialEnvelopes).ToObject <List <FinancialEnvelope> >() : Enumerable.Empty <FinancialEnvelope>(); results.Add(result); } return(results); }
public static Track FromDynamic(dynamic result) { var track = new Track { Id = DynamicExtensions.GetGuidFromDynamic(result.Id), AlbumId = DynamicExtensions.GetGuidFromDynamic(result.AlbumId), Bitrate = DynamicExtensions.GetIntFromDynamic(result.Bitrate), CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId), ContentType = result.ContentType, DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded), DateFileCreated = DynamicExtensions.GetDateTimeFromDynamic(result.DateFileCreated), DateFileModified = DynamicExtensions.GetDateTimeFromDynamic(result.DateFileModified), DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified), DiscNumber = DynamicExtensions.GetIntFromDynamic(result.DiscNumber), Duration = TimeSpan.FromMilliseconds(result.Duration), Name = result.Name, Number = DynamicExtensions.GetIntFromDynamic(result.Number), Path = result.Path, ReleaseDate = DynamicExtensions.GetIntFromDynamic(result.ReleaseDate), Size = Convert.ToInt64(result.Size), Visible = Convert.ToBoolean(result.Visible) }; return(track); }
public IAnalysis CreateInstance(dynamic jsonConfig) { if (this.QuantityAnalysisFactory == null || this.QuantitySearchTypesFactory == null || string.IsNullOrEmpty(this.Type)) { throw new MissingRequiredDependencyException(); } int?min = null; int?max = null; if (!DynamicExtensions.HasProperty(jsonConfig, "search")) { throw new InvalidJSONException(); } if (DynamicExtensions.HasProperty(jsonConfig, "min")) { min = DynamicExtensions.AsInt(jsonConfig.min); } if (DynamicExtensions.HasProperty(jsonConfig, "max")) { max = DynamicExtensions.AsInt(jsonConfig.max); } List <IQuantitySearch> quantitySearchList = new List <IQuantitySearch>(); foreach (var searchItem in jsonConfig.search) { quantitySearchList.Add(this.QuantitySearchTypesFactory.CreateInstance(searchItem)); } return(this.QuantityAnalysisFactory.CreateInstance(min, max, quantitySearchList)); }
public static LastFm FromDynamic(dynamic result) { LastFm lastFm = null; string lastFmId = result.LastFmId; string musicBrainzId = result.MusicBrainzId; if (!string.IsNullOrWhiteSpace(lastFmId) || !string.IsNullOrWhiteSpace(musicBrainzId)) { lastFm = new LastFm { Details = result.Details, LastFmId = lastFmId, Name = result.Name, LargeImageUrl = new Uri(result.LargeImageUrl), MediumImageUrl = new Uri(result.MediumImageUrl), LargestImageUrl = new Uri(result.LargestImageUrl), SmallImageUrl = new Uri(result.SmallImageUrl), Url = new Uri(result.Url), DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.LastFmDateAdded), DateModified = result.LastFmDateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.LastFmDateModified) }; } return(lastFm); }
public static DateTime DateTimeGet(dynamic dynamicOBJ, string propertyname) { try { var value = DynamicExtensions.GetProperty(dynamicOBJ, propertyname); if (value == null) { return(default);
public async Task <int> GetUserGroupsCountAsync(string realm, string userId) { var result = await GetBaseUrl(realm) .AppendPathSegment($"/admin/realms/{realm}/users/{userId}/groups/count") .GetJsonAsync() .ConfigureAwait(false); return(Convert.ToInt32(DynamicExtensions.GetFirstPropertyValue(result))); }
/// ------------------------------------------------------------------------------------------------- /// <summary> /// Initializes a new instance of the ExpandedObject class. /// </summary> /// <param name="values"> /// The values. /// </param> /// ------------------------------------------------------------------------------------------------- public ExpandedObject(IEnumerable <KeyValuePair <string, object> > values = null) { this.values = values != null ? values.ToDictionary( p => p.Key, p => DynamicExtensions.WrapObject(p.Value), StringComparer.OrdinalIgnoreCase) : new Dictionary <string, dynamic>(StringComparer.OrdinalIgnoreCase); }
private void SetValue(string name, object value) { if (this.values.ContainsKey(name)) { this.values[name] = DynamicExtensions.WrapObject(value); } this.values.Add(name, DynamicExtensions.WrapObject(value)); }
public async Task <int> GetClientSessionCountAsync(string realm, string clientId) { var result = await GetBaseUrl(realm) .AppendPathSegment($"/admin/realms/{realm}/clients/{clientId}/session-count") .GetJsonAsync() .ConfigureAwait(false); return(Convert.ToInt32(DynamicExtensions.GetFirstPropertyValue(result))); }
public static RadioStation FromDynamic(dynamic result) { return(new RadioStation { Id = DynamicExtensions.GetGuidFromDynamic(result.Id), HomepageUrl = result.HomepageUrl, Name = result.Name, StreamUrl = result.StreamUrl }); }
public static void AddExtra(Track track, dynamic result) { track.AlbumGain = result.AlbumGain; track.AlbumPeak = result.AlbumPeak; track.Channels = DynamicExtensions.GetIntFromDynamic(result.Channels); track.Comment = result.Comment; track.SampleRate = DynamicExtensions.GetIntFromDynamic(result.SampleRate); track.TrackGain = result.TrackGain; track.TrackPeak = result.TrackPeak; }
public static Album FromDynamic(dynamic result) { return(new Album { Id = DynamicExtensions.GetGuidFromDynamic(result.Id), CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId), DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded), DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified), Name = result.Name }); }
public static CoverArt FromDynamic(dynamic result) { return(new CoverArt { Id = DynamicExtensions.GetGuidFromDynamic(result.Id), CoverArtType = (CoverArtType)result.CoverArtType, MediaId = result.MediaId == null?DynamicExtensions.GetGuidFromDynamic(result.Id) : DynamicExtensions.GetGuidFromDynamic(result.MediaId), MimeType = result.CoverArtMimeType, Size = DynamicExtensions.GetIntFromDynamic(result.Size) }); }
public ISmsNotification Create(NotificationMessage message, UserProfileSettings settings) { if (!registry.TryGetValue(message.Event, out var messageType)) { throw new InvalidOperationException(string.Format(EventIsNotSupportedExceptionMessage, message.Event)); } var notification = (ISmsNotification)DynamicExtensions.ToStatic(messageType, message.Parameters); return(notification); }
public static Chat FromDynamic(dynamic result) { return(new Chat { User = new User { Id = DynamicExtensions.GetGuidFromDynamic(result.UserId) }, Timestamp = DynamicExtensions.GetDateTimeFromDynamic(result.Timestamp).ToUniversalTime(), Message = result.Message }); }
public void AsIntShouldReturnIntValueWhenIsNumericAndZeroInOtherCases() { dynamic obj = new ExpandoObject(); obj.entero = 1; obj.doble = (double)2; obj.cadena = "cadena"; Assert.AreEqual(DynamicExtensions.AsInt(obj.entero), 1); Assert.AreEqual(DynamicExtensions.AsInt(obj.doble), 2); Assert.AreEqual(DynamicExtensions.AsInt(obj.cadena), 0); }
/// <summary> /// Gets or sets the <see cref="DynamicObject"/> at the specified index. /// </summary> /// <param name="index">The index.</param> /// <returns>A <see cref="DynamicObject"/> object.</returns> public dynamic this[int index] { get { return(this.arrayValues[index]); } set { this.arrayValues[index] = DynamicExtensions.WrapObject(value); } }
public void TestMethod0() { var guineaPig = new GuineaPig { Name = "TEST", Id = Guid.NewGuid(), DateTimeProp = DateTime.Now, IntProp = 1, DecimalProp = 100, }; dynamic pigGuinea = guineaPig.ToDynamic(); DynamicExtensions.CreateNewProperty(pigGuinea, "Id2", guineaPig.Id); Assert.AreEqual(pigGuinea.Id2, guineaPig.Id); }
public void HasPropertyShouldReturnTrueWhenPropertyExistsAndFalseWhenPropertyDontExist() { dynamic obj = new ExpandoObject(); obj.property = "Hola"; Assert.IsTrue(DynamicExtensions.HasProperty(obj, "property")); Assert.IsFalse(DynamicExtensions.HasProperty(obj, "inexistentproperty")); dynamic obj2 = new CustomClassForDynamicTest(); Assert.IsTrue(DynamicExtensions.HasProperty(obj2, "Value")); Assert.IsFalse(DynamicExtensions.HasProperty(obj2, "inexistentproperty")); }
public static User FromDynamic(dynamic result) { return(new User { Id = DynamicExtensions.GetGuidFromDynamic(result.Id), EmailAddress = result.EmailAddress, Password = result.Password, DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded), DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified), Enabled = Convert.ToBoolean(result.Enabled), Name = result.Name, }); }
public static Collection FromDynamic(dynamic result) { return(new Collection { Id = DynamicExtensions.GetGuidFromDynamic(result.Id), DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded), DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified), Enabled = Convert.ToBoolean(result.Enabled), Filter = result.Filter, Name = result.Name, Path = result.Path }); }
public static Genre FromDynamic(dynamic result) { var genre = new Genre { Id = DynamicExtensions.GetGuidFromDynamic(result.Id), CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId), DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded), DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified), Name = result.Name }; return(genre); }
public static Artist FromDynamic(dynamic result) { var artist = new Artist { Id = DynamicExtensions.GetGuidFromDynamic(result.Id), CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId), DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded), DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified), Name = result.Name }; return(artist); }
public PushNotificationMessage Create(NotificationMessage message, UserProfileSettings settings) { if (!registry.TryGetValue(message.Event, out var messageType)) { throw new InvalidOperationException($"{message.Event} event is not supported"); } PushNotificationMessage notification = (PushNotificationMessage)DynamicExtensions.ToStatic(messageType, message.Parameters); var typeName = messageType.Name; notification.Body = _resourceProvider.GetBody(typeName, settings.Language); notification.Title = _resourceProvider.GetTitle(typeName, settings.Language); return(notification); }
public static Marker FromDynamic(dynamic result) { return(new Marker { TrackId = DynamicExtensions.GetGuidFromDynamic(result.TrackId), User = new User { Id = DynamicExtensions.GetGuidFromDynamic(result.UserId) }, Position = DynamicExtensions.GetLongFromDynamic(result.Position), Comment = result.Comment, DateAdded = DynamicExtensions.GetDateTimeFromDynamic(result.DateAdded), DateModified = result.DateModified == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.DateModified) }); }
public IQuantitySearch CreateInstance(dynamic jsonConfig) { if (this.QuantitySearchFactory == null || string.IsNullOrEmpty(this.Type)) { throw new MissingRequiredDependencyException(); } if (!DynamicExtensions.HasProperty(jsonConfig, "sequence")) { throw new InvalidJSONException(); } return(this.QuantitySearchFactory.CreateInstance(jsonConfig.sequence)); }
public static Disposition FromDynamic(dynamic result) { return(new Disposition { AverageRating = result.AverageRating == null ? null : DynamicExtensions.GetDoubleFromDynamic(result.AverageRating), CollectionId = DynamicExtensions.GetGuidFromDynamic(result.CollectionId), MediaType = (MediaType?)result.MediaTypeId, Favorited = result.Favorited == null ? null : DynamicExtensions.GetDateTimeFromDynamic(result.Favorited), Id = DynamicExtensions.GetGuidFromDynamic(result.DispositionId), MediaId = result.MediaId == null?DynamicExtensions.GetGuidFromDynamic(result.Id) : DynamicExtensions.GetGuidFromDynamic(result.MediaId), UserId = DynamicExtensions.GetGuidFromDynamic(result.UserId), UserRating = result.Rating == null ? null : DynamicExtensions.GetIntFromDynamic(result.Rating) }); }
public object CloneItem(string itemId) { // Todo: Избавиться от этой конвертации после того, как в системе будет одна реализация Dynamic dynamic item = GetItem(itemId); if (item != null) { item.Id = Guid.NewGuid().ToString(); item.Name = string.Format(Resources.CloneElementName, item.Name); } return(DynamicExtensions.JsonToObject(item)); }
private void UpdateParserLibs(NitraClient client) { try { RemoveDuplicates(ParserLibs, pl => ToFullSuitePath(pl.Path)); var libsArray = ParserLibs.Select(vm => ToFullSuitePath(vm.Path)).ToImmutableArray(); client.Send(new ClientMessage.GetLibsMetadata(libsArray)); var libsMetadata = client.Receive <ServerMessage.LibsMetadata>().metadatas; client.Send(new ClientMessage.GetLibsSyntaxModules(libsArray)); var libsSyntaxModules = client.Receive <ServerMessage.LibsSyntaxModules>().modules; client.Send(new ClientMessage.GetLibsProjectSupports(libsArray)); var libsProjectSupports = client.Receive <ServerMessage.LibsProjectSupports>().libs; Languages.Clear(); DynamicExtensions.Clear(); ProjectSupports.Clear(); for (int i = 0; i < libsMetadata.Length; i++) { var languages = libsMetadata[i].Languages; var syntaxModules = libsSyntaxModules[i].Modules; var projectSupports = libsProjectSupports[i].ProjectSupports; foreach (var language in languages) { Languages.Add(language); } if (!Languages.IsEmpty) { SelectedLanguage = Languages[0]; } foreach (var syntaxModule in syntaxModules) { DynamicExtensions.Add(new DynamicExtensionViewModel(syntaxModule)); } foreach (var projectSupport in projectSupports) { ProjectSupports.Add(new ProjectSupportViewModel(projectSupport.Caption, projectSupport.Path, projectSupport)); } } } catch (Exception e) { Debug.WriteLine("Failed to update parser lib metadata" + Environment.NewLine + e); } }
public async IAsyncEnumerable <WeissSchwarzCard> Parse(string urlOrFile) { if (encoreDecksSiteSetMatcher.IsMatch(urlOrFile)) { urlOrFile = TransformIntoAPIFormat(urlOrFile); } IList <dynamic> setCards = null; do { try { setCards = await urlOrFile.WithRESTHeaders().GetJsonListAsync(); } catch (FlurlHttpException) { // Do nothing } } while (setCards == null); foreach (var setCard in setCards) { WeissSchwarzCard result = new WeissSchwarzCard(); result.Name = new MultiLanguageString(); var enOptional = DynamicExtensions.AsOptional(setCard.locale.EN); var jpOptional = DynamicExtensions.AsOptional(setCard.locale.NP); result.Name.EN = enOptional.name; result.Name.JP = jpOptional.name; (List <object>, List <object>)attributes = (enOptional.attributes, jpOptional.attributes); result.Traits = TranslateTraits(attributes).ToList(); result.Effect = ((List <object>)enOptional.ability)?.Cast <string>().ToArray(); result.Rarity = setCard.rarity; result.Side = TranslateSide(setCard.side); result.Level = (int?)setCard.level; result.Cost = (int?)setCard.cost; result.Power = (int?)setCard.power; result.Soul = (int?)setCard.soul; result.Triggers = TranslateTriggers(setCard.trigger); result.Serial = WeissSchwarzCard.GetSerial(setCard.set.ToString(), setCard.side.ToString(), setCard.lang.ToString(), setCard.release.ToString(), setCard.sid.ToString()); result.Type = TranslateType(setCard.cardtype); result.Color = TranslateColor(setCard.colour); result.Remarks = $"Parsed: {this.GetType().Name}"; yield return(result); } // Get yield break; }