예제 #1
0
        public IActionResult Inserir([FromBody] ContatoDTO contatoDTO)
        {
            ContatoValidation validation       = new ContatoValidation();
            ValidationResult  validationResult = validation.Validate(contatoDTO);

            if (!validationResult.IsValid)
            {
                return(ResponseValidationResult(validationResult));
            }

            try
            {
                Guid id = _contatoService.Inserir(contatoDTO);

                var data = new
                {
                    result = new
                    {
                        id      = id,
                        nome    = contatoDTO.Nome,
                        celular = contatoDTO.Celular,
                        email   = contatoDTO.Email
                    }
                };

                return(Created(new Uri($"{Request.Path}/{contatoDTO.Id}", UriKind.Relative), new { success = true, data = data }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { success = false, errors = new KeyValuePair <string, string>("BadRequest", $"Erro ao executar o método Inserir: {ex.Message}") }));
            }
        }
예제 #2
0
        public async Task <string> EnviaEmail([FromBody] ContatoDTO contato, [FromServices] AuthMessageSenderOptionsDTO sendgridConfigDTO)
        {
            if (!(contato.Nome.Equals(string.Empty) &&
                  contato.Assunto.Equals(string.Empty) &&
                  contato.Email.Equals(string.Empty) &&
                  contato.Mensagem.Equals(string.Empty)))
            {
                var client = new SendGridClient(sendgridConfigDTO.SendGridKey);

                var recipients = new List <EmailAddress>
                {
                    new EmailAddress("*****@*****.**", "Marcel Ogando"),
                    new EmailAddress("*****@*****.**", "Lucas Simões"),
                    new EmailAddress("*****@*****.**", "Willian Chan"),
                    new EmailAddress("*****@*****.**", "Anna Flávia"),
                    new EmailAddress("*****@*****.**", "Larissa Ferreira"),
                };


                bool         displayRecipients = false;
                EmailAddress emailCliente      = new EmailAddress()
                {
                    Email = contato.Email,
                    Name  = contato.Nome
                };
                var msgPronta = MailHelper.CreateSingleEmailToMultipleRecipients(emailCliente, recipients, contato.Assunto, contato.Mensagem, "", displayRecipients);
                var response  = await client.SendEmailAsync(msgPronta);

                return("Mensagem enviada! Entraremos em contato pelo email informado assim que possível :)");
            }
            else
            {
                return("Algo deu errado no envio da mensagem, por favor revise os campos de mensagem e tente novamente :(");
            }
        }
예제 #3
0
        public IList <ContatoDTO> Listar()
        {
            List <ContatoDTO> contatos = new List <ContatoDTO>();

            var objetos = _contatoRepository.Listar();

            if (objetos != null)
            {
                foreach (var item in objetos)
                {
                    var contato = new ContatoDTO()
                    {
                        Id      = item.Id,
                        Nome    = item.Nome,
                        Celular = item.Celular,
                        Email   = item.Email
                    };

                    contatos.Add(contato);
                }

                return(contatos);
            }

            return(null);
        }
예제 #4
0
        public IActionResult Alterar([FromBody] ContatoDTO contatoDTO)
        {
            ContatoValidation validation       = new ContatoValidation();
            ValidationResult  validationResult = validation.Validate(contatoDTO);

            if (!validationResult.IsValid)
            {
                return(ResponseValidationResult(validationResult));
            }

            try
            {
                _contatoService.Alterar(contatoDTO);

                var data = new
                {
                    result = new
                    {
                        id      = contatoDTO.Id,
                        nome    = contatoDTO.Nome,
                        celular = contatoDTO.Celular,
                        email   = contatoDTO.Email
                    }
                };

                return(Ok(new { success = true, data = data }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { success = false, errors = new KeyValuePair <string, string>("BadRequest", $"Erro ao executar o método Alterar: {ex.Message}") }));
            }
        }
