Exemplo n.º 1
0
 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()
     });
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);

        }