Exemple #1
0
 public ServicoDeBuscaDeCaraters(SqlConnection conexao)
 {
     this._servicoDePersistencia = new ServicoExternoDePersistenciaViaEntityFramework(contexto);
     this._servicoHttp           = new ServicoDeComunicacaoViaHttp();
     this._urlToken   = VariaveisDeAmbiente.Pegar <string>("Cortex:urlToken");
     this._urlDaBusca = VariaveisDeAmbiente.Pegar <string>("Cortex:urlBuscaVeiculo");
 }
 public ServicoDeBuscaDeVeiculo(IServicoDeComunicacaoViaHttp servicoHttp, string urlToken, string urlCompleta)
 {
     this._urlToken             = urlToken;
     this._servicoHttp          = servicoHttp;
     this._urlDaApiCompleta     = urlCompleta;
     this._urlDaApiProprietario = VariaveisDeAmbiente.Pegar <string>("Cortex:urlBuscaProprietario");
 }
Exemple #3
0
        private string RetornaHtmlDaLista(List <ModeloDeCaratersDaLista> caraters, DateTime?dataInicial, DateTime?dataFinal, UsuarioLogado usuario)
        {
            StringBuilder html        = new StringBuilder();
            var           caminhoBlob = VariaveisDeAmbiente.Pegar <string>("azure:caminhoDoBlob");

            var contador           = 0;
            var dataInicialTratada = dataInicial.Value != DateTime.MinValue ? $" - {dataInicial.Value.ToString("dd/MM")}" : String.Empty;
            var dataFinalTratada   = dataFinal.Value != DateTime.MinValue ? $" a {dataFinal.Value.ToString("dd/MM/yyyy")}" : String.Empty;

            html.Append($"<html><head> <meta charset='UTF-8'></head>");
            html.Append("<style> .table{width: 100%; margin-bottom: 1rem; color: #212529; background-color: transparent; border: solid 1px #212529;}  .table th, .table td { padding: 0.75rem; vertical-align: top; border: 1px solid #dee2e6;}  .table thead th { vertical-align: bottom; border-bottom: 2px solid #dee2e6;}  .table tbody + tbody { border-top: 2px solid #dee2e6; }  .text-muted { color: #6c757d !important;} .placa { font-size: 18pt; font-weight: bold; } .verde {color: #139f11 !important; font-weight: bold; } .amarelo {color: #ff6a00 !important;font-weight: bold;}");
            html.Append($"</style>");
            html.Append($"<body>");
            html.Append($"<table class='table'>");
            html.Append($"<tr><th colspan='9'>RELAÇÃO DE CARÁTER GERAL {dataInicialTratada}{dataFinalTratada} ");
            html.Append($"</th></tr>");
            html.Append($"<tr><th>NUM</th><th>PLACA</th><th>UF</th><th style'width: 150px;'>MODELO</th><th>COR</th><th>ANO</th><th>CIDADE</th><th>CRIME</th><th>DATA</th></tr>");

            foreach (var carater in caraters)
            {
                html.Append($"<tr>");
                html.Append($"<td><span class='placa'>{carater.PlacaInicial.ToUpper()}</span></td>");
                html.Append($"<td><span class='placa'>{carater.PlacaFinal.ToUpper()}</span></td>");
                html.Append($"<td><span>{carater.UfVeiculo.ToUpper()}</span></td>");
                html.Append($"<td><span>{carater.NomeVeiculo}</span></td>");
                html.Append($"<td><p style='text-align:center;'><span>{carater.CorVeiculo}</span></p></td>");
                html.Append($"<td><p style='text-align:center;'><span>{carater.AnoVeiculo}</span></p></td>");
                html.Append($"<td><p style='text-align:center;'><span>{carater.NomeCidade}</span></p></td>");
                html.Append($"<td><p style='text-align:center;'><span>{carater.NomeCrime}</span></p></td>");
                html.Append($"<td><p style='text-align:center;'><span>{carater.DataDoFato}</span></p></td>");
                html.Append($"</tr>");
                contador++;
            }

            if (contador <= 15)
            {
                contador = 6;
            }
            else
            {
                contador = 0;
            }

            for (int i = 0; i < contador; i++)
            {
                html.Append($"<tr>");
                for (int j = 0; j < 9; j++)
                {
                    html.Append($"<td style='height: 50px; overflow: hidden; '></td>");
                }
                html.Append($"</tr>");
            }

            html.Append($"</table></body>");
            html.Append($"<footer class='main-footer'> Emitido por {usuario.Nome} em {DateTime.Now.ToShortDateString()}<br> <b>Caráter Geral</b> Policial 2021(CGP) - All rights reserved.</footer>");

            html.Append($"</html>");
            return(html.ToString());
        }
        public ActionResult Index()
        {
            if (User.Autenticado())
            {
                ViewBag.Usuario  = User.Logado().Nome;
                ViewBag.Tutorial = $"{VariaveisDeAmbiente.Pegar<string>("azure:caminhoDoBlob")}/arquivos/TutorialCaraterGeral.pdf";
                return(RedirectToAction(nameof(Dashboard)));
            }

            return(View());
        }
Exemple #5
0
        public ModeloDeHistoricoDePassagensDaLista(HistoricoDePassagem historico, bool ehCelular, Camera camera = null)
        {
            if (historico == null)
            {
                return;
            }

            this.Id           = historico.Id;
            this.DataPassagem = historico.Data.ToString("dd/MM/yyyy HH:mm");
            this.Local        = historico.Local;

            var arquivoTratado = historico.Arquivo.Replace(@"I:\", "").Replace(@"\", @"/");
            var caminho        = VariaveisDeAmbiente.Pegar <string>("LOCAL:servidorDePassagens") + arquivoTratado;

            if (ehCelular)
            {
                caminho.Replace("https://", "http://");
            }
            if (historico.TipoDeHistoricoDePassagem == TipoDeHistoricoDePassagem.Automatico)
            {
                this.Arquivo = caminho;
            }
            else if (historico.TipoDeHistoricoDePassagem == TipoDeHistoricoDePassagem.Manual)
            {
                if (!String.IsNullOrEmpty(historico.Arquivo))
                {
                    var caminhoBlob = $"{VariaveisDeAmbiente.Pegar<string>("azure:caminhoDoBlob")}fotos/{historico.Arquivo}";
                    this.Arquivo = caminhoBlob;
                }
            }
            else if (!String.IsNullOrEmpty(historico.Arquivo))
            {
                this.Arquivo = caminho;
            }

            if (camera != null)
            {
                this.TemLatLong    = true;
                this.Cidade        = camera.Cidade.Descricao;
                this.Latitude      = camera.Latitude;
                this.Longitude     = camera.Longitude;
                this.LocalParaMapa = $"<b>{camera.Cidade.Descricao}</b><br/>{historico.Local}";
            }
            else
            {
                this.TemLatLong    = !String.IsNullOrEmpty(historico.Latitude) && !String.IsNullOrEmpty(historico.Longitude) ? true : false;
                this.Latitude      = historico.Latitude;
                this.Longitude     = historico.Longitude;
                this.LocalParaMapa = $"{historico.Local}";
            }

            this.IdCarater = historico.Carater != null ? historico.Carater.Id : 0;
        }
Exemple #6
0
        public ModeloDeBatalhoesDaLista(Batalhao batalhao)
        {
            var caminhoBlob = VariaveisDeAmbiente.Pegar <string>("azure:caminhoDoBlob");

            this.Id             = batalhao.Id;
            this.Nome           = batalhao.Nome;
            this.Sigla          = batalhao.Sigla;
            this.Cidade         = batalhao.Cidade != null ? batalhao.Cidade.Descricao : String.Empty;
            this.NomeComando    = batalhao.ComandoRegional != null ? batalhao.ComandoRegional.Sigla : String.Empty;
            this.DataDoCadastro = batalhao.DataDoCadastro.ToShortDateString();
            this.Ativo          = batalhao.Ativo;
        }
        public ModeloDeFotosDaLista(Foto foto)
        {
            if (foto == null)
            {
                return;
            }

            this.Id        = foto.Id;
            this.Descricao = foto.Descricao;
            var caminhoBlob = $"{VariaveisDeAmbiente.Pegar<string>("azure:caminhoDoBlob")}fotos/{foto.Caminho}";

            this.Caminho   = caminhoBlob;
            this.IdCarater = foto.Carater != null ? foto.Carater.Id : 0;
            this.Ativo     = foto.Ativo;
        }
Exemple #8
0
        public static void Injetar()
        {
            var container = new Container();

            container.Options.DefaultScopedLifestyle = new WebRequestLifestyle();
            container.Register <Contexto, Contexto>(Lifestyle.Scoped);

            container.Register <IServicoExternoDePersistenciaViaEntityFramework, ServicoExternoDePersistenciaViaEntityFramework>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeFuncionarios, ServicoDeGestaoDeFuncionarios>(Lifestyle.Scoped);
            container.Register <IServicoDeLogin, ServicoDeLogin>(Lifestyle.Scoped);
            container.Register <IServicoDeGeracaoDeHashSha, ServicoDeGeracaoDeHashSha>(Lifestyle.Scoped);
            container.Register <IServicoExternoDeAutenticacao, ServicoExternoDeAutenticacaoViaCookieOwin>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeBatalhoes, ServicoDeGestaoDeBatalhoes>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeUsuarios, ServicoDeGestaoDeUsuarios>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeDashboard, ServicoDeGestaoDeDashboard>(Lifestyle.Scoped);
            container.Register <IServicoDeGeracaoDeDocumentosEmPdf, ServicoDeGeracaoDeDocumentosEmPdf>(Lifestyle.Scoped);

            container.Register <IServicoDeMontagemDeEmails, ServicoDeMontagemDeEmails>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeComandosRegionais, ServicoDeGestaoDeComandosRegionais>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeCidades, ServicoDeGestaoDeCidades>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeVeiculos, ServicoDeGestaoDeVeiculos>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeCrimes, ServicoDeGestaoDeCrimes>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaoDeCaraters, ServicoDeGestaoDeCaraters>(Lifestyle.Scoped);
            container.Register <IServicoDeGestaDeCameras, ServicoDeGestaoDeCameras>(Lifestyle.Scoped);
            container.Register <IServicoDeHistoricoDePassagens, ServicoDeGestaoDeHistoricoDePassagens>(Lifestyle.Scoped);

            container.Register <IServicoDeEnvioDeEmails>(() => new ServicoDeEnvioDeEmails(
                                                             VariaveisDeAmbiente.Pegar <string>("chaveSendGrid"), VariaveisDeAmbiente.Pegar <string>("EmailDaEmpresa"), VariaveisDeAmbiente.Pegar <string>("NomeDaEmpresa")), Lifestyle.Scoped);

            container.Register <IServicoDeComunicacaoViaHttp, ServicoDeComunicacaoViaHttp>(Lifestyle.Scoped);
            container.Register <IServicoDeCriptografia, ServicoDeCriptografia>(Lifestyle.Scoped);

            container.Register <IServicoDeBuscaDeVeiculo>(() => new ServicoDeBuscaDeVeiculo(container.GetInstance <IServicoDeComunicacaoViaHttp>(), VariaveisDeAmbiente.Pegar <string>("Cortex:urlToken"), VariaveisDeAmbiente.Pegar <string>("Cortex:urlBuscaVeiculo")), Lifestyle.Scoped);

            container.Register <IServicoDeGestaoDeUsuariosSGPOL>(() => new ServicoDeGestaoDeUsuariosSGPOL(container.GetInstance <IServicoDeComunicacaoViaHttp>(), container.GetInstance <IServicoDeGeracaoDeHashSha>(), VariaveisDeAmbiente.Pegar <string>("SGPOL:urlToken"), VariaveisDeAmbiente.Pegar <string>("SGPOL:urlBusca")), Lifestyle.Scoped);

            container.Register <IServicoExternoDeArmazenamentoEmNuvem>(() => new ServicoExternoDeArmazenamentoEmNuvem(
                                                                           VariaveisDeAmbiente.Pegar <string>("azure:contaDeArmazenamentoAzure"), VariaveisDeAmbiente.Pegar <string>("azure:chaveDaContaDeArmazenamentoAzure")), Lifestyle.Scoped);

            container.Register <IServicoDeLoginAd>(() => new ServicoDeLoginAd(ConfigurationManager.ConnectionStrings["conexao_AD"].ConnectionString), Lifestyle.Scoped);

            container.Register <IServicoDeBuscaViaDapper>(() => new ServicoDeBuscaViaDapper(
                                                              VariaveisDeAmbiente.ConnectionString("conexaoDoBanco")), Lifestyle.Singleton);

            container.Verify();
            DependencyResolver.SetResolver(new SimpleInjectorDependencyResolver(container));
        }
        public ModeloDeAlertaDaLista(Alerta alerta)
        {
            if (alerta == null)
            {
                return;
            }

            this.Id = alerta.Id;
            var arquivoTratado = alerta.HistoricoDePassagem.Arquivo.Replace(@"I:\", "").Replace(@"\", "/");
            var caminho        = VariaveisDeAmbiente.Pegar <string>("LOCAL:servidorDePassagens") + arquivoTratado;

            this.DataPassagem = alerta.HistoricoDePassagem.Data.ToString("dd/MM/yyyy HH:mm");
            this.Local        = alerta.HistoricoDePassagem.Local;
            this.Arquivo      = caminho;
            this.IdCarater    = alerta.HistoricoDePassagem != null ? alerta.HistoricoDePassagem.Carater.Id : 0;
            this.Placa        = alerta.HistoricoDePassagem != null ? alerta.HistoricoDePassagem.Carater.Veiculo.Placa : String.Empty;
        }
Exemple #10
0
        private string EfetuarODownloadDoTemplateDeEmail(string caminho)
        {
            string url            = VariaveisDeAmbiente.Pegar <string>("azure:caminhoDoBlob");
            string urlDoArquivo   = url + caminho;
            string urlLogoEmpresa = url + "arquivos/logo/logoPmdf.png";

            using (WebClient client = new WebClient())
            {
                string body = client.DownloadString(urlDoArquivo);

                string data = DateTime.Now.ToString("U");
                body = body.Replace("{DATA_DE_ENVIO}", data);
                body = body.Replace("{BLOB_AZURE}", url);
                body = body.Replace("{NUMERO_ALEATORIO}", new Random().Next().ToString());
                body = body.Replace("{NOME_DA_EMPRESA}", VariaveisDeAmbiente.Pegar <string>("NomeDaEmpresa"));
                body = body.Replace("{LOGO_EMPRESA}", urlLogoEmpresa);
                return(body);
            }
        }
Exemple #11
0
        public ModeloDeEmail MontarEmailCadastroAtivo(Usuario usuario)
        {
            var    titulo   = $"Seu usuário foi ativado no {VariaveisDeAmbiente.Pegar<string>("NomeDaEmpresa")}";
            string caminho  = "arquivos/email/emailPadrao.html";
            string corpo    = EfetuarODownloadDoTemplateDeEmail(caminho);
            var    mensagem = new StringBuilder();

            mensagem.Append($"<p>Olá <b>{ usuario.Nome.Valor }</b>, seu cadastro no {VariaveisDeAmbiente.Pegar<string>("NomeDaEmpresa")} foi ativado com sucesso!</p>");
            mensagem.Append($"<p>Para isto, basta acessar o sistema e realizar o login com seus dados.</p>");
            corpo = corpo.Replace("{TITULO}", titulo);
            corpo = corpo.Replace("{MENSAGEM}", mensagem.ToString());

            var link = $"{VariaveisDeAmbiente.Pegar<string>("NomeDoSite")}";

            corpo = corpo.Replace("{URL}", link);
            corpo = corpo.Replace("{MENSAGEM}", mensagem.ToString());
            corpo = corpo.Replace("{DESCRICAO_BOTAO}", "Acesse Agora");

            return(new ModeloDeEmail(titulo, corpo.ToString()));
        }
Exemple #12
0
        public ModeloDeEmail MontarEmailRenovacaoSenha(Usuario usuario, string token)
        {
            var    titulo   = $"Renovação de Senha - {VariaveisDeAmbiente.Pegar<string>("NomeDaEmpresa")}";
            string caminho  = "arquivos/email/emailPadrao.html";
            string corpo    = EfetuarODownloadDoTemplateDeEmail(caminho);
            var    mensagem = new StringBuilder();

            mensagem.Append($"<p>Olá <b>{ usuario.Nome.Valor }</b>, você solicitou renovação de senha no {VariaveisDeAmbiente.Pegar<string>("NomeDaEmpresa")}.</p>");
            mensagem.Append($"<p>Para isto, basta clicar no link abaixo para renovar sua senha.</p>");
            corpo = corpo.Replace("{TITULO}", titulo);
            corpo = corpo.Replace("{MENSAGEM}", mensagem.ToString());

            var link = $"{VariaveisDeAmbiente.Pegar<string>("NomeDoSite")}/EsqueciMinhaSenha/RenovacaoDeSenha?t={token}";

            corpo = corpo.Replace("{URL}", link);
            corpo = corpo.Replace("{MENSAGEM}", mensagem.ToString());
            corpo = corpo.Replace("{DESCRICAO_BOTAO}", "Clique para renovar senha");

            return(new ModeloDeEmail(titulo, corpo.ToString()));
        }
Exemple #13
0
        public ModeloDeEmail MontarEmailBoasVindas(Usuario usuario)
        {
            var    titulo   = $"Bem Vindo(a) ao Caráter Geral Policial";
            string caminho  = "arquivos/email/emailPadrao.html";
            string corpo    = EfetuarODownloadDoTemplateDeEmail(caminho);
            var    mensagem = new StringBuilder();

            mensagem.Append($"<p>Olá <b>{ usuario.Nome.Valor }</b>, seu cadastro no {VariaveisDeAmbiente.Pegar<string>("NomeDaEmpresa")} foi concluído com sucesso!</p>");
            mensagem.Append($"<p>Você receberá um email quando o Adminsitrador aprovar seu cadastro.</p>");
            corpo = corpo.Replace("{TITULO}", titulo);
            corpo = corpo.Replace("{MENSAGEM}", mensagem.ToString());

            var link = $"{VariaveisDeAmbiente.Pegar<string>("NomeDoSite")}";

            corpo = corpo.Replace("{URL}", link);
            corpo = corpo.Replace("{MENSAGEM}", mensagem.ToString());
            corpo = corpo.Replace("{DESCRICAO_BOTAO}", "Acesse Agora");

            return(new ModeloDeEmail(titulo, corpo.ToString()));
        }
        public ModeloDeHistoricoDeCaraterDaLista(HistoricoDeCarater historico, List <Foto> fotos)
        {
            var exibeBotao = new List <TipoDeHistoricoDeCarater> {
                TipoDeHistoricoDeCarater.HistoricoCarater
            };
            var exibeDescricao = new List <TipoDeHistoricoDeCarater> {
                TipoDeHistoricoDeCarater.Historico, TipoDeHistoricoDeCarater.Baixa
            };

            if (historico == null)
            {
                return;
            }

            this.Id             = historico.Id;
            this.DataDoCadastro = historico.DataDoCadastro.ToString("dd.MMMM.yyyy");
            this.Descricao      = !String.IsNullOrEmpty(historico.Descricao) ? historico.Descricao.Replace(Environment.NewLine, "<br />").Replace("\n", "<br />") : "";
            this.Titulo         = historico.Titulo;
            this.IdUsuario      = historico.Usuario != null ? historico.Usuario.Id : 0;

            this.Usuario = historico.Usuario != null ? historico.Usuario.PerfilDeUsuario == PerfilDeUsuario.Atenas
                ? historico.Usuario.PerfilDeUsuario.ToString() : historico.Usuario.Nome.Valor : "";
            this.IdCarater  = historico.Carater != null ? historico.Carater.Id : 0;
            this.IdEntidade = historico.IdEntidade;
            this.TipoDeHistoricoDeCarater = historico.TipoDeHistoricoDeCarater;

            this.IconeDoTipo    = RetornaIconeDoTipo(historico.TipoDeHistoricoDeCarater);
            this.TempoDecorrido = TimeAgo(historico.DataDoCadastro);

            this.ExibeBotao = exibeBotao.Contains(historico.TipoDeHistoricoDeCarater);

            this.ExibeDescricao = exibeDescricao.Contains(historico.TipoDeHistoricoDeCarater);

            if (fotos != null && fotos.Count > 0)
            {
                var caminhoBlob = VariaveisDeAmbiente.Pegar <string>("azure:caminhoDoBlob");
                var foto        = fotos.FirstOrDefault(a => a.Id == historico.IdEntidade);
                this.UrlFoto = foto != null ? $"{caminhoBlob}fotos/{foto.Caminho}" : String.Empty;
            }
        }
Exemple #15
0
        public void Configuration(IAppBuilder app)
        {
            var configuracaoDoTempoDeSessao = "60";
            var sessaoEmMinutos             = !string.IsNullOrEmpty(configuracaoDoTempoDeSessao) ? double.Parse(configuracaoDoTempoDeSessao) : 90;

            var configuracaoDaPaginaDeLogin = "******";
            var paginaDeLogin = !string.IsNullOrEmpty(configuracaoDaPaginaDeLogin) ? configuracaoDaPaginaDeLogin : "******";

            var configuracaoDoDominio = VariaveisDeAmbiente.Pegar <string>("NomeDoSite");

            var opcoes = new CookieAuthenticationOptions();

            opcoes.AuthenticationType = "ApplicationCookie";
            opcoes.SlidingExpiration  = true;
            opcoes.CookieHttpOnly     = true;
            opcoes.LoginPath          = new PathString(paginaDeLogin);
            opcoes.ExpireTimeSpan     = TimeSpan.FromMinutes(sessaoEmMinutos);
            opcoes.CookieSecure       = CookieSecureOption.SameAsRequest;
            opcoes.CookieDomain       = new Uri(configuracaoDoDominio).Host;

            opcoes.CookieName = VariaveisDeAmbiente.Pegar <string>("NomeDoSite") + "_secure";

            app.UseCookieAuthentication(opcoes);
        }
        public ActionResult Index(ModeloDeListaDeCameras modelo)
        {
            if (!User.EhAdministrador() && !User.EhInterno())
            {
                return(UsuarioSemPermissao());
            }

            modelo = this._servicoDeGestaoDeCameras.RetonarCamerasPorFiltro(modelo.Filtro, this.Pagina(), VariaveisDeAmbiente.Pegar <int>("registrosPorPagina"));

            modelo.Filtro.Cidades = ListaDeItensDeDominio.DaClasseComOpcaoPadrao <Cidade>(nameof(Cidade.Descricao), nameof(Cidade.Id),
                                                                                          () => this._servicoDeGestaoDeCidades.RetonarCidadesPorUf(7));

            return(View(modelo));
        }
Exemple #17
0
        public async Task <ActionResult> Index(ModeloDeListaDeCaraters modelo, string exportar)
        {
            if (exportar == "imprimir")
            {
                modelo = this._servicoDeGestaoDeCaraters.GerarPDFeRetornar(modelo.Filtro, User.Logado());

                using (Stream enviarParaAzure = new MemoryStream(this._servicoDeGeracaoDeDocumentosEmPdf.CriarPdf(modelo.ArquivoHtml)))
                {
                    var    nomeArquivo = $"caraterGeral{DateTime.Now.ToString().Trim().Replace('/', '.').Trim()}.pdf";
                    string blob        = $"caraters";
                    var    retorno     = await this._servicoExternoDeArmazenamentoEmNuvem.EnviarArquivoAsync(enviarParaAzure, blob, nomeArquivo.Trim());

                    Response.Redirect(retorno, true);
                }
            }

            modelo = this._servicoDeGestaoDeCaraters.RetonarCaratersPorFiltro(modelo.Filtro, this.Pagina(), VariaveisDeAmbiente.Pegar <int>("registrosPorPagina"));

            modelo.Filtro.Cidades = ListaDeItensDeDominio.DaClasseSemOpcaoPadrao <Cidade>(nameof(Cidade.Descricao), nameof(Cidade.Id),
                                                                                          () => this._servicoDeGestaoDeCidades.RetonarCidadesPorUf(7));

            modelo.Filtro.Crimes = ListaDeItensDeDominio.DaClasseSemOpcaoPadrao <Crime>(nameof(Crime.Nome), nameof(Crime.Id),
                                                                                        () => this._servicoDeGestaoDeCrimes.RetonarTodosOsCrimesAtivos());

            if (modelo.Filtro.CidadesSelecionadas != null)
            {
                foreach (var cidade in modelo.Filtro.CidadesSelecionadas)
                {
                    modelo.Filtro.Cidades.FirstOrDefault(a => a.Value == cidade.ToString()).Selected = true;
                }
            }

            if (modelo.Filtro.CrimesSelecionados != null)
            {
                foreach (var crime in modelo.Filtro.CrimesSelecionados)
                {
                    modelo.Filtro.Crimes.FirstOrDefault(a => a.Value == crime.ToString()).Selected = true;
                }
            }

            this.TotalDeRegistrosEncontrados(modelo.TotalDeRegistros);
            return(View(modelo));
        }
 public ActionResult Index(ModeloDeListaDeComandosRegionais modelo)
 {
     modelo = this._servicoDeGestaoDeComandosRegionais.RetonarComandosRegionaisPorFiltro(modelo.Filtro, this.Pagina(), VariaveisDeAmbiente.Pegar <int>("registrosPorPagina"));
     this.TotalDeRegistrosEncontrados(modelo.TotalDeRegistros);
     return(View(modelo));
 }
Exemple #19
0
 public SendEmail(IOptions <VariaveisDeAmbiente> options)
 {
     _variaveis = options.Value;
 }
Exemple #20
0
 public ModeloDeAutorizacaoSGPOL()
 {
     this.Username = VariaveisDeAmbiente.Pegar <string>("SGPOL:username");
     this.Password = VariaveisDeAmbiente.Pegar <string>("SGPOL:password");
 }
        public ActionResult Index(ModeloDeListaDeHistoricoDePassagens modelo)
        {
            modelo = this._servicoDeHistoricoDePassagens.RetornarHistociosDePassagensPorFiltro(modelo.Filtro, this.Pagina(), VariaveisDeAmbiente.Pegar <int>("registrosPorPagina"));

            modelo.Filtro.Cidades = ListaDeItensDeDominio.DaClasseSemOpcaoPadrao <Cidade>(nameof(Cidade.Descricao), nameof(Cidade.Id),
                                                                                          () => this._servicoDeGestaoDeCidades.RetonarCidadesPorUf(7));

            modelo.Filtro.Crimes = ListaDeItensDeDominio.DaClasseSemOpcaoPadrao <Crime>(nameof(Crime.Nome), nameof(Crime.Id),
                                                                                        () => this._servicoDeGestaoDeCrimes.RetonarTodosOsCrimesAtivos());

            if (modelo.Filtro.CidadesSelecionadas != null)
            {
                foreach (var cidade in modelo.Filtro.CidadesSelecionadas)
                {
                    modelo.Filtro.Cidades.FirstOrDefault(a => a.Value == cidade.ToString()).Selected = true;
                }
            }

            if (modelo.Filtro.CrimesSelecionados != null)
            {
                foreach (var crime in modelo.Filtro.CrimesSelecionados)
                {
                    modelo.Filtro.Crimes.FirstOrDefault(a => a.Value == crime.ToString()).Selected = true;
                }
            }

            this.TotalDeRegistrosEncontrados(modelo.TotalDeRegistros);
            return(View(modelo));
        }
        public ModeloDeEdicaoDeCarater(Carater carater, bool ehCelular)
        {
            if (carater == null)
            {
                return;
            }

            this.DataHistorico = DateTime.Now.ToShortDateString();

            var situacoesBaixas = new Dominio.ObjetosDeValor.SituacaoDoCarater[] { Dominio.ObjetosDeValor.SituacaoDoCarater.Localizado, Dominio.ObjetosDeValor.SituacaoDoCarater.BaixaAutomatica };

            this.HistoricosDeCaraters  = new List <ModeloDeHistoricoDeCaraterDaLista>();
            this.HistoricosDePassagens = new List <ModeloDeHistoricoDePassagensDaLista>();
            this.Fotos = new List <ModeloDeFotosDaLista>();

            this.SituacoesDoCarater = ListaDeItensDeDominio.DoEnumComOpcaoPadrao <SituacaoDoCarater>();

            var caminhoBlob = VariaveisDeAmbiente.Pegar <string>("azure:caminhoDoBlob");

            this.Id                         = carater.Id;
            this.Descricao                  = carater.Descricao;
            this.ComplementoEndereco        = carater.ComplementoEndereco;
            this.ComplementoEnderecoTradado = !String.IsNullOrEmpty(carater.ComplementoEndereco) ? $" - {carater.ComplementoEndereco}" : String.Empty;

            this.Cidade     = carater.Cidade != null ? carater.Cidade.Id : 0;
            this.Crime      = carater.Crime != null ? carater.Crime.Id : 0;
            this.NomeCrime  = carater.Crime != null ? $"{carater.Crime.Nome}" : String.Empty;
            this.NomeCidade = carater.Cidade != null ? $"{carater.Cidade.Descricao}" : String.Empty;

            this.Data      = carater.DataHoraDoFato.HasValue ? carater.DataHoraDoFato.Value.ToShortDateString() : String.Empty;
            this.Hora      = carater.DataHoraDoFato.HasValue ? carater.DataHoraDoFato.Value.ToShortTimeString() : String.Empty;
            this.UrlImagem = $"{caminhoBlob}/{carater.UrlImagem}";
            var usuario = carater.UsuarioQueAlterou != null ? carater.UsuarioQueAlterou.PerfilDeUsuario == PerfilDeUsuario.Atenas ?
                          carater.UsuarioQueAlterou.PerfilDeUsuario.ToString() : carater.UsuarioQueAlterou.Nome.Valor : String.Empty;

            this.UsuarioCadastro   = $"Cadastro por {usuario} no dia {carater.DataDoCadastro.ToString("dd/MM")} às {carater.DataDoCadastro.ToString("HH:mm")}";
            this.SituacaoDoCarater = (int)carater.SituacaoDoCarater;
            this.CssTipoCrime      = RetornaCssCrime(NomeCrime);

            if (carater.Veiculo != null)
            {
                this.Placa                = carater.Veiculo.Placa;
                this.UfVeiculo            = carater.Veiculo.Uf;
                this.MunicipioVeiculo     = carater.Veiculo.Municipio;
                this.IdVeiculo            = carater.Veiculo.Id;
                this.ModeloVeiculo        = carater.Veiculo.Modelo;
                this.MarcaVeiculo         = carater.Veiculo.Marca;
                this.AnoVeiculo           = carater.Veiculo.Ano;
                this.CorVeiculo           = carater.Veiculo.Cor;
                this.ChassiVeiculo        = carater.Veiculo.Chassi;
                this.ChassiVeiculoTratado = !String.IsNullOrEmpty(carater.Veiculo.Chassi) ? carater.Veiculo.Chassi.Length > 4 ? carater.Veiculo.Chassi.Substring(carater.Veiculo.Chassi.Length - 5) : carater.Veiculo.Chassi : String.Empty;
                this.Renavam              = carater.Veiculo.Renavam;
                this.Motor                = carater.Veiculo.Motor;
                this.UltimoCRV            = !String.IsNullOrEmpty(carater.Veiculo.UltimoCRV) ? Convert.ToDateTime(carater.Veiculo.UltimoCRV).ToShortDateString() : String.Empty;
                this.AtualizacaoVeiculo   = carater.Veiculo.Atualizacao.ToString();
                this.Situacao             = carater.Veiculo.Situacao;

                if (carater.Veiculo.Proprietario != null)
                {
                    this.Proprietario = new ModeloDeProprietario(carater.Veiculo.Proprietario);
                }

                if (carater.Veiculo.Possuidor != null)
                {
                    this.Possuidor = new ModeloDePossuidor(carater.Veiculo.Possuidor);
                }
            }

            if (situacoesBaixas.Contains(carater.SituacaoDoCarater))
            {
                this.RealizouBaixa        = true;
                this.DescricaoLocalizacao = carater.DescricaoLocalizado;
                var dataHora = carater.DataHoraLocalizacao.HasValue ? carater.DataHoraLocalizacao.Value : DateTime.MinValue;
                this.CidadeLocalizacao  = carater.CidadeLocalizado != null ? $" - Cidade: {carater.CidadeLocalizado.Descricao}" : String.Empty;
                this.UsuarioLocalizacao = $"Baixa por {usuario} no dia {dataHora.ToString("dd/MM")} às {dataHora.ToString("HH:mm")}";
            }

            carater.HistoricosDeCaraters.Where(a => !a.Excluido).OrderByDescending(a => a.DataDoCadastro).ToList().ForEach(a => this.HistoricosDeCaraters.Add(new ModeloDeHistoricoDeCaraterDaLista(a, carater.Fotos.ToList())));
            carater.HistoricosDePassagens.Where(a => !a.Excluido).OrderByDescending(a => a.DataDoCadastro).ToList().ForEach(a => this.HistoricosDePassagens.Add(new ModeloDeHistoricoDePassagensDaLista(a, ehCelular)));
            carater.Fotos.Where(a => a.Ativo).ToList().ForEach(a => this.Fotos.Add(new ModeloDeFotosDaLista(a)));

            this.SeloAtenas = carater.SeloAtenas;
            this.Excluido   = carater.Excluido;
        }
        public ActionResult Index(ModeloDeListaDeBatalhoes modelo)
        {
            modelo = this._servicoDeGestaoDeBatalhoes.RetonarTodosOsBatalhoes(modelo.Filtro, this.Pagina(), VariaveisDeAmbiente.Pegar <int>("registrosPorPagina"));

            modelo.Filtro.ComandosRegionais = ListaDeItensDeDominio.DaClasseComOpcaoPadrao <ComandoRegional>(nameof(ComandoRegional.Sigla), nameof(ComandoRegional.Id),
                                                                                                             () => this._servicoDeGestaoDeComandosRegionais.RetonarTodosOsComandosRegionaisAtivos());

            modelo.Filtro.Cidades = ListaDeItensDeDominio.DaClasseComOpcaoPadrao <Cidade>(nameof(Cidade.Descricao), nameof(Cidade.Id),
                                                                                          () => this._servicoDeGestaoDeCidades.RetonarCidadesPorUf(7));

            this.TotalDeRegistrosEncontrados(modelo.TotalDeRegistros);
            return(View(modelo));
        }
Exemple #24
0
        public ActionResult Index(ModeloDeListaDeUsuarios modelo, bool?Ativo)
        {
            if (User.EhInterno() && User.EhUsuario())
            {
                return(UsuarioSemPermissao());
            }

            if (Ativo.HasValue)
            {
                modelo.Filtro.Ativo = Ativo.Value;
            }

            modelo = this._servicoDeGestaoDeUsuarios.RetonarUsuariosPorFiltro(modelo.Filtro, User.Logado(), this.Pagina(), VariaveisDeAmbiente.Pegar <int>("registrosPorPagina"));

            modelo.Filtro.Batalhoes = ListaDeItensDeDominio.DaClasseComOpcaoPadrao <Batalhao>(nameof(Batalhao.Sigla), nameof(Batalhao.Id),
                                                                                              () => this._servicoDeGestaoDeBatalhoes.RetonarTodosOsBatalhoesAtivos());

            this.TotalDeRegistrosEncontrados(modelo.TotalDeRegistros);
            return(View(modelo));
        }