Esempio n. 1
0
        public async Task <IActionResult> Store([FromForm] CandidatoNewDto candidatoNewDto)
        {
            var candidate = await repo.GetCandidatoByDigito(candidatoNewDto.Digito);

            if (candidate != null)
            {
                return(BadRequest(new { message = "Já existe um candidato com este dígito!" }));
            }
            if (candidatoNewDto.FotoCandidato == null)
            {
                return(BadRequest(new { message = "Candidato não pode ficar sem foto! Favor inserir" }));
            }
            if (candidatoNewDto.TipoCandidato == 1 && candidatoNewDto.FotoVice == null)
            {
                return(BadRequest(new { message = "Vice não pode ficar sem foto! Favor inserir" }));
            }

            await repo.AddCandidato(candidatoNewDto);

            if (await uof.Commit())
            {
                var webRootPath       = environment.WebRootPath;
                var filenameCandidate = $"{candidatoNewDto.Digito}_";

                if (candidatoNewDto.TipoCandidato == 1)
                {
                    var filenameVice = $"{candidatoNewDto.Digito}_vice_";
                    await Utils.SaveFile(candidatoNewDto.FotoVice, filenameVice, webRootPath);
                }

                await Utils.SaveFile(candidatoNewDto.FotoCandidato, filenameCandidate, webRootPath);

                return(Ok(new { message = "Candidato salvo com sucesso." }));
            }

            return(StatusCode(500, new { message = "Ocorreu um erro interno no servidor!" }));
        }
        public Candidato AddCandidato(Candidato candidato)
        {
            var candidatoBd = _candidatoRepository.AddCandidato(candidato);

            return(candidatoBd);
        }