public ActionResult GetFeriados(int ano = -1) { if (ano == -1) { ano = DateTime.Now.Year; } DateTime startDate = new DateTime(ano, 1, 1); DateTime endDate = startDate.AddYears(1); SPEBL BL = new SPEBL(); List <CalendarioCivil> datas = BL.CalendarioCivil.Get(a => a.DataInicial.Year == ano || (a.DataFim.HasValue && a.DataFim.Value.Year == ano), null, "CalendarioLegenda").ToList(); List <CalendarioItem> itensCalendario = new List <CalendarioItem>(); foreach (var item in datas) { DateTime StartDate = item.DataInicial; DateTime EndDate = item.DataFim.HasValue ? item.DataFim.Value : item.DataInicial; DateTime originalStart = item.DataInicial; DateTime?originalend = item.DataFim; int Interval = 1; StartDate = StartDate.AddDays(-1); while (StartDate.AddDays(Interval) <= EndDate) { var feriado = new CalendarioItem { id = item.IdCalendarioCivil, idLegenda = item.IdLegenda, start = StartDate.AddDays(1).ToString("yyyy-MM-dd"), originalStart = item.DataInicial.ToString("yyyy-MM-dd"), originalEnd = item.DataFim.HasValue ? item.DataFim.Value.ToString("yyyy-MM-dd") : "", description = item.Descricao, color = "#" + item.CalendarioLegenda.Cor, }; //var existeFeriado = itensCalendario.Any(a => a.originalStart == feriado.originalStart && a.originalEnd == feriado.originalEnd); //if (!existeFeriado) //{ itensCalendario.Add(feriado); //} StartDate = StartDate.AddDays(Interval); } } return(Json(itensCalendario, JsonRequestBehavior.AllowGet)); }
private bool ProcurarAgendamento(CalendarioItem item) { const string header = "Procurar Agendamento"; var mes = (CalendarioMes)toolStripComboBoxMes.SelectedItem; var itemFolder = Path.Combine(_folder, item.Pagamento.ToString()); if (Directory.Exists(itemFolder)) { var files = GetComprovanteFiles(itemFolder, mes); if (files.Any()) { var frm = new frmComprovantePDF(item.Descricao, _folder, files); var resp = frm.ShowDialog(); if (resp != DialogResult.Yes) { return(resp != DialogResult.Cancel); } item.Agendado = true; item.AgendadoData = frm.Comprovante.Agendamento; item.PagamentoData = frm.Comprovante.Pagamento; item.Valor = frm.Comprovante.Valor; return(resp != DialogResult.Cancel); } else { var resp = SuperMsgBox.Show($"{item.Descricao}:\n\n\tComprovante de agendamento não encontrado.\n\nMarcar como agendado?", header, SuperMsgBox.Buttons.YesNoCancel, SuperMsgBox.Icon.Question); item.Agendado = resp == DialogResult.Yes; return(resp != DialogResult.Cancel); } } if (SuperMsgBox.Show($"Folder para '{item.Pagamento}' não existe.\n\n{itemFolder}\n\nCria?", header, SuperMsgBox.Buttons.YesNo, SuperMsgBox.Icon.Question) == DialogResult.Yes) { Directory.CreateDirectory(itemFolder); } return(true); }