public ExtrairColaboradoresPendentesResponseMessage Handle(ExtrairColaboradoresPendentesRequestMessage message) { List <string> errors = new List <string>(); try { //List<Planilha> planilhas = _planilhaRepository.GetAll(); List <Planilha> planilhas = _planilhaRepository.GetByMonth(message.NumeroMes); List <Usuario> usuariosConcluidos = new List <Usuario>(); foreach (var planilha in planilhas) { _excelService.SetSource(planilha.CaminhoFonte); string nomeUsuario = _excelService.Sheet("Horários").GetAfter("Nome:"); Usuario usuario = _aDService.GetByName(nomeUsuario); usuariosConcluidos.Add(usuario); } List <Usuario> todosUsuarios = _aDService.GetAll(); IEnumerable <Usuario> usuariosPendentes = todosUsuarios.Except(usuariosConcluidos); _excelService.Create(message.WorkbookName, message.SheetName); int row = 1; foreach (var usuarioPendente in usuariosPendentes) { _excelService.Write(usuarioPendente.CentroCusto).On(row, 1); _excelService.Write(usuarioPendente.Email).On(row, 2); _excelService.Write(usuarioPendente.Nome).On(row, 3); row++; } #region TODELETEAFTER //for (int row = 1; row <= usuariosPendentes.Count(); row++) //{ // _excelService.Write(usuariosPendentes.ElementAt(row - 1).CentroCusto).On(row, 1); // _excelService.Write(usuariosPendentes.ElementAt(row - 1).Email).On(row, 2); // _excelService.Write(usuariosPendentes.ElementAt(row - 1).Nome).On(row, 3); //} #endregion } catch (Exception ex) { errors.Add(ex.Message); } return(new ExtrairColaboradoresPendentesResponseMessage(!errors.Any(), errors)); }
public ExtrairCalculoResponseMessage Handle(ExtrairCalculoRequestMessage message) { //List<Planilha> planilhas = _planilhaRepository.GetAll(); List <Planilha> planilhas = _planilhaRepository.GetByMonth(message.Mes); List <Usuario> usuarios = new List <Usuario>(); List <Relatorio> relatorios = new List <Relatorio>(); var errors = new List <string>(); foreach (var planilha in planilhas) { _excelService.SetSource(planilha.CaminhoFonte); string nomeUsuario = _excelService.Sheet("Horários").GetAfter("Nome:"); Usuario usuario = _aDService.GetByName(nomeUsuario); errors = new List <string>(); _pontoRepository.SetSource(_excelService); List <Ponto> pontos = new List <Ponto>(); try { pontos = _pontoRepository.GetAll(); } catch (Exception ex) { } foreach (var ponto in pontos) { if (!ponto.PontoValido()) { errors.Add($"Há erros de validade com o ponto {ponto.Data}"); errors.AddRange(ponto.Events.Where(a => !a.Success).Select(x => x.Message)); } } usuario.RegistrarPonto(pontos); Relatorio relatorio = new Relatorio(usuario, planilha, errors); relatorios.Add(relatorio); //usuarios.Add(usuario); } _excelService.SetSource(message.CaminhoPlanilhaRelatorio); _excelService.Sheet("Banco de horas").CleanSheet(2); _excelService.Save(); int row = 2; foreach (var relatorio in relatorios) { _excelService.Sheet("Banco de horas").Write(relatorio.Usuario.CentroCusto.ToString()).On(row, 1); _excelService.Sheet("Banco de horas").Write(relatorio.Usuario.Email.ToString()).On(row, 2); _excelService.Sheet("Banco de horas").Write(relatorio.Usuario.Nome.ToString()).On(row, 3); _excelService.Sheet("Banco de horas").Write(relatorio.Usuario.Saldo.Duration().ToString()).On(row, 4); string evento = relatorio.Usuario.Saldo < TimeSpan.Zero ? "Negativo" : "Positivo"; _excelService.Sheet("Banco de horas").Write(evento).On(row, 5); var diasAbonado = relatorio.Usuario.Pontos.Where(x => x.Abono == Ponto.TipoAbono.Abono || x.Abono == Ponto.TipoAbono.Declaracao).Count(); _excelService.Write(diasAbonado.ToString()).On(row, 6); _excelService.Sheet("Banco de horas").Write(relatorio.Planilha.CaminhoFonte).On(row, 7); string erros = string.Join(", ", relatorio.Erros); _excelService.Sheet("Banco de horas").Write(erros).On(row, 8); _excelService.Save(); row++; } #region TODELETEAFTER //for (int row = 2; row <= relatorios.Count; row++) //{ //_excelService.Sheet("Banco de horas").Write(relatorios.ElementAt(row - 2).Usuario.CentroCusto.ToString()).On(row, 1); //_excelService.Sheet("Banco de horas").Write(relatorios.ElementAt(row - 2).Usuario.Email.ToString()).On(row, 2); //_excelService.Sheet("Banco de horas").Write(relatorios.ElementAt(row - 2).Usuario.Nome.ToString()).On(row, 3); //_excelService.Sheet("Banco de horas").Write(relatorios.ElementAt(row - 2).Usuario.Saldo.Duration().ToString()).On(row, 4); //string evento = relatorios.ElementAt(row - 2).Usuario.Saldo < TimeSpan.Zero ? "Negativo" : "Positivo"; //_excelService.Sheet("Banco de horas").Write(evento).On(row, 5); //var diasAbonado = relatorios.ElementAt(row - 2).Usuario.Pontos.Where(x => x.Abono == Ponto.TipoAbono.Abono || x.Abono == Ponto.TipoAbono.Declaracao).Count(); //_excelService.Write(diasAbonado.ToString()).On(row, 6); //_excelService.Sheet("Banco de horas").Write(relatorios.ElementAt(row - 2).Planilha.CaminhoFonte).On(row, 7); //string erros = string.Join(", ", relatorios.ElementAt(row - 2).Erros); //_excelService.Sheet("Banco de horas").Write(erros).On(row, 8); //_excelService.Save(); //} #endregion return(new ExtrairCalculoResponseMessage(!errors.Any(), errors)); }