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();
            }
        }
        public int Insert(ValorCampoDomain t)
        {
            using (var db = GetConnection())
            {
                DynamicParameters p = new DynamicParameters();

                p.AddDynamicParams(
                    new
                {
                    IdTipoCampo  = t.IdTipoCampo,
                    IdFormulario = t.IdFormulario,
                    ValorCampo   = t.ValorCampo
                });

                int resultado = db.Execute("sp_valor_campo_Inserir", p, commandType: CommandType.StoredProcedure);

                return(0);
            }
        }
예제 #3
0
        public void Insert(FormularioModelView t)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                var formularioDomain = FormlarioMapper.FormularioDomainToFormularioModelView(t);

                var idFormulario = _formularioRepository.Insert(formularioDomain);

                foreach (var formularioCampo in formularioDomain.FormularioCampos)
                {
                    formularioCampo.FormularioDomain = new FormularioDomain()
                    {
                        IdFormulario = idFormulario
                    };
                    _formularioCamposRepository.Insert(formularioCampo);

                    if (formularioCampo.ValoresCombobox != null && formularioCampo.ValoresCombobox.Count > 0)
                    {
                        ValorCampoDomain valorCampoDomain = null;

                        foreach (var item in formularioCampo.ValoresCombobox)
                        {
                            valorCampoDomain = new ValorCampoDomain()
                            {
                                IdFormulario = idFormulario, IdTipoCampo = formularioCampo.TipoCampo.IdTipoCampo, ValorCampo = item
                            };

                            _valorCampoRepository.Insert(valorCampoDomain);
                        }
                    }
                    else
                    {
                        var valorCampoDomain = new ValorCampoDomain()
                        {
                            IdFormulario = idFormulario, IdTipoCampo = formularioCampo.TipoCampo.IdTipoCampo, ValorCampo = formularioCampo.ValorCampo
                        };
                        _valorCampoRepository.Insert(valorCampoDomain);
                    }
                }

                scope.Complete();
            }
        }
 public void Update(ValorCampoDomain t)
 {
     throw new NotImplementedException();
 }
        public async Task <FormularioDomain> GetById(int id)
        {
            FormularioDomain formualrio;

            using (var db = GetConnection())
            {
                try
                {
                    DynamicParameters p = new DynamicParameters();

                    p.AddDynamicParams(new
                    {
                        idFormulario = id
                    });

                    formualrio = new FormularioDomain();

                    Func <FormularioDomain, FormularioCampoDomain, TipoCampoDomain, TipoValorCampoDomain, ValorCampoDomain, FormularioDomain> mapper = ((f, fc, tc, tvc, vc) =>
                    {
                        if (vc == null)
                        {
                            vc = new ValorCampoDomain();
                        }



                        if (fc == null)
                        {
                            fc = new FormularioCampoDomain();
                        }

                        //fc.Add(tc);
                        //fc.TipoValorCampo = tvc;

                        //if (fc.ValorCampos == null || fc.ValorCampos.Count == 0)
                        //{
                        //    fc.ValorCampos = new List<ValorCampoDomain>();
                        //}
                        //fc.ValorCampos.Add(vc);

                        if (f.FormularioCampos == null || f.FormularioCampos.Count == 0)
                        {
                            f.FormularioCampos = new List <FormularioCampoDomain>();
                        }
                        f.FormularioCampos.Add(fc);

                        return(f);
                    });

                    var query = db.Query <FormularioDomain, FormularioCampoDomain, TipoCampoDomain, TipoValorCampoDomain, ValorCampoDomain, FormularioDomain>
                                    ("sp_get_formulario_by_id", mapper, param: p, commandType: CommandType.StoredProcedure, splitOn: "DescricaoCampo,NomeTipoCampo,NomeTipoValorCampo,ValorCampo");

                    formualrio = query.FirstOrDefault();
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
            return(formualrio);
        }