public IActionResult Consultar(string inscricao)
        {
            inscricao = inscricao.Replace(".", "").Replace("-", "").Replace(" ", "").Replace("/", "");

            var urlQrCode = $"http://api.qrserver.com/v1/create-qr-code/?data={inscricao}&size=695x695";

            using (var db = new GuardaDigitalContext())
            {
                var user = db.AspNetUsers.FirstOrDefault(p => p.Inscricao == inscricao);

                if (user != null)
                {
                    return(Ok(new
                    {
                        Nome = user.UserName,
                        Inscricao = user.Inscricao,
                        Latitude = user.Latitude,
                        Longitude = user.Longitude,
                        LocalAtuacao = user.LocalAtuacao,
                        Foto = user.Foto,
                        ValidadeLicenca = user.ValidadeLicenca
                    }));
                }

                return(NotFound());
            }
        }
Пример #2
0
        public IActionResult List(int ocorrencia, int tipoOcorrencia, string inicio, string fim)
        {
            DateTime dataInicio = DateTime.MinValue;
            DateTime dataFim    = DateTime.MinValue;

            DateTime.TryParse(inicio, out dataInicio);
            DateTime.TryParse(fim, out dataFim);

            using (var db = new GuardaDigitalContext())
            {
                IQueryable <RelatorioGeoOcorrencias> query = db.RelatorioGeoOcorrencias.Where(p => p.Latitude.HasValue && p.Latitude != 0 && p.Longitude.HasValue && p.Longitude != 0);

                if (ocorrencia != 0)
                {
                    query = query.Where(p => p.IdOcorrencia == ocorrencia);
                }

                if (tipoOcorrencia != 0)
                {
                    query = query.Where(p => p.IdTipoOcorrencia == tipoOcorrencia);
                }

                if (dataInicio != DateTime.MinValue)
                {
                    query = query.Where(p => p.Inicio >= dataInicio);
                }

                if (dataFim != DateTime.MinValue)
                {
                    query = query.Where(p => p.Fim.HasValue && p.Fim.Value <= dataFim);
                }

                return(Ok(query.ToList()));
            }
        }
Пример #3
0
        private static void RegistrarSolicitacao(RegistroOcorrenciaModel item, GuardaDigitalContext db)
        {
            db.RegistroOcorrencia.Add(item.Registro);
            db.SaveChanges();

            foreach (var matricula in item.Matriculas)
            {
                var matriculaTratada = matricula.Replace(".", "").Replace("/", "").Replace("-", "").Replace(" ", "");
                var guarda           = db.AspNetUsers.FirstOrDefault(p => p.Matricula == matriculaTratada);

                var relacionamento = new GuardaRo()
                {
                    GuardaId = guarda.Id,
                    IdRo     = item.Registro.Id
                };

                db.GuardaRO.Add(relacionamento);
            }

            foreach (var envolvido in item.Envolvidos)
            {
                envolvido.IdRegistroOcorrencia = item.Registro.Id;
                db.Envolvido.Add(envolvido);
            }

            db.SaveChanges();
        }
Пример #4
0
        public JsonResult DatatablesOcorrencias([ModelBinder(typeof(DataTablesBinder))] DataTables.Mvc.IDataTablesRequest requestModel)
        {
            using (var db = new GuardaDigitalContext())
            {
                IQueryable <Ocorrencia> query = db.Ocorrencia;

                var totalCount = query.Count();

                if (requestModel.Search.Value != String.Empty)
                {
                    decimal valor = 0;
                    decimal.TryParse(requestModel.Search.Value, out valor);

                    var value = requestModel.Search.Value.Trim();
                    query = query.Where(p => p.Nome.ToString().Contains(value));
                    query = query.Where(p => p.Codigo.ToString().Contains(value));
                }

                var filteredCount = query.Count();

                var sortedColumns = requestModel.Columns.GetSortedColumns();
                var orderByString = String.Empty;

                foreach (var column in sortedColumns)
                {
                    orderByString += orderByString != String.Empty ? "," : "";
                    orderByString += (column.Data == "Category" ? "ProductCategory.Name" : column.Data) + (column.SortDirection == Column.OrderDirection.Ascendant ? " asc" : " desc");
                }

                query = query.OrderBy(orderByString == String.Empty ? "name asc" : orderByString);
                query = query.Skip(requestModel.Start).Take(requestModel.Length);

                return(Json(new DataTablesResponse(requestModel.Draw, query.ToList(), filteredCount, totalCount), JsonRequestBehavior.AllowGet));
            }
        }
Пример #5
0
 public IActionResult List()
 {
     using (var db = new GuardaDigitalContext())
     {
         return(Ok(db.Ocorrencia.OrderBy(p => p.Nome).ToList()));
     }
 }
Пример #6
0
 public IActionResult List(int codigo)
 {
     using (var db = new GuardaDigitalContext())
     {
         return(Ok(db.TipoOcorrencia.Where(p => p.OcorrenciaId == codigo).OrderBy(p => p.Nome).ToList()));
     }
 }
        public IActionResult Consultar(string matricula)
        {
            matricula = matricula.Replace(".", "").Replace("-", "").Replace(" ", "").Replace("/", "");

            using (var db = new GuardaDigitalContext())
            {
                var user = db.AspNetUsers.FirstOrDefault(p => p.Matricula == matricula);

                if (user != null)
                {
                    var lotacao = db.Lotacao.FirstOrDefault(p => p.Id == user.LotacaoId);
                    return(Ok(new
                    {
                        Nome = user.UserName,
                        Matricula = user.Matricula,
                        Lotacao = lotacao != null ? lotacao.Nome : ""
                    }));
                }

                return(NotFound());
            }
        }
Пример #8
0
        public IActionResult Create([FromBody] RegistroOcorrenciaModel item)
        {
            if (item == null || !ModelState.IsValid)
            {
                return(BadRequest("Invalid State"));
            }

            var coordenadas = GoogleMapsWrapper.Obter(item.Registro.Endereco);

            ObterCoordenadasGeograficas(item, coordenadas);

            try
            {
                using (var db = new GuardaDigitalContext())
                {
                    RegistrarSolicitacao(item, db);
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message.ToString()));
            }
            return(Ok(item));
        }