예제 #5
0
        public JsonResult Edit(FormCollection collection)
        {
            var contatoId   = collection["ContatoId"].ToString();
            var pessoaId    = collection["PessoaId"].ToString();
            var nome        = collection["Nome"].ToString();
            var tipoContato = collection["TipoContato"].ToString();
            var tipo        = collection["Tipo"].ToString();
            var agrupador   = collection["Agrupador"].ToString();

            var contato = new ContatoDTO
            {
                ContatoId   = int.Parse(contatoId),
                PessoaId    = int.Parse(pessoaId),
                Nome        = nome,
                TipoContato = (TipoContato)int.Parse(tipoContato),
                Agrupador   = (Agrupador)int.Parse(agrupador),
                Tipo        = tipo
            };

            try
            {
                _contato.Editar(contato);
            }
            catch (Exception ex)
            {
                return(Alerta.CriaMensagemErro(ex));
            }
            return(Alerta.CriaMensagemSucesso("Sucesso ao editar contato."));
        }
예제 #6
0
        private void Validar(ContatoDTO pessoa)
        {
            if (string.IsNullOrEmpty(pessoa.Nome))
            {
                throw new Exception("O nome não pode ser nulo");
            }

            var reg = new Regex(@"^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$");

            if (pessoa.TipoContato == Util.TipoContato.Email)
            {
                if (reg.IsMatch(pessoa.Tipo))
                {
                    throw new Exception("O email informado e inválido");
                }
            }

            reg = new Regex("^[1-9]{2}\\-[2-9][0-9]{7,8}$");
            if (pessoa.TipoContato == Util.TipoContato.Celular)
            {
                if (reg.IsMatch(pessoa.Tipo))
                {
                    throw new Exception("O celular informado e invalido");
                }
            }
        }
예제 #7
0
파일: ContatoDAL.cs 프로젝트: br2kdev/Somar
        public int InsertData(ContatoDTO objectDTO)
        {
            RepList <ContatoDTO> listProjeto = new RepList <ContatoDTO>();
            RepGen <ContatoDTO>  sqlCommand  = new RepGen <ContatoDTO>();

            string query = "INSERT INTO TB_Contatos VALUES (";
            var    param = new DynamicParameters();

            param.Add("@idPai", objectDTO.idPai, DbType.Int32);
            param.Add("@idMae", objectDTO.idMae, DbType.Int32);
            param.Add("@telefone1", objectDTO.telefone1, DbType.String);
            param.Add("@contato1", objectDTO.contato1, DbType.String);
            param.Add("@telefone2", objectDTO.telefone2, DbType.String);
            param.Add("@contato2", objectDTO.contato2, DbType.String);
            param.Add("@telefone3", objectDTO.telefone3, DbType.String);
            param.Add("@contato3", objectDTO.contato3, DbType.String);

            foreach (var item in param.ParameterNames)
            {
                query += "@" + item + ",";
            }

            query = query.Remove(query.Length - 1) + ")";

            query += "; SELECT CAST(scope_identity() AS int)";

            var result = sqlCommand.ExecuteSQLCommand(query, param);

            return(result);
        }
예제 #8
0
파일: ContatoDAL.cs 프로젝트: br2kdev/Somar
        public int UpdateData(ContatoDTO objectDTO)
        {
            RepList <ContatoDTO> listEndereco = new RepList <ContatoDTO>();
            RepGen <ContatoDTO>  sqlCommand   = new RepGen <ContatoDTO>();

            string query = "UPDATE TB_Contatos SET ";

            string where = string.Empty;

            var param = new DynamicParameters();

            param.Add("@idPai", objectDTO.idPai, DbType.Int32);
            param.Add("@idMae", objectDTO.idMae, DbType.Int32);
            param.Add("@telefone1", objectDTO.telefone1, DbType.String);
            param.Add("@contato1", objectDTO.contato1, DbType.String);
            param.Add("@telefone2", objectDTO.telefone2, DbType.String);
            param.Add("@contato2", objectDTO.contato2, DbType.String);
            param.Add("@telefone3", objectDTO.telefone3, DbType.String);
            param.Add("@contato3", objectDTO.contato3, DbType.String);

            foreach (var item in param.ParameterNames)
            {
                query += " " + item + " = @" + item + ",";
            }

            query = query.Remove(query.Length - 1);

            where += " WHERE idContato = " + objectDTO.idContato.ToString();
            query += where;

            var result = sqlCommand.ExecuteSQL(query, param);

            return(result);
        }
예제 #9
0
        public static EscolaDTO Map(Escola escola)
        {
            if (escola is null)
            {
                return(null);
            }

            var contato = new ContatoDTO(escola.Contato.Telefone, escola.Contato.Email, escola.Contato.Site);

            var tipoLocalizacao = new TipoLocalizacaoDTO(escola.Endereco.TipoLocalizacaoId,
                                                         Enumeration.FromValue <TipoLocalizacao>(escola.Endereco.TipoLocalizacaoId).Descricao);

            var endereco = new EnderecoDTO(escola.Endereco.Logradouro,
                                           escola.Endereco.Numero,
                                           escola.Endereco.Complemento,
                                           escola.Endereco.Bairro,
                                           escola.Endereco.Cep,
                                           tipoLocalizacao);

            var turmas = escola.Turmas?.Select(t =>
            {
                var tipoTurno = new TipoTurnoDTO(t.TipoTurnoId,
                                                 Enumeration.FromValue <TipoTurno>(t.TipoTurnoId).Descricao);

                return(new TurmaDTO(t.Id, t.Codigo, tipoTurno, t.QuantidadeAlunos));
            });

            return(new EscolaDTO(escola.Id,
                                 escola.Nome,
                                 escola.Codigo,
                                 contato,
                                 endereco,
                                 turmas));
        }
예제 #10
0
        public void CarregaContatos(ContatoDTO item)
        {
            if (item != null)
            {
                CarregarResponsavel(new PessoaDTO()
                {
                    idPessoa = item.idPai, nomePessoa = item.nomePai
                }, item.idPai, "M");
                CarregarResponsavel(new PessoaDTO()
                {
                    idPessoa = item.idMae, nomePessoa = item.nomeMae
                }, item.idMae, "F");

                txtTelefone1.Text    = item.telefone1;
                txtTelefone2.Text    = item.telefone2;
                txtTelefone3.Text    = item.telefone3;
                txtNomeContato1.Text = item.contato1;
                txtNomeContato2.Text = item.contato2;
                txtNomeContato3.Text = item.contato3;
            }
            else
            {
                txtIdContato.Text = string.Empty;
                LimpaContatos();
            }
        }
예제 #11
0
 public Contato(ContatoDTO dto)
 {
     Id       = dto.Id;
     Telefone = dto.Telefone;
     Celular  = dto.Celular;
     PessoaId = dto.Pessoa.Id;
     Pessoa   = new Pessoa(dto.Pessoa);
 }
예제 #12
0
        public async Task <IActionResult> CriarContato([FromBody] ContatoDTO dto)
        {
            Contato contato = new Contato(dto.Nome, dto.Numero, dto.Email);
            await _repository.AdicionarContato(contato);

            await _uow.SaveChangesAsync();

            return(Ok());
        }
예제 #13
0
        public async Task <IActionResult> EditarContato([FromRoute] int id, [FromBody] ContatoDTO dto)
        {
            Contato contato = new Contato(id, dto.Nome, dto.Numero, dto.Email);
            await _repository.EditarContato(contato);

            await _uow.SaveChangesAsync();

            return(Ok());
        }
예제 #14
0
 public void Update(ContatoDTO obj)
 {
     _contatoService.Update(new Contato
     {
         Id             = obj.Id,
         Nome           = obj.Nome,
         DataNascimento = obj.DataNascimento,
         Idade          = obj.Idade
     });
 }
예제 #15
0
        public ActionResult Put([FromBody] ContatoDTO contato)
        {
            var ContatoNovo = _mapper.Map <Contato>(contato);

            ContatoNovo.Idade = _RetornaIdade.Idade(contato.DataNascimento);

            _contexto.Entry(ContatoNovo).State = EntityState.Modified;
            _contexto.SaveChanges();

            return(new CreatedAtRouteResult($"/{ContatoNovo.Id}", ContatoNovo));
        }
예제 #16
0
        public ActionResult Alterar([FromBody] ContatoDTO contatoDTO)
        {
            if (!ModelState.IsValid)
            {
                return(NotFound());
            }

            applicationServiceContato.Alterar(contatoDTO);

            return(Ok("Contato Alterado com sucesso!"));
        }
예제 #17
0
        public Guid Inserir(ContatoDTO objeto)
        {
            var contato = new Contato()
            {
                Id      = new Guid(),
                Nome    = objeto.Nome,
                Celular = objeto.Celular,
                Email   = objeto.Email
            };

            return(_contatoRepository.Inserir(contato));
        }
예제 #18
0
        public ActionResult Post([FromBody] ContatoDTO contato)
        {
            var ContatoNovo = _mapper.Map <Contato>(contato);

            ContatoNovo.Idade = _RetornaIdade.Idade(contato.DataNascimento);
            ContatoNovo.Id    = 0;

            _contexto.Contato.Add(ContatoNovo);
            _contexto.SaveChanges();

            return(new CreatedAtRouteResult($"/{ContatoNovo.Id}", ContatoNovo));
        }
예제 #19
0
        internal void Armazenar(ContatoDTO ContatoDTO)
        {
            var Contato = new Contato
            {
                Nome           = ContatoDTO.Nome,
                Id             = ContatoDTO.Id,
                DataNascimento = ContatoDTO.DataNascimento,
                Idade          = 0
            };

            _ContatoRepositorio.Adicionar(Contato);
        }
예제 #20
0
        public void Verifica_Cadastro_Contato_MaiorDeIdade()
        {
            // Arrange
            ContatoDTO contatoDeMenor = new ContatoDTO
            {
                Nome           = "Teste",
                DataNascimento = new DateTime(2010, 1, 1),
                Sexo           = Sexo.Masculino
            };

            // Act  // Assert
            contatoDeMenor.Idade.Should().BeGreaterOrEqualTo(18);
        }
예제 #21
0
        public ActionResult <string> Get(int id)
        {
            ContatoDTO contato = _contatoService.GetById(id);

            if (contato != null)
            {
                return(Ok(contato));
            }
            else
            {
                return(NotFound());
            }
        }
예제 #22
0
        public void Alterar(ContatoDTO objeto)
        {
            var contato = new Contato()
            {
                Id            = objeto.Id,
                Nome          = objeto.Nome,
                Celular       = objeto.Celular,
                Email         = objeto.Email,
                DataAlteracao = DateTime.Now
            };

            _contatoRepository.Alterar(contato);
        }
예제 #23
0
        public IActionResult EditarContato(int id)
        {
            ViewBag.Categorias = database.Categorias.ToList();
            var        contato     = database.Contatos.Include(c => c.Categoria).First(con => con.Id == id);
            ContatoDTO contatoView = new ContatoDTO();

            contatoView.Id          = contato.Id;
            contatoView.Nome        = contato.Nome;
            contatoView.CategoriaID = contato.Categoria.Id;
            contatoView.Email       = contato.Email;
            contatoView.Telefone    = contato.Telefone;
            return(View(contatoView));
        }
예제 #24
0
        public IActionResult Deletar(int id)
        {
            ViewBag.Categorias = database.Categorias.ToList();
            var        contato     = database.Contatos.First(con => con.Id == id);
            ContatoDTO contatoView = new ContatoDTO();

            contatoView.Id       = contato.Id;
            contatoView.Nome     = contato.Nome;
            contatoView.Email    = contato.Email;
            contatoView.Telefone = contato.Telefone;
            database.Contatos.Remove(contato);
            database.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public async Task Cadastro_Contato_MenorIdade_ReturnsError()
        {
            // Arrange
            ContatoDTO contatoDeMenor = new ContatoDTO
            {
                Nome           = "Teste",
                DataNascimento = new DateTime(2000, 1, 1),
                Sexo           = Sexo.Masculino
            };

            // Act
            var response = await TestClient.PostAsJsonAsync("api/v1/Contato", contatoDeMenor);

            // Assert
            response.StatusCode.Should().Be(HttpStatusCode.BadRequest);
        }
예제 #26
0
 public ContatoDTO buscarPorId(ContatoDTO contato)
 {
     try
     {
         iniciarTrasancao();
         contato = (ContatoDTO)Sessao.Load(typeof(ContatoDTO), contato.Codigo);
         return contato;
     }
     catch (Exception ex)
     {
         throw new ExcessaoPersistencia("Erro ao buscar Contato.");
     }
     finally
     {
         fecharTransacao();
     }
 }
예제 #27
0
 public void Add(ContatoDTO obj)
 {
     if (obj.Idade > 18)
     {
         _contatoService.Add(new Contato
         {
             Nome           = obj.Nome,
             DataNascimento = obj.DataNascimento,
             Sexo           = obj.Sexo,
             Idade          = obj.Idade
         });
     }
     else
     {
         throw new Exception("Proibido cadastro para menor de idade");
     }
 }
예제 #28
0
 public void excluir(ContatoDTO contato)
 {
     try
     {
         iniciarTrasancao();
         Sessao.Delete(contato);
         commit();
     }
     catch (Exception ex)
     {
         rollBack();
         throw new ExcessaoPersistencia("Erro ao excluir Contato.");
     }
     finally
     {
         fecharTransacao();
     }
 }
예제 #29
0
        public async Task <IActionResult> EnviarMensagem([FromForm] ContatoDTO contatoDto)
        {
            if (!await GoogleRecaptcha.IsReCaptchaPassedAsync(Request.Form["g-recaptcha-response"], _config["GoogleReCaptcha:SecretKey"]))
            {
                return(BadRequest(new { error = "Captcha inválido" }));
            }

            var contato = Mapper.Map <Contato>(contatoDto);

            bool enviouEmail = _emailSender.EnviarEmail(contato.Nome, contato.Email, contato.Mensagem);

            if (enviouEmail)
            {
                return(Ok(contatoDto));
            }

            return(BadRequest(new { error = "Falha ao enviar email" }));
        }
예제 #30
0
        public ActionResult Delete([FromBody] ContatoDTO contatoDTO)
        {
            try
            {
                if (contatoDTO == null)
                {
                    return(NotFound());
                }

                _contatoService.Remove(contatoDTO);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #31
0
        public async Task <IActionResult> CadastrarContato([FromBody] ContatoDTO contatoDTO)
        {
            if (!contatoDTO.isValid())
            {
                return(BadRequest("Faltam dados. Favor preencha e tente novamente mais tarde."));
            }

            var contato = _mapper.Map <Contato>(contatoDTO);

            var number = await _icontatoRepositorio.Incluir(contato);

            if (number != 0)
            {
                return(Ok("Cadastro realizado com sucesso"));
            }

            return(BadRequest("Não foi possível realizar o cadastro. Favor tente novamente"));
        }
예제 #32
0
        public ActionResult Post([FromBody] ContatoDTO contato)
        {
            try
            {
                if (contato == null)
                {
                    return(NotFound());
                }

                _contatoService.AddContato(contato);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
예제 #33
0
        private void btIncluir_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                ContatoDTO detalheDTO = new ContatoDTO();
                detalheDTO.IdPessoa = ((PessoaViewModel)DataContext).PessoaSelected.Id;

                ((PessoaViewModel)DataContext).ContatoSelected = detalheDTO;
                Contato viewDetalhe = new Contato();
                viewDetalhe.btSair.Click += new RoutedEventHandler(btSair_Click);
                viewDetalhe.btGravar.Click += new RoutedEventHandler(btGravar_Click);
                tabDetalhe.Content = viewDetalhe;
                tabDetalhe.IsSelected = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Alerta do sistema");
            }
        }