static void Main(string[] args)
        {
            try
            {
                var meusClientes     = IncluirMeusClientes();
                var meusServicos     = IncluirMeusServicos();
                var meusFuncionarios = IncluirFuncionarios(meusServicos);

                meusFuncionarios.ExcluirServicoDeUmFuncionario(10, 1);

                //meusClientes.AlterarUmCliente(1, "Diego", "199999999");
                //meusClientes.ExcluirUmCliente(2);

                List <Agendamento> agenda = new List <Agendamento>();
                agenda.Add(new Agendamento
                {
                    Id = 2,
                    ServicoSolicitado =
                        new ServicoSolicitado {
                        Id = 2, Servico = meusServicos.Servicos.First()
                    },
                    DtAgendamento = new DateTime(2021, 1, 29, 12, 0, 0)
                });
                agenda.Add(new Agendamento
                {
                    Id = 2,
                    ServicoSolicitado =
                        new ServicoSolicitado {
                        Id = 3, Servico = meusServicos.Servicos.First()
                    },
                    DtAgendamento = new DateTime(2021, 1, 29, 11, 0, 0),
                    Status        = Agendamento.StatusAgenda.CanceladoPeloCliente
                });


                Agendamento agendamento = new Agendamento();
                agendamento.IncluirAgendamento(1, meusClientes.Clientes.First(),
                                               new ServicoSolicitado {
                    Id = 1, Servico = meusServicos.Servicos.First()
                }, new DateTime(2021, 1, 29, 10, 0, 0),
                                               agenda);
            }
            catch (IOException)
            {
                Console.WriteLine("Ocorreu um erro. Tente novamente mais tarde. ");
            }
            catch (ArgumentNullException nrEx)
            {
                Console.WriteLine("Aqui caiu a Null Reference!");
                throw;
            }
            catch (Exception)
            {
                Console.WriteLine("Deu ruim!!!");
                //throw;
            }
            Console.WriteLine("Continuando...");
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            try
            {
                var meusClientes     = IncluirMeusClientes();
                var meusServicos     = IncluirMeusServicos();
                var meusFuncionarios = IncluirFuncionarios(meusServicos);

                meusFuncionarios.ExcluirServicoDeUmFuncionario(10, 1);

                List <Agendamento> agenda = new List <Agendamento>();
                agenda.Add(new Agendamento
                {
                    Id = 2,
                    ServicoSolicitado =
                        new ServicoSolicitado {
                        Id          = 2, Servico = meusServicos.Servicos.First(),
                        Funcionario = meusFuncionarios.Funcionarios.First(f => f.Servicos.Contains(meusServicos.Servicos.First()))
                    },
                    DtAgendamento = new DateTime(2021, 1, 29, 12, 0, 0)
                });
                agenda.Add(new Agendamento
                {
                    Id = 3,
                    ServicoSolicitado =
                        new ServicoSolicitado {
                        Id          = 3, Servico = meusServicos.Servicos.First(),
                        Funcionario = meusFuncionarios.Funcionarios.First(f => f.Servicos.Contains(meusServicos.Servicos.First()))
                    },
                    DtAgendamento = new DateTime(2021, 1, 29, 11, 0, 0),
                    Status        = Agendamento.StatusAgenda.CanceladoPeloCliente
                });


                Agendamento agendamento = new Agendamento();
                agendamento.IncluirAgendamento(1, meusClientes.Clientes.First(),
                                               new ServicoSolicitado {
                    Id          = 1, Servico = meusServicos.Servicos.First(),
                    Funcionario = meusFuncionarios.Funcionarios.First(f => f.Servicos.Contains(meusServicos.Servicos.First()))
                }, new DateTime(2021, 1, 29, 10, 0, 0),
                                               agenda);

                decimal valorTotalMensal = agenda.Where(a => a.DtAgendamento.Value.Year == 2021 && a.DtAgendamento.Value.Month == 1 &&
                                                        (a.Status != StatusAgenda.CanceladoPeloSalao && a.Status != StatusAgenda.CanceladoPeloCliente)).Sum(p => p.ServicoSolicitado.Servico.Preco);


                //cria uma lista retirando os cancelados
                List <Agendamento> agendamentosEfetuados = agenda.FindAll(a => a.Status != StatusAgenda.CanceladoPeloSalao &&
                                                                          a.Status != StatusAgenda.CanceladoPeloCliente);
                //cria Dictionary para acumular o valor total de servico em cada funcionario
                Dictionary <Funcionario, decimal> valorFuncionarioTotal = new Dictionary <Funcionario, decimal>();
                foreach (Agendamento agendamentoEfetuado in agendamentosEfetuados)
                {
                    if (!valorFuncionarioTotal.ContainsKey(agendamentoEfetuado.ServicoSolicitado.Funcionario))
                    {
                        valorFuncionarioTotal.Add(agendamentoEfetuado.ServicoSolicitado.Funcionario, 0);
                    }
                    //soma o valor do servico
                    valorFuncionarioTotal[agendamentoEfetuado.ServicoSolicitado.Funcionario] += agendamentoEfetuado.ServicoSolicitado.Servico.Preco;
                }
            }
            catch (IOException)
            {
                Console.WriteLine("Ocorreu um erro. Tente novamente mais tarde. ");
            }
            catch (ArgumentNullException nrEx)
            {
                Console.WriteLine("Aqui caiu a Null Reference!");
                throw;
            }
            catch (Exception)
            {
                Console.WriteLine("Deu ruim!!!");
                //throw;
            }
            Console.WriteLine("Continuando...");
            Console.ReadLine();
        }