private bool CadastrarBroadcastsParaAberturaDePeriodo(PeriodoRepasseDto periodo) { using (var http = new HttpClient()) { http.BaseAddress = new Uri(_microServicosUrls.UrlApiControle); var requestBody = new StringContent(JsonConvert.SerializeObject(periodo), Encoding.UTF8, "application/json"); var res = http.PutAsync("api/broadcast/criar-broadcasts-abertura-periodo-repasse", requestBody).Result; var json = res.Content.ReadAsStringAsync().Result; var result = JsonConvert.DeserializeObject <StfCorpHttpListResult <BroadcastDto> >(json); return(result.Success); } }
private string MontarDescricaoBroadcastDeAberturaPeriodoRepasse(PeriodoRepasseDto periodo, bool ehEdicaoDeCronograma) { CultureInfo culture = new CultureInfo("pt-BR"); return($@"Cronograma para lançamentos de Repasses no mês de <b>{periodo.DtLancamento.ToString("MMMM/yyyy", culture)}</b>, referente as despesas de <b>{periodo.DtLancamento.AddMonths(-1).ToString("MMMM/yyyy", culture)}</b>. <br> <br> <b>De {periodo.DtLancamentoInicio.ToString("dd/MM/yyyy")} a {periodo.DtLancamentoFim.ToString("dd/MM/yyyy")}</b> - Disponível para lançamentos <b>(ATÉ ÀS 23:59 hs)</b>; <br> <b>De {periodo.DtAnaliseInicio.ToString("dd/MM/yyyy")} a {periodo.DtAnaliseFim.ToString("dd/MM/yyyy")}</b> - Análise, negociações, alterações, aprovações. <br> <b>De {periodo.DtAprovacaoInicio.ToString("dd/MM/yyyy")} a { periodo.DtAprovacaoFim.ToString("dd/MM/yyyy")}</b> - Aprovação segundo nível. <br> <br> <b>Fechamento final dia {periodo.DtAprovacaoFim.ToString("dd/MM/yyyy")} às 23:59 hrs</b>"); }
public IActionResult Persistir(PeriodoRepasseDto periodoRepasseDto) { try { var periodoRepasse = _mapper.Map <PeriodoRepasse>(periodoRepasseDto); var periodoLancamento = new DateTime(periodoRepasseDto.AnoLancamento, periodoRepasseDto.MesLancamento, 1); periodoRepasse.DtLancamento = periodoLancamento; _periodoRepasseService.Persistir(periodoRepasse); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public void CriarBroadcastsParaAberturaPeriodoRepasse(PeriodoRepasseDto periodoRepasseDto) { var funcionalidadesRepasse = _funcionalidadeRepository.Buscar(x => x.NmFuncionalidade.ToUpper().Contains("REPASSE")); var usuarios = _usuarioPerfilRepository.BuscarUsuariosPorFuncionalidades(funcionalidadesRepasse.Select(x => x.Id).ToArray()).Distinct(); var lastBroadcastId = _broadcastItemRepository.BuscarUltimoId(); var broadcastItem = new BroadcastItem { //TO_DO validar auto-increment Id = ++lastBroadcastId, Descricao = MontarDescricaoBroadcastDeAberturaPeriodoRepasse(periodoRepasseDto, periodoRepasseDto.ehAlteracaoCronograma), Titulo = periodoRepasseDto.ehAlteracaoCronograma ? "Alteração de Cronograma - Periodo de Repasse" : "Abertura de Período de Repasse", }; _broadcastItemRepository.Adicionar(broadcastItem); _broadcastRepository.AddRange(usuarios.Select(user => new Broadcast { LgUsuarioVinculado = user, IdBroadcastItem = broadcastItem.Id, DataCriacao = DateTime.Now })); _unitOfWork.Commit(); }
public IActionResult CriarBroadcastParaAberturaDePeriodoRepasse([FromBody] PeriodoRepasseDto periodoRepasseDto) { _broadcastService.CriarBroadcastsParaAberturaPeriodoRepasse(periodoRepasseDto); return(Ok((new { notifications = "", success = true }))); }