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); }
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); }
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); }