public static FloraKeyModel ToFloraKeyModel(this FloraKey floraKey) { return(new FloraKeyModel { FrSubTitle = floraKey.FrSubTitle, FrTitle = floraKey.FrTitle, Id = floraKey.Id, NormalizedForm = floraKey.NormalizedForm, Order = floraKey.Order, Values = floraKey.Values?.Select(value => value.ToFloraKeyValueModel()).ToArray() }); }
public async Task CreateFloraKeyAsync([FromBody] FloraKeyCreationModel model) { FloraKeyValue[] values = model.Values?.Select(value => new FloraKeyValue { Id = value.Id, NormalizedForm = value.NormalizedForm }).ToArray(); FloraKey key = new FloraKey { FrSubTitle = model.FrSubTitle, FrTitle = model.FrTitle, NormalizedForm = model.NormalizedForm, Order = model.Order }; await this.SpeciesManager.CreateOrUpdateFloraKeyAsync(key, values); }
public async Task CreateOrUpdateFloraKeyAsync(FloraKey floraKey, FloraKeyValue[] floraKeyValues) { IFindFluent<FloraKey, FloraKey> existing = this.DataContext.FloraKeys.Find(key => key.NormalizedForm == floraKey.NormalizedForm); if (existing != null) { await this.DataContext.FloraKeys.DeleteOneAsync(key => key.NormalizedForm == floraKey.NormalizedForm); } floraKey.Id = Guid.NewGuid().ToString("N"); floraKey.Values = new List<FloraKeyValue>(); foreach (FloraKeyValue value in floraKeyValues) { value.FloraKeyId = floraKey.Id; floraKey.Values.Add(value); } await this.DataContext.FloraKeys.InsertOneAsync(floraKey); }