Пример #1
0
        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));
        }
Пример #2
0
        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);
        }