public async Task <IList <FormularioModelView> > List()
        {
            var lista = await _db.FormularioRepositorio.GetAllAsync();

            var listaFormulario = FormularioMapper.FormularioModelViewToFormularioDomain(lista.ToList());

            return(listaFormulario);
        }
        public FormularioModelView GetById(int id)
        {
            var formularioDomain = _db.FormularioRepositorio.Get(f => f.IdFormulario == id);

            var formularioModelView = FormularioMapper.FormularioModelViewToFormularioDomain(formularioDomain);

            return(formularioModelView);
        }
        public void Insert(FormularioModelView t)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                var formularioDomain = FormularioMapper.FormularioDomainToFormularioModelView(t);

                var _forma = new FormularioDomain()
                {
                    DataVencimentoFim    = formularioDomain.DataVencimentoFim,
                    DataVencimentoInicio = formularioDomain.DataVencimentoInicio,
                    DescricaoFormulario  = formularioDomain.DescricaoFormulario,
                    NomeFormulario       = formularioDomain.NomeFormulario
                };

                _db.FormularioRepositorio.Insert(_forma);
                _db.Commit();

                var idFormulario = _forma.IdFormulario;

                foreach (var formularioCampo in formularioDomain.FormularioCampoes)
                {
                    var _formularioCampo = new FormularioCampoDomain
                    {
                        IdFormulario     = idFormulario,
                        IdTipoCampo      = formularioCampo.IdTipoCampo,
                        IdTipoValorCampo = formularioCampo.IdTipoValorCampo,
                        DescricaoCampo   = formularioCampo.DescricaoCampo
                    };

                    _db.FormularioCampoRepositorio.Insert(_formularioCampo);
                    _db.Commit();

                    var idFormularioCampo = _formularioCampo.IdFormularioCampo;

                    foreach (var valorCampo in formularioCampo.ValorCampoes)
                    {
                        var _valorCampo = new ValorCampoDomain
                        {
                            IdFormularioCampo = idFormularioCampo,
                            ValorCampo        = valorCampo.ValorCampo
                        };

                        _db.ValorCampoRepositorio.Insert(_valorCampo);
                    }
                    _db.Commit();
                }

                scope.Complete();
            }
        }