コード例 #1
0
        public ManipuladorDeTarefaDTO Calcular(Tarefa tarefa, IEnumerable <DateTime> diasARetirar, bool pularFinaisDeSemana)
        {
            try
            {
                Incluir(tarefa);

                decimal  totalDias = tarefa.TempoEmDias;
                DateTime dia       = tarefa.Inicio;

                ManipuladorDeTarefaDTO manipuladorDeTarefaDTO = new ManipuladorDeTarefaDTO();

                totalDias = CalcularTotalDeDias(dia, totalDias, pularFinaisDeSemana, diasARetirar);

                IList <DateTime> dias = MontarListaDias(dia, totalDias);

                DateTime inicio = dias.OrderBy(p => p).FirstOrDefault();
                DateTime fim    = dias.OrderByDescending(p => p).FirstOrDefault();

                manipuladorDeTarefaDTO = new ManipuladorDeTarefaDTO
                {
                    Inicio     = inicio,
                    Fim        = fim,
                    ProximoDia = fim.AddDays(CalcularTotalDeDias(fim.AddDays(1), 1, pularFinaisDeSemana, diasARetirar))
                };

                return(manipuladorDeTarefaDTO);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #2
0
        private void ButtonCalcular_Click(object sender, EventArgs e)
        {
            try
            {
                Tarefa tarefa = CriarTarefa();

                ManipuladorDeTarefaDTO manipuladorDeTarefaDTO = manipuladorDeTarefas.Calcular(tarefa, gerenciadorDiasARetirar.getDias(), checkBoxRetirarFinaisDeSemana.Checked);

                dateTimePickerInicio.Value = manipuladorDeTarefaDTO.ProximoDia;

                richTextBoxTarefas.AppendText(string.Format("{1}{0}{2}{0}", Environment.NewLine, tarefa.Nome, manipuladorDeTarefaDTO.ToString()));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }