public ActionResult Inserir([FromHeader] string ibge, [FromBody] Ciclo model) { try { ibge = _config.GetConnectionString(Connection.GetConnection(ibge)); //valida se existe ciclo com o mesmo período var itens = _repository.ValidaExistenciaCicloPeriodo(ibge, model.data_inicial, model.data_final); if (itens.Count > 0) { return(BadRequest(TrataErro.GetResponse("Já existe um ciclo vigente no período informado.", true))); } model.id = _repository.GetNewId(ibge); _repository.Insert(ibge, model); var principal = HttpContext.User; int?id_usuario = null; if (principal?.Identities?.FirstOrDefault().Claims != null) { id_usuario = Convert.ToInt32(principal?.Identities?.FirstOrDefault().Claims.FirstOrDefault()?.Value); } var ciclolog = new CicloLog { id_ciclo = model.id, situacao = model.situacao, id_usuario = model.id_usuario }; _repository.InserirLogCiclo(ibge, ciclolog); return(Ok(model)); } catch (Exception ex) { var response = TrataErro.GetResponse(ex.Message, true); return(StatusCode((int)HttpStatusCode.InternalServerError, response)); } }
public async Task <byte[]> ReportAntivetorialAnalitico([FromHeader] string ibge, [FromBody] ReportParamsLevPredialViewModel report) { try { ibge = _config.GetConnectionString(Connection.GetConnection(ibge)); var relatorio = new ReportEndemiasViewModel(); relatorio.ibge = ibge; relatorio.unidade = (int)report.unidadelogadaParam; relatorio.datainicial = report.dataInicial; relatorio.datafinal = report.dataFinal; relatorio.ciclo = _ciclorepository.ValidaExistenciaCicloPeriodo(ibge, report.dataInicial, report.dataFinal).Take(1).FirstOrDefault()?.num_ciclo; string filtrotexto = string.Empty; string filtro = string.Empty; if (report.dataInicial == null) { throw new Exception("A data inicial deve ser informada!"); } if (report.dataFinal == null) { throw new Exception("A data final deve ser informada!"); } filtrotexto += $@"Período: {report.dataInicial?.ToString("dd/MM/yyyy")} a {report.dataFinal?.ToString("dd/MM/yy")}"; filtro += $@"WHERE CAST(VI.DATA_HORA_ENTRADA AS DATE) BETWEEN '{report.dataInicial?.ToString("dd.MM.yyyy")}' AND '{report.dataFinal?.ToString("dd.MM.yyyy")}'"; //if (report.tipo == 0) filtrotexto += $@", Tipo de Relatório: Analítico;"; //else // filtrotexto += $@", Tipo de Relatório: Totalizador;"; if (!string.IsNullOrWhiteSpace(report.profissionais)) { filtrotexto += $@", Profissionais: {report.nomeProfissional}"; filtro += $@" AND VI.ID_PROFISSIONAL IN ({report.profissionais})"; } else { filtrotexto += $@", Profissionais: TODOS"; } if (!string.IsNullOrWhiteSpace(report.nomeBairro)) { filtrotexto += $@", Bairro: {report.nomeBairro}"; filtro += $@" AND B.CSI_CODBAI = {report.bairro}"; } var itens = _repository.GetAntivetorialAnatico(ibge, filtro); relatorio.AntivetorialAnalitico.AddRange(itens); relatorio.impresso_por = $"Relatório emitido por {report.usuarioParam} - {DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}"; relatorio.filtro = filtrotexto; relatorio.cabecalho = _segrepository.GetCabecalhoPaisagem(ibge, (int)report.unidadelogadaParam); var model = GeraReportAntivetorialAnalitico(relatorio); return(await model); } catch (Exception ex) { throw ex; } }