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." }); }