Example #1
0
        public async Task <IActionResult> PutFormModel(int id, FormModel formModel)
        {
            if (id != formModel.id)
            {
                return(BadRequest());
            }

            _context.Entry(formModel).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FormModelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
    public async Task AddAsync(Form form)
    {
        var existing = _formDbContext.Forms.Any(x => x.Key.Equals(form.Key, StringComparison.CurrentCultureIgnoreCase));

        if (existing)
        {
            throw new InvalidOperationException($"form key {form.Key} already existed");
        }

        var entity = form.ToEntity();

        _formDbContext.Forms.Add(entity);

        await _formDbContext.SaveChangesAsync();
    }
        public async Task AddAsync(string purpose, IEnumerable <Option> options)
        {
            var existing = _formDbContext.Options.Count(x => x.Purpose.Equals(purpose, StringComparison.CurrentCultureIgnoreCase));

            if (existing > 0)
            {
                throw new InvalidOperationException($"purpose {purpose} existed");
            }

            var entities = options.ToEntity(purpose);

            _formDbContext.Options.AddRange(entities);

            await _formDbContext.SaveChangesAsync();
        }