コード例 #1
0
        public ActionResult CadastrarCrime(CrimeCadastrado crimeCadastrado, string nomeVitima, string dataNascimentoVitima, string emailVitima, string sexoVitima)
        {
            try
            {
                Vitima vitima = new Vitima();
                vitima.Nome            = nomeVitima;
                vitima.Email           = emailVitima;
                vitima.DataNascimento  = Convert.ToDateTime(dataNascimentoVitima);
                vitima.Sexo            = sexoVitima;
                crimeCadastrado.Vitima = vitima;

                if (ModelState.IsValid)
                {
                    crimeCadastradoRepository.Adicionar(crimeCadastrado);
                    crimeCadastradoRepository.Salvar();

                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Algo deu errado ao tentar realizar o cadastro. Detalhes: " + ex);
            }


            return(View(crimeCadastrado));
        }
コード例 #2
0
        public Task <int> Handle(UpdateVitimaCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.FromResult(0));
            }

            var procedimento = _procedimentoRepository.GetById(request.ProcedimentoId);

            if (procedimento == null)
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Procedimento não foi encontrado."));
                return(Task.FromResult(0));
            }

            Municipio municipio = null;

            if (request.MunicipioId.HasValue)
            {
                municipio = _municipioRepository.GetById(request.MunicipioId.Value);

                if (request.MunicipioId > 0 && municipio == null)
                {
                    Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Município não foi encontrado."));
                    return(Task.FromResult(0));
                }
            }

            var vitima         = new Vitima(request.Id, request.Email, procedimento, request.Nome, request.NomePai, request.NomeMae, request.DataNascimento, request.Telefone, municipio);
            var existingVitima = _vitimaRepository.GetAsNoTracking(x => x.Nome.Contains(request.Nome) &&
                                                                   x.ProcedimentoId == request.ProcedimentoId &&
                                                                   x.Id != request.Id);

            if (existingVitima != null)
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "A Vítima já está sendo usada."));
                return(Task.FromResult(0));
            }

            _vitimaRepository.Update(vitima);

            if (Commit())
            {
                //TO DO
            }

            return(Task.FromResult(vitima.Id));
        }
コード例 #3
0
        public IActionResult Delete(int id)
        {
            try
            {
                Vitima vit = database.vitimas.First(v => v.Id == id);
                vit.Status = false;
                database.SaveChanges();

                return(Ok());
            }
            catch (Exception)
            {
                Response.StatusCode = 404;
                return(new ObjectResult(new { msg = "Id de vitima é inválido" }));
            }
        }
コード例 #4
0
ファイル: VitimaCommandHandler.cs プロジェクト: haipk/app_pc
        public Task <int> Handle(RegisterNewVitimaCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.FromResult(0));
            }

            var procedimento = _procedimentoRepository.GetById(request.ProcedimentoId);

            if (procedimento == null)
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Procedimento não foi encontrado."));
                return(Task.FromResult(0));
            }

            var municipio = _municipioRepository.GetById(request.MunicipioId);

            if (request.MunicipioId > 0 && municipio == null)
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Município não foi encontrado."));
                return(Task.FromResult(0));
            }

            if (_vitimaRepository.Exists(request.Nome, request.ProcedimentoId))
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "A Vítima já está sendo usada."));
                return(Task.FromResult(0));
            }

            var vitima = new Vitima(request.Email, procedimento, request.Nome, request.NomePai, request.NomeMae, request.DataNascimento, request.Idade, request.Telefone, municipio);

            _vitimaRepository.Add(vitima);

            if (Commit())
            {
                //TO DO
            }

            return(Task.FromResult(vitima.Id));
        }
コード例 #5
0
        public IActionResult Post([FromBody] VitimaDTO vitimaTemp)
        {
            try
            {
                if (vitimaTemp.Nome.Length <= 1)
                {
                    Response.StatusCode = 400;
                    return(new ObjectResult(new { msg = "O nome do criminoso deve ter mais de um caracter" }));
                }
                if (vitimaTemp.CPF.Length != 11)
                {
                    Response.StatusCode = 400;
                    return(new ObjectResult(new { msg = "O CPF deve ter 11 digitos" }));
                }
                if (vitimaTemp.Idade <= 0)
                {
                    Response.StatusCode = 400;
                    return(new ObjectResult(new { msg = "A idade deve ser maior do que 0 (zero)" }));
                }

                Vitima vitima = new Vitima();

                vitima.Nome   = vitimaTemp.Nome;
                vitima.CPF    = vitimaTemp.CPF;
                vitima.Idade  = vitimaTemp.Idade;
                vitima.Status = true;

                database.vitimas.Add(vitima);
                database.SaveChanges();

                Response.StatusCode = 201;
                return(new ObjectResult(""));
            }
            catch (Exception)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new { msg = "Todos campos devem ser passados" }));
            }
        }