예제 #1
0
        public ListResponse Incluir(Oportunidade oportunidade)
        {
            var listResponse = new List <string>();

            if (oportunidade.Titulo == "")
            {
                listResponse.Add("Título não preenchido");
            }

            if (oportunidade.Empresa == "")
            {
                listResponse.Add("Empresa não preenchida");
            }

            if (oportunidade.EstadoId == 0)
            {
                listResponse.Add("Estado não preenchido");
            }

            if (oportunidade.CidadeId == 0)
            {
                listResponse.Add("Cidade não preenchida");
            }

            if (oportunidade.Regime == "")
            {
                listResponse.Add("Regime de contratação não preenchido");
            }

            if (oportunidade.Posicao == "")
            {
                listResponse.Add("Posição não preenchida");
            }

            if (oportunidade.JobDescription == "")
            {
                listResponse.Add("Job description não preenchido");
            }

            if (listResponse.Count > 0)
            {
                return new ListResponse()
                       {
                           Mensagem   = "Bad Request",
                           StatusCode = StatusCodes.Status400BadRequest,
                           Erros      = listResponse
                       }
            }
            ;

            oportunidade.DataHoraCriacao = DateTime.Now;
            oportunidade.Id = _oportunidadeRepository.Incluir(oportunidade);

            return(new ListResponse()
            {
                StatusCode = StatusCodes.Status201Created, Mensagem = "Oportunidade incluida com sucesso."
            });
        }
        public ListResponse Salvar(Oportunidade oportunidade)
        {
            var listResponse = new List <string>();

            //Validando os níveis da oportunidade
            var nivel = oportunidade.Niveis.Find(n => n.Id != "JR" && n.Id != "PL" && n.Id != "SR");

            if (nivel != null)
            {
                listResponse.Add($"Nível '{nivel.Id}' não encontrado.");
            }

            if (listResponse.Count > 0)
            {
                return new ListResponse()
                       {
                           Mensagem   = "Not found",
                           StatusCode = StatusCodes.Status404NotFound,
                           Erros      = listResponse
                       }
            }
            ;

            if (oportunidade.Titulo == "")
            {
                listResponse.Add($"Título não preenchido.");
            }

            if (oportunidade.Empresa == "")
            {
                listResponse.Add($"Empresa não preenchida.");
            }

            if (oportunidade.EstadoId == 0)
            {
                listResponse.Add($"Estado não preenchido.");
            }

            if (oportunidade.CidadeId == 0)
            {
                listResponse.Add($"Cidade não preenchida.");
            }

            if (oportunidade.Regime == "")
            {
                listResponse.Add($"Regime de contratação não preenchido.");
            }

            if (oportunidade.Regime.Length != 2)
            {
                listResponse.Add($"Regime de contratação deve conter dois caracteres.");
            }

            if (oportunidade.Posicao == "")
            {
                listResponse.Add($"Posição não preenchida.");
            }

            if (oportunidade.Posicao.Length != 2)
            {
                listResponse.Add($"Posição deve conter dois caracteres.");
            }

            if (oportunidade.JobDescription == "")
            {
                listResponse.Add($"Job description não preenchido.");
            }

            if (oportunidade.Niveis.Count > 2)
            {
                listResponse.Add($"Apenas dois níveis são permitidos.");
            }

            if (listResponse.Count > 0)
            {
                return new ListResponse()
                       {
                           Mensagem   = "Bad request",
                           StatusCode = StatusCodes.Status400BadRequest,
                           Erros      = listResponse
                       }
            }
            ;

            if (oportunidade.DataHoraCriacao == null)
            {
                oportunidade.DataHoraCriacao = DateTime.Now;
            }


            if (oportunidade.Id == 0)
            {
                oportunidade.Id = _oportunidadeRepository.Incluir(oportunidade);
            }
            else
            {
                _oportunidadeRepository.Alterar(oportunidade);
            }

            //Deletando os níveis da oportunidade
            _oportunidadeNivelRepository.DeletarByOportunidade(oportunidade.Id);

            //Inserindo os novos níveis
            oportunidade.Niveis.ForEach(n => {
                _oportunidadeNivelRepository.Incluir(new OportunidadeNivel()
                {
                    OportunidadeId = oportunidade.Id,
                    NivelId        = n.Id
                });
            });

            return(new ListResponse()
            {
                StatusCode = StatusCodes.Status201Created, Mensagem = "Oportunidade salva com sucesso."
            });
        }