public async Task Registre_ferias_com_sucesso()
        {
            // Arrange
            var context        = InMemoryDBContext.Crie();
            var colaboradorDAO = FabricGenericDAO <IColaboradorDAO> .Crie(context);

            var colaborador = new Colaborador(Guid.NewGuid(), NomePessoa.Crie("Codeizi", "Treinamento"), DateTime.Now.AddYears(-34));

            colaborador.AddContrato(DateTime.Now.AddYears(-1), 1000);

            await context.AddAsync(colaborador);

            await context.SaveChangesAsync();

            var colaboradorSalvo = colaboradorDAO.GetQueryable().FirstOrDefault(x => x.Id == colaborador.Id);

            var registroDeFerias = RegistrarOcorrenciaDeFeriasViewModelBuilder.CrieConsiderandoContrato(colaboradorSalvo.Contratos.First());

            // act
            var response = await Client.PostAsync("api/ocorrenciadeferias", registroDeFerias.ToJson());

            response.EnsureSuccessStatusCode();
            var resultado = await JsonToObject <Resposta> .Convert(response);

            // assert
            Assert.True(resultado.Success);
            Assert.Equal(System.Net.HttpStatusCode.OK, response.StatusCode);
        }
示例#2
0
        static void Main(string[] args)
        {
            Console.Write("Entre com o nome do Departamento: ");
            string deptNome = Console.ReadLine();

            Console.WriteLine("Entre com os dados do Colaborador: ");
            Console.Write("Nome: ");
            string nome = Console.ReadLine();

            Console.Write("Nivel (Junior/Pleno/Senior): ");
            ColaboradorNivel nivel = Enum.Parse <ColaboradorNivel>(Console.ReadLine());

            Console.Write("Salario base: ");
            double salarioBase = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Departamento dept        = new Departamento(deptNome);
            Colaborador  colaborador = new Colaborador(nome, nivel, salarioBase, dept);

            Console.Write("Quantos contratos para esse colaborador? ");
            int n = int.Parse(Console.ReadLine());

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine($"Entre com o #{i} dado do contrato:");
                Console.Write("Data (DD/MM/YYYY): ");
                DateTime data = DateTime.Parse(Console.ReadLine());
                Console.Write("Valor por hora: ");
                double valorPorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                Console.Write("Duracao (horas): ");
                int horas = int.Parse(Console.ReadLine());

                HoraContrato contrato = new HoraContrato(data, valorPorHora, horas);
                colaborador.AddContrato(contrato);
            }

            Console.WriteLine();
            Console.Write("Entre com o mes e o ano para calcular o ganho (MM/YYYY): ");
            string mesEAno = Console.ReadLine();
            int    mes     = int.Parse(mesEAno.Substring(0, 2));
            int    ano     = int.Parse(mesEAno.Substring(3));

            Console.WriteLine("Nome: " + colaborador.Nome);
            Console.WriteLine("Departamento: " + colaborador.Departamento.Nome);
            Console.WriteLine("Ganho por " + mesEAno + ": " + colaborador.Ganho(ano, mes).ToString("F2"), CultureInfo.InvariantCulture);
        }
示例#3
0
        static void Main(string[] args)
        {
            Console.Write("Informe o departamento: ");
            string deptoNome = Console.ReadLine();

            Console.WriteLine("Informe os dados do colaborador: ");
            Console.Write("Nome: ");
            string nome = Console.ReadLine();

            Console.Write("Nível (Junior, NívelMedio, Senior): ");
            NivelDoColaborador nivel = Enum.Parse <NivelDoColaborador>(Console.ReadLine());

            Console.Write("Salário Base: ");
            double salarioBase = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Departamento depto       = new Departamento(deptoNome);
            Colaborador  colaborador = new Colaborador(nome, nivel, salarioBase, depto);

            Console.Write("Informe quantos são os contratos para este colaborador: ");
            int quantContratos = int.Parse(Console.ReadLine());

            for (int i = 1; i <= quantContratos; i++)
            {
                Console.WriteLine($"Informe #{i} dados do contrato: ");
                Console.Write("Data (DD/MM/YYYY): ");
                DateTime data = DateTime.Parse(Console.ReadLine());
                Console.Write("Valor por hora: ");
                double valorPorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                Console.Write("Informe a quantidade de horas: ");
                int          horas    = int.Parse(Console.ReadLine());
                ContratoHora contrato = new ContratoHora(data, valorPorHora, horas);
                colaborador.AddContrato(contrato);
            }

            Console.WriteLine();
            Console.Write("Informe o mês e o ano para calcular os ganhos (MM/AAAA): ");
            string mesAno = Console.ReadLine();
            int    mes    = int.Parse(mesAno.Substring(0, 2)); //Vai recortar a representação (MM/AAAA) a partir da posição zero até duas posições
            int    ano    = int.Parse(mesAno.Substring(3));    //Vai recortar a representação (MM/AAAA) a partir da posição trêz até o final

            Console.WriteLine("Nome: " + colaborador.Nome);
            Console.WriteLine("Departamento: " + colaborador.Departamento.Nome);
            Console.WriteLine("Ganhos: " + mesAno + ": " + colaborador.Ganho(ano, mes).ToString("F2"), CultureInfo.InstalledUICulture);
        }
 public ColaboradorBuilder CrieColaboradorSucesso(Guid chave)
 {
     colaborador = new Colaborador(chave, NomePessoa.Crie("Codeizi", "Treinamento"), DateTime.Now.AddYears(-20));
     CrieContratos(colaborador).ForEach(c => colaborador.AddContrato(c.DataInicio, c.SalarioContratual));
     return(this);
 }
 public ColaboradorBuilder CrieColaboradorSucesso()
 {
     colaborador = new Colaborador(Guid.NewGuid(), NomePessoa.Crie("Codeizi", "Treinamento"), DateTime.Now.AddYears(-20));
     colaborador.AddContrato(DateTime.Now, 1000);
     return(this);
 }