public ICommandResult Handle(AssinaturaBoletoCommand command) { //fail fast validations command.Validate(); if (command.Invalid) { AddNotifications(command); return(new CommandResult(false, "Não foi possível realizar sua assinatura.")); } //Verificar se documento ja esta cadastrado if (estudanteRepository.DocumentoExiste(command.Documento)) { AddNotification("Documento", "Este CPF já está em uso"); } //verificar se email ja esta cadastrado if (estudanteRepository.EmailExiste(command.Documento)) { AddNotification("Email", "Este E-mail já está em uso"); } //gerar os vos var nome = new Nome(command.PrimeiroNome, command.UltimoNome); var documento = new Documento(command.Documento, EDocumentoTipo.CPF); var email = new Email(command.Email); var endereco = new Endereco(command.Rua, command.Numero, command.Bairro, command.Cidade, command.Estado, command.Pais, command.CEP); //gerar as entidades var estudante = new Estudante(nome, documento, email); var assinatura = new Assinatura(DateTime.Now.AddMonths(1)); var pagamento = new Boleto( command.CodigoBarras, command.NumeroBoleto, command.DataPagamento, command.DataExpiracao, command.Total, command.TotalPago, command.Pagador, new Documento(command.PagadorDocumento, command.PagadorDocumentoTipo), endereco, email); //relacionamentos assinatura.AdicionarPagamento(pagamento); estudante.AdicionarAssinatura(assinatura); //agrupar as validações AddNotifications(nome, documento, email, endereco, estudante, assinatura, pagamento); //salvar as informações estudanteRepository.CriarAssinatura(estudante); //enviar email de boas vindas emailService.Send(estudante.Nome.ToString(), estudante.Email.EnderecoEmail, "Bem vindo ao serviço de assinatura", "Sua assinatura foi criada com sucesso."); //retornar as informações return(new CommandResult(true, "Assinatura realizada com sucesso.")); }
public async Task <ActionResult> CadastrarSocioPlano(SocioWizard socioWizard) { var Socio = new Socio { Cidade = socioWizard.Cidade, CPF = socioWizard.CPF, Email = socioWizard.Email, Nome = socioWizard.Nome, Pais = socioWizard.Pais, Rua = socioWizard.Rua }; var socioId = _context.Socios.Add(Socio); await _context.SaveChangesAsync(); var Assinatura = new Assinatura { IDSOCIO_FK = socioId.Entity.ID, IDPLANO_FK = Int32.Parse(socioWizard.PlanoId), DataInicio = DateTime.Now, DataFim = DateTime.Now.AddYears(1), FLG_ATIVA = false }; _context.Assinaturas.Add(Assinatura); await _context.SaveChangesAsync(); return(null); }
public Assinatura trazerAssinaturaCliente(int id) { try { Assinatura assinatura = new Assinatura(); using (cmd = new MySqlCommand("SP_trazerAssinaturaCliente", Conexao.conexao)) { conexao.abrirConexao(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@ID", id); dr = cmd.ExecuteReader(); while (dr.Read()) { assinatura.Id = Convert.ToInt32(dr["idAssinatura"]); assinatura.Nome = dr["nomeAssinatura"].ToString(); assinatura.Tipo = dr["tipo"].ToString(); assinatura.IdCliente = id; assinatura.Cliente.Cpf = dr["cpf"].ToString(); assinatura.Cliente.Nome = dr["nome"].ToString(); assinatura.Cliente.Id = Convert.ToInt32(dr["id"]); assinatura.Valor = Convert.ToDecimal(dr["valor"]); } } return(assinatura); } catch (Exception e) { throw new Exception(e.Message); } finally { dr.Close(); } }
public async Task IncluiAssinaturaAsync(Assinatura assinatura) { if (assinatura == null) { throw new ArgumentNullException(nameof(assinatura)); } var cliente = await clienteReadOnlyRepository.RetornaClienteSemAssinaturaAsync(assinatura.ClienteId); if (cliente == null) { throw new ClienteCoreException(ClienteCoreError.ClienteNaoEncontrado); } var temAssinaturaAtiva = cliente.Assinaturas.Any(c => c.Ativa); if (temAssinaturaAtiva) { throw new AssinaturaCoreException().AddError(AssinaturaCoreError.AssinaturaAtiva); } await assinaturaWriteOnlyRepository.IncluiAssinaturaAsync(assinatura); //await notificacaoAdapter.EnviaAsync(cliente.Telefone, "Assinatura incluída com sucesso"); }
public void RetornarErroQuandoAssinaturaSemPagamento() { var assinatura = new Assinatura(null); _aluno.AdicionarAssinatura(assinatura); Assert.IsTrue(_aluno.Invalid); }
public LoginService(IUsuarioRepositorio repositorio, Assinatura assinatura, TokenConfiguracao token, IConfiguration configuration) { _repositorio = repositorio; _assinatura = assinatura; _token = token; _configuration = configuration; }
public EstudanteTests() { _nome = new Nome("Maria", "Bonita"); _documento = new Documento("30030030030", ETipoDocumento.CPF); _endereco = new Endereco("Rua A", "1", "Calangos", "Aracaju", "SE", "Brasil", "4900000"); _email = new Email("*****@*****.**"); _estudante = new Estudante(_nome, _documento, _email); _assinatura = new Assinatura(null); }
public void Salvar(Assinatura assinatura) { var uow = container.Resolve <IUnitOfWork>(); var repository = container.Resolve <IAssinaturaRepository>(); uow.BeginTransaction(); repository.Save(assinatura); uow.Commit(); }
public AlunoTeste() { _nome = new Nome("Victor", "Santos"); _documento = new Documento("42463930888", ETipoDocumentos.CPF); _email = new Email("*****@*****.**"); _endereco = new Endereco("Rua 1", "123", "aaa", "jaragua", "são paulo", "sp", "02995100"); _aluno = new Aluno(_nome, _documento, _email); _assinatura = new Assinatura(null); }
public async Task Update(Assinatura assinatura) { if (!ExecutarValidacao(new AssinaturaValidator(), assinatura)) { return; } await _assinaturaRepository.Put(assinatura); }
public void DeveRetornarSucessoQuandoAdicionarAssinatura() { var subscription = new Assinatura(null); var payment = new PagamentoPaypal(_email, "12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, "Wayne Industries ACME", _document, _address); subscription.AdicionarPagamento(payment); _student.AdicionaAssinatura(subscription); Assert.IsTrue(_student.Valid); }
public EstudandeTestes() { _name = new Name("Glauber", "Castro"); _documento = new Documento("10742473619", EDocumentType.CPF); _email = new Email("*****@*****.**"); _estudante = new Estudante(_name, _documento, _email); _assinatura = new Assinatura(null); _endereco = new Endereco("Rua 1", "1234", "Praca Raul", "Barro preto", "Belo Horizonte", "Brasil", "30170110"); }
public EstudanteTest() { nome = new Nome("Bruce", "Wayne"); documento = new Documento("12456412121", EDocumentoTipo.CPF); email = new Email("*****@*****.**"); endereco = new Endereco("Rua 1", "123", "Rocha Miranda", "Rio de Janeiro", "RJ", "Brasil", "22510456"); estudante = new Estudante(nome, documento, email); assinatura = new Assinatura(null); }
public TesteEstudante() { _nome = new Name("Edvilson", "Almeida"); _documento = new Document("02088866051", EDocumentType.CPF); _email = new Email("*****@*****.**"); _endereco = new Endereco("Av Prefeito Ary", "145", "142", "Pelotas", "RS", "Brasil", "1452"); _estudante = new Estudante(_nome, _documento, _email); _assinatura = new Assinatura(null); }
public ICommandResult Handle(CriarAssinaturaPayPalCommand command) { // Fail Fast Validations command.Validate(); if (command.Invalid) { AddNotifications(command); return(new CommandResult(false, "Não foi possível realizar sua assinatura")); } // Verificar se documento já está cadastrado if (_repository.DocumentoExiste(command.Documento)) { AddNotification("Documemnto", "Este CPF já está em uso"); } // Verificar se e-mail já está cadastrado if (_repository.EmailExiste(command.Email)) { AddNotification("Documemnto", "Este E-mail já está em uso"); } // Gerar os VOs var nome = new Nome(command.PrimeiroNome, command.Sobrenome); var documento = new Documento(command.Documento, ETipoDocumento.CPF); var endereco = new Endereco(command.Logradouro, command.NumeroEndereco, command.Bairro, command.Cidade, command.Estado, command.Pais, command.CEP); var email = new Email(command.Email); // Gerar as entidades var estudante = new Estudante(nome, documento, email); var assinatura = new Assinatura(DateTime.Now.AddMonths(1)); var pagamento = new PaypalPagamento(command.CodigoTransacao, command.DataPagamento, command.DataVencimento, command.ValorGerado, command.ValorPago, endereco, command.Pagador, new Documento(command.PagadorDocumento, command.PagadorDocumentoTipo), email); // Relacionamentos assinatura.AdicionarPagamento(pagamento); estudante.AdicionarAssinatura(assinatura); // Aplicar as validacoes AddNotifications(nome, documento, email, endereco, estudante, assinatura, pagamento); // Checar as notificacoes if (Invalid) { return(new CommandResult(false, "Não foi possível realizar sua assinatura")); } // Salvar as informacoes _repository.CriarAssinatura(estudante); // Enviar e-mail de boas vindas // Chamar servico de e-mail // Retornar informacoes return(new CommandResult(true, "Assinatura realizada com sucesso")); }
public ActionResult Checkguid(CertidaoViewModel model, string c) { Imovel_bll imovelRepository = new Imovel_bll(_connection); Itbi_isencao_main_Struct _itbi = imovelRepository.Retorna_Itbi_Isencao_Main(c); List <Itbi_isencao_imovel> _Lista = imovelRepository.Retorna_Itbi_Isencao_Imovel(c); ReportDocument rd = new ReportDocument(); rd.Load(System.Web.HttpContext.Current.Server.MapPath("~/Reports/Certidao_Isencao_Itbi_Valida.rpt")); TableLogOnInfos crtableLogoninfos = new TableLogOnInfos(); TableLogOnInfo crtableLogoninfo = new TableLogOnInfo(); ConnectionInfo crConnectionInfo = new ConnectionInfo(); Tables CrTables; string myConn = ConfigurationManager.ConnectionStrings[_connection].ToString(); SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(myConn); string IPAddress = builder.DataSource; string _userId = builder.UserID; string _pwd = builder.Password; crConnectionInfo.ServerName = IPAddress; crConnectionInfo.DatabaseName = "Tributacao"; crConnectionInfo.UserID = _userId; crConnectionInfo.Password = _pwd; CrTables = rd.Database.Tables; foreach (Table CrTable in CrTables) { crtableLogoninfo = CrTable.LogOnInfo; crtableLogoninfo.ConnectionInfo = crConnectionInfo; CrTable.ApplyLogOnInfo(crtableLogoninfo); } Sistema_bll sistemaRepository = new Sistema_bll(_connection); Assinatura assinatura = sistemaRepository.Retorna_Usuario_Assinatura(_itbi.Fiscal_id); usuarioStruct usuario = sistemaRepository.Retorna_Usuario(_itbi.Fiscal_id); rd.SetParameterValue("ANONUMERO", _itbi.Isencao_numero.ToString("00000") + "/" + _itbi.Isencao_ano.ToString("0000")); rd.SetParameterValue("NATUREZA", _itbi.Natureza_Nome); rd.SetParameterValue("NOMEFISCAL", usuario.Nome_completo); rd.SetParameterValue("CARGO", assinatura.Cargo); string imovel = ""; foreach (Itbi_isencao_imovel item in _Lista) { imovel += item.Descricao + ", "; } imovel = imovel.Substring(0, imovel.Length - 2); rd.SetParameterValue("IMOVEL", imovel); try { rd.RecordSelectionFormula = "{itbi_isencao_main.guid}='" + c + "'"; Stream stream = rd.ExportToStream(ExportFormatType.PortableDocFormat); return(File(stream, "application/pdf", "Certidao_Isencao_Itbi_Valida.pdf")); } catch { throw; } }
public void RetornaSucessoQuandoAddAssinatura() { var subscription = new Assinatura(null); var pagamento = new PagamentoPayPal("123456", DateTime.Now, DateTime.Now.AddDays(5), 10, "Glauber", 10, _endereco, _email, _documento); subscription.AdcionarPagamento(pagamento); _estudante.AdcionarAssinatura(subscription); Assert.IsTrue(_estudante.Valid); }
public void DeveRetornarErroQuandoAssinaturaNaoTiverPagamento() { var subscription = new Assinatura(null); _student.AdicionaAssinatura(subscription); //Green(2) Assert.IsTrue(_student.Invalid); //Red (1) //Assert.Fail(); }
public IResultadoComando Manipula(ComandoCriarAssinaturaBoleto comando) { // Fail fast Validations comando.Validar(); if (comando.Invalid) { AddNotifications(comando); return(new ResultadoComando(false, "Não foi possivel realizar sua assinatura")); } // Verificar se o Documento já está cadastrado if (_repositorio.DocumentoExiste(comando.NumeroDoDocumento)) { AddNotification("Documento", "Este CPF já está em uso"); } // Verificar se E-mail já está cadastrado if (_repositorio.EmailExiste(comando.Email)) { AddNotification("Email", "Este E-mail já está em uso"); } // Gerar os VOs var name = new Nome(comando.PrimeiroNome, comando.Sobrenome); var document = new Documento(comando.NumeroDoDocumento, ETipoDocumento.CPF); var email = new Email(comando.Email); var address = new Endereco(comando.Rua, comando.Numero, null, null, comando.Bairro, comando.Cidade, comando.Estado); // Gerar as Entidades var student = new Estudante(name, document, email); var subscription = new Assinatura(null); var pagamento = new PagamentoBoleto(comando.CodigoDeBarras, comando.NossoNumero, new Email(comando.Email), comando.DataDePagamento, comando.DataDeExpiracao, comando.Total, comando.TotalPago, comando.Pagante, new Documento(comando.NumeroDoDocumento, ETipoDocumento.CPF), null); // Relacionamentos subscription.AdicionarPagamento(pagamento); student.AdicionaAssinatura(subscription); //Agrupar as Validações AddNotifications(name, document, email, address, student, subscription, pagamento); // Checar as notificações if (Invalid) { return(new ResultadoComando(false, "Não foi possível realizar sua assinatura")); } // Salvar as Informações _repositorio.CriarAssinatura(student); // Enviar E-mail de boas vindas _servicoDeEmail.Enviar(student.Nome.ToString(), student.Email.Endereco, "Bem vindo à Simasoft Holdings", "Seja bem vindo! Sua assinatura foi criada"); //Retornar informações return(new ResultadoComando(true, "Cadastro efetuado com sucesso!")); }
public List <IRLib.Assinaturas.Models.AssinaturasDesmembradas> BuscarRelatorio(int AssinaturaTipoID, int Temporadas, int Assinaturas) { try { Assinatura oAssinatura = new Assinatura(); var filtro = ""; if (Assinaturas > 0) { filtro = " AND a.ID = " + Assinaturas; } string sql = @"SELECT ad.Motivo,l.Codigo as Lugar, s.Nome as Setor,a.Nome as Assinatura, aa.Ano as Temporada,u.Nome as Usuario, c.Nome as ClienteAtual, cd.Nome as ClienteAntigo, ac.Desmembrada,ad.TimeStamp,ad.Motivo FROM tAssinaturaCliente ac (NOLOCK) INNER JOIN tLugar l (NOLOCK) ON l.ID = ac.LugarID INNER JOIN tSetor s (NOLOCK) ON s.ID = ac.SetorID INNER JOIN tAssinatura a (NOLOCK) ON a.ID = ac.AssinaturaID INNER JOIN tAssinaturaAno aa (NOLOCK) ON aa.ID = ac.AssinaturaAnoID INNER JOIN tCliente c (NOLOCK) ON c.ID = ac.ClienteID LEFT JOIN tAssinaturaDesmembramento ad (NOLOCK) ON ac.ID = ad.AssinaturaClienteID LEFT JOIN tUsuario u (NOLOCK) ON u.ID = ad.UsuarioID LEFT JOIN tCliente cd (NOLOCK) ON cd.ID = ad.AntigoClienteID Where ac.Desmembrada = 'T' AND aa.Ano = '" + Temporadas + "' AND a.AssinaturaTipoID = " + AssinaturaTipoID + filtro + " Order by c.Nome "; bd.Consulta(sql); var lstRetorno = new List <Models.AssinaturasDesmembradas>(); Models.AssinaturasDesmembradas eABaux = new Models.AssinaturasDesmembradas(); while (bd.Consulta().Read()) { eABaux = new Models.AssinaturasDesmembradas() { Antigo = bd.LerString("ClienteAntigo"), Atual = bd.LerString("ClienteAtual"), Data = bd.LerDateTime("TimeStamp"), Assento = bd.LerString("Lugar"), Motivo = bd.LerString("Motivo"), }; lstRetorno.Add(eABaux); } return(lstRetorno); } finally { bd.Fechar(); } }
public void TestMethod1() { //Obs Lembrando que class abstract nao pode ser "Estanciada" direto //No nosso caro a Entiti "Pagamento" esta declarada como "Abstract" essa declaração foi feita para corrigir um falha de negocio, // dessa forma vc fecha ela, forçando a pessoa a usar a regra ne negocio, os metodos que estao declarados na Entidade "Pagamento" // que sao as 3 formas de pagamento .. Boleto, Cartao e Paypal com seus respectivos juntamente com seus parametros //Exemplo -> var paypa = new Boleto("Parametros","..",..); var estudante = new Estudante("Alex", "Marafon", "123456", "*****@*****.**"); var assinatura = new Assinatura(null); estudante.AddAssinatura(assinatura); }
public ClienteVINDI SalvarCliente(Cliente cliente, Assinatura assinatura, CartaoCredito cartao) { var phones = new List <Phone>(); phones.Add(new Phone { phone_type = "mobile", number = "55" + cliente.Telefone, extension = "" }); var customer = new ClienteVINDI() { name = cliente.Nome, email = cliente.Email, registry_code = cliente.CPF, address = new Address { street = cliente.Logradouro, number = cliente.Numero, additional_details = cliente.Complemento, zipcode = cliente.CEP, state = cliente.Estado, city = cliente.Cidade, country = "BR", neighborhood = cliente.Bairro }, phones = phones }; var url = $"https://app.vindi.com.br:443/api/v1/customers"; var json = JsonConvert.SerializeObject(customer); var result = servicoApi.PostDataAuth <ClienteVINDIResponse>(url, json); if (result.Errors.Any()) { var errors = ""; foreach (var item in result.Errors) { errors = errors + item.id + " - " + item.message + " - " + item.parameter; AdicionarNotificacao(errors); } return(null); } clienteRepositorio.SalvarCliente(cliente, assinatura, cartao); return(result.Customer); }
public void DeveRetornarErroQuandoTiverAssinaturaAtiva() { var subscription = new Assinatura(null); var payment = new PagamentoPaypal(_email, "12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, "Wayne Industries ACME", _document, _address); subscription.AdicionarPagamento(payment); _student.AdicionaAssinatura(subscription); _student.AdicionaAssinatura(subscription); //Green(2) Assert.IsTrue(_student.Invalid); //Red (1) //Assert.Fail(); }
public async Task Throw_Exception_When_Try_Add_Two_ActiveSubscription() { var subscriptionService = serviceProvider.GetService <IAssinaturaService>(); var subscription = new Assinatura { ClienteId = Guid.Parse("EFFE408A-5312-4094-B8CA-6B005A307FAF"), Ativa = true, DataCriacao = DateTime.Now, DataExpiracao = DateTime.Now.AddDays(10), }; await Assert.ThrowsAsync <AssinaturaCoreException>(async() => await subscriptionService.IncluiAssinaturaAsync(subscription)); }
public async Task Add_Client_Subscription() { var subscriptionService = serviceProvider.GetService <IAssinaturaService>(); var subscription = new Assinatura { ClienteId = Guid.Parse("4781C571-C246-470B-9CD5-13D3D169E799"), Ativa = true, DataCriacao = DateTime.Now, DataExpiracao = DateTime.Now.AddDays(10), DataUltimaAtualizacao = null }; await subscriptionService.IncluiAssinaturaAsync(subscription); Assert.True(subscription.Id != Guid.Empty); }
public ClienteVINDI SalvarEmpresa(EmpresaSQL empresa, Assinatura assinatura, CartaoCredito cartao, List <Socio> socios, Competencia competencia) { var phones = new List <Phone>(); phones.Add(new Phone { phone_type = "landline", number = "55" + empresa.Telefone }); phones.Add(new Phone { phone_type = "mobile", number = "55" + empresa.Telefone2, }); var customer = new ClienteVINDI() { name = empresa.RazaoSocial, email = empresa.Email, registry_code = empresa.CNPJ, phones = phones }; var url = $"https://app.vindi.com.br:443/api/v1/customers"; var json = JsonConvert.SerializeObject(customer); var result = servicoApi.PostDataAuth <ClienteVINDIResponse>(url, json); if (result.Errors.Any()) { var errors = ""; foreach (var item in result.Errors) { errors = errors + item.id + " - " + item.message + " - " + item.parameter; AdicionarNotificacao(errors); } return(null); } clienteRepositorio.SalvarEmpresa(empresa, assinatura, cartao, socios, competencia); return(result.Customer); }
public ActionResult CriarAssinatura(LinkViewModel model) { int Id; if (int.TryParse(Util.Decrypt(model.Hash), out Id)) { var grupo = db.Grupo.Find(Id); var user = db.Users.Find(User.Identity.GetUserId <int>()); Assinatura a = new Assinatura() { Email = ConfigurationManager.AppSettings["PagSeguroEmail"], Token = ConfigurationManager.AppSettings["PagSeguroToken"], PreApprovalDetails = "Assinatura de R$ 40,00 cobrada mensalmente pelos serviços extras prestados pela plataforma TaskQuest", PreApprovalName = Util.CreateRandomString(), ReceiverEmail = ConfigurationManager.AppSettings["PagSeguroEmail"], Reference = Util.CreateRandomString(), SenderEmail = user.Email, SenderName = user.Nome + " " + user.Sobrenome, RedirectURL = "google.com", //RedirectURL = Request.Url.AbsoluteUri + Url.Action("PremiumAguardandoPagamento").Remove(0,1), ReviewURL = "google.com" //ReviewURL = Request.Url.AbsoluteUri + Url.Action("ReceberNotificacao").Remove(0,1), }; var data = a.CriarAssinatura(); if (data != null) { Pagamento pag = new Pagamento() { Code = data["code"], Grupo = grupo, Status = Status.Pendente }; db.Pagamento.Add(pag); db.SaveChanges(); return(View(new Tuple <string>(string.Format("https://pagseguro.uol.com.br/v2/pre-approvals/request.html?code={0}", data["code"])))); } } TempData["Alerta"] = "Algo deu errado"; TempData["Classe"] = "yellow-alert"; return(RedirectToAction("Inicio", "Home")); }
public void RetornarSucessoQuandoAdicionarAssinatura() { var assinatura = new Assinatura(null); var pagamento = new PagamentoPayPal( "123456", DateTime.Now, DateTime.Now.AddDays(5), 100, 100, "Lucian AF", _documento, _endereco, _email); assinatura.AdicionarPagamento(pagamento); _aluno.AdicionarAssinatura(assinatura); Assert.IsTrue(_aluno.Valid); }
public void DeveRetornarErroQuandoTiverUmaAssinaturaValida() { var nome = new Nome("Thiago", "Chagas"); var email = new Email("*****@*****.**"); var doc = new Documento("05492256769", Dominio.Enums.ETipoDocumento.CPF); var endereco = new Endereco("A", "21", "Niteroi", "23130110", "Fonseca", "Rio De Janeiro"); var estudante = new Estudante(nome, doc, email); var assinatura = new Assinatura(null); var pagamento = new PayPalPagamento("12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, "Thiago", doc, endereco, email); assinatura.InserirPagamento(pagamento); estudante.InserirAssinatura(assinatura); estudante.InserirAssinatura(assinatura); Assert.IsTrue(estudante.Invalid); }
public async Task IncluiAssinaturaAsync(Assinatura assinatura) { if (assinatura == null) { throw new ArgumentNullException(nameof(assinatura)); } var assinaturaParams = new DynamicParameters(); assinaturaParams.Add("ClienteId", assinatura.ClienteId, DbType.Guid); assinaturaParams.Add("Id", assinatura.Id, DbType.Guid); assinaturaParams.Add("Nome", assinatura.Nome, DbType.AnsiString); assinaturaParams.Add("DataCriacao", assinatura.DataCriacao, DbType.DateTime); assinaturaParams.Add("DataUltimaAtualizacao", assinatura.DataUltimaAtualizacao, DbType.DateTime); assinaturaParams.Add("DataExpiracao", assinatura.DataExpiracao, DbType.DateTime); assinaturaParams.Add("Ativa", assinatura.Ativa, DbType.Byte); var queryAssinatura = @"INSERT INTO Assinatura (Id, ClienteId, Nome, DataCriacao, DataUltimaAtualizacao, DataExpiracao, Ativa) VALUES (@Id, @ClienteId, @Nome, @DataCriacao, @DataUltimaAtualizacao, @DataExpiracao, @Ativa)"; await dbConnection.ExecuteAsync(queryAssinatura, assinaturaParams); }