예제 #1
0
        public void Remove(ContatoTelefone entidade)
        {
            var sb = new System.Text.StringBuilder();

            sb.AppendLine(@"update [AgendaTelefonica].[dbo].[ContatoTelefone] set  DtExcluido = getdate() where IdContatoTelefone = @IdContatoTelefone");

            connection.Execute(sb.ToString(), param: new { IdContatoTelefone = entidade.IdContatoTelefone }, transaction: transaction);
        }
예제 #2
0
 public void Add(ContatoTelefone entidade)
 {
     connection.Insert(entidade, transaction);
 }
예제 #3
0
        public Task Handle(RegistrarNovoContatoCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.CompletedTask);
            }

            #region Contato
            var contato = new Contato(request.Nome);
            contatoRepositorio.Add(contato);
            #endregion

            #region Contato E-mail
            if (request._contatoEmailValidationResults.Any(x => x.IsValid))
            {
                List <ContatoEmail> contatoEmails = new List <ContatoEmail>();
                foreach (var email in request.Emails)
                {
                    var contatoEmail = new ContatoEmail(email, contato.IdContato);
                    contatoEmailRespositorio.Add(contatoEmail);
                    contatoEmails.Add(contatoEmail);
                }
                contato.ContatoEmails = contatoEmails;
            }
            #endregion

            #region Contato Telefone
            if (request._contatoTelefoneValidationResults.Any(x => x.IsValid))
            {
                List <ContatoTelefone> contatoTelefones = new List <ContatoTelefone>();
                foreach (var telefone in request.Telefones)
                {
                    var contatoTelefone = new ContatoTelefone(telefone, contato.IdContato);
                    contatoTelefoneRespositorio.Add(contatoTelefone);
                    contatoTelefones.Add(contatoTelefone);
                }
                contato.ContatoTelefones = contatoTelefones;
            }
            #endregion

            if (Commit())
            {
                _bus.RaiseEvent(new RegistradoContatoEvent(contato.IdContato, request.Nome, contato.DtCadastro, null));

                if (request._contatoEmailValidationResults.Any(x => x.IsValid))
                {
                    foreach (var contatoEmail in contato.ContatoEmails)
                    {
                        _bus.RaiseEvent(new RegistradoContatoEmailEvent(
                                            contatoEmail.IdContatoEmail,
                                            contatoEmail.IdContato,
                                            contatoEmail.Email,
                                            contatoEmail.DtCadastro,
                                            contato.DtCadastro));
                    }
                }


                if (request._contatoTelefoneValidationResults.Any(x => x.IsValid))
                {
                    foreach (var contatoTelefone in contato.ContatoTelefones)
                    {
                        _bus.RaiseEvent(new RegistradoContatoTelefoneEvent(
                                            contatoTelefone.IdContatoTelefone
                                            , contatoTelefone.IdContato
                                            , contatoTelefone.Telefone
                                            , contatoTelefone.DtCadastro
                                            , contatoTelefone.DtExcluido));
                    }
                }
            }

            return(Task.CompletedTask);
        }