protected void btnAdicionar_Click(object sender, EventArgs e) { if (ddlRecurso.SelectedIndex != 0) { DateTime data = Convert.ToDateTime(Session["Data"]); string horario = (string)Session["Horario"]; Guid eventoId = new Guid(Request.QueryString["EventoId"]); Guid recId = new Guid(ddlRecurso.SelectedValue); Evento evento = eventoBO.GetEventoById(eventoId); Recurso rec = controleRecursos.GetRecursoById(recId); Alocacao aloc = new Alocacao(rec, data, horario, null, evento); alocBO.UpdateAlocacao(aloc); List<Recurso> recAlocados = alocBO.GetRecursoAlocadoByEvento(data, horario, eventoId); LBoxAlocados.DataSource = recAlocados; LBoxAlocados.DataTextField = "Descricao"; LBoxAlocados.DataValueField = "Id"; LBoxAlocados.DataBind(); ddlCategoriaRecurso.SelectedIndex = 0; ddlRecurso.SelectedIndex = 0; ddlRecurso.Enabled = false; lblStatus.Text = "Recurso adicionado com sucesso."; } else { lblStatus.Text = "Não é possível adicionar este recurso."; } }
public void alocar(string recString, string dataString, string horario, string aulaString) { Guid recId = new Guid(recString); Guid aulaId = new Guid(aulaString); DateTime data = Convert.ToDateTime(dataString); //FIXME: pode ocorrer um problema se outro usuário selecionar o recurso antes... Aula aula = aulaBo.GetAulaById(aulaId); Recurso rec = recursosBO.GetRecursoById(recId); System.Diagnostics.Debug.WriteLine("Alocando: " + rec.Descricao); Alocacao aloc = new Alocacao(rec, data, horario, aula, null); alocBO.UpdateAlocacao(aloc); /* Nao e' mais necessario: o DAO foi alterado para verificar isso (GetRecursosDisponiveis) * // Verifica se algum outro recurso depende deste, em caso positivo aloca também Dictionary<Guid, Tuple<Guid, Guid>> blocks = (Dictionary<Guid, Tuple<Guid, Guid>>) Application["blocks"]; Tuple<Guid, Guid> bloqueados = blocks[recId]; if(bloqueados.Item1 != Guid.Empty) { rec = recursosBO.GetRecursoById(bloqueados.Item1); System.Diagnostics.Debug.WriteLine("Bloq. dependente: " + rec.Descricao); aloc = new Alocacao(rec, data, horario, aula, null); alocBO.UpdateAlocacao(aloc); } if (bloqueados.Item2 != Guid.Empty) { rec = recursosBO.GetRecursoById(bloqueados.Item2); System.Diagnostics.Debug.WriteLine("Bloq. dependente: " + rec.Descricao); aloc = new Alocacao(rec, data, horario, aula, null); alocBO.UpdateAlocacao(aloc); } */ }
public Alocacao GetById(int Id) { Dictionary <string, object> parms = new Dictionary <string, object> { { "Id", Id } }; Alocacao sala = Db.Get(_sqlGetById, Make, parms); return(sala); }
public object[] Take(Alocacao alocacao) { return(new object[] { "@Id", alocacao.Id, "@Data", alocacao.DataAlocacao, "@Sala", alocacao.Sala.Id, "@Funcionario", alocacao.Funcionario.Id }); }
public void AlocacaoServico_BuscarPorIdRepositorio_DeveFalhar() { Alocacao alocacao = ObjectMother.ObterAlocacaoValida(); alocacao.Id = 0; Action act = () => { alocacaoServico.BuscarPorId(alocacao.Id); }; act.Should().Throw <IdentifierUndefinedException>(); }
public Alocacao GetAlocacao(Guid recursoid, DateTime data, string horario) { try { DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelect"); baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, recursoid); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, horario); Alocacao aux = null; using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { leitor.Read(); RecursosDAO recursoDao = new RecursosDAO(); Recurso recurso = recursoDao.GetRecurso(recursoid); AulasDAO aulaDao = new AulasDAO(); Aula aula; Guid?aulaId = leitor["AulaId"] as Guid?; if (aulaId.HasValue) { aula = aulaDao.GetAula(aulaId.Value); } else { aula = null; } EventoDAO eventoDao = new EventoDAO(); Evento evento; Guid?eventoID = leitor["EventoId"] as Guid?; if (eventoID.HasValue) { evento = eventoDao.GetEvento(eventoID.Value); } else { evento = null; } aux = new Alocacao(recurso, leitor.GetDateTime(leitor.GetOrdinal("Data")), leitor.GetString(leitor.GetOrdinal("Horario")), aula, evento); } return(aux); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public List <Alocacao> GetRecursosAlocados(DateTime data, string hora) { try { List <Alocacao> aux = new List <Alocacao>(); DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectAlocados"); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Hora", DbType.String, hora); RecursosDAO recursoDao = new RecursosDAO(); EventoDAO eventoDao = new EventoDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { Recurso recurso = recursoDao.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId"))); AulasDAO aulaDao = new AulasDAO(); Aula aula; Evento evento; Guid?aulaId = leitor["AulaId"] as Guid?; if (aulaId.HasValue) { aula = aulaDao.GetAula(aulaId.Value); } else { aula = null; } Guid?eventoID = leitor["EventoId"] as Guid?; if (eventoID.HasValue) { evento = eventoDao.GetEvento(eventoID.Value); } else { evento = null; } Alocacao aloc = new Alocacao(recurso, leitor.GetDateTime(leitor.GetOrdinal("Data")), hora, aula, evento); aux.Add(aloc); } } return(aux); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public Troca(Guid id, Alocacao alocAtual, Alocacao alocDesejada, bool? aceitou, bool pendente, bool visualizada, string horario, DateTime data) { this.id = id; alocacaoAtual = alocAtual; alocacaoDesejada = alocDesejada; foiAceita = aceitou; estaPendente = pendente; foiVisualizada = visualizada; this.horario = horario; this.data = data; }
public List <Troca> GetNaoVisualizadasByEvento(Guid eventoId, DateTime data, string horario) { try { DbCommand cmd = baseDados.GetStoredProcCommand("TrocasSelectNaoVisualizadasByEvento"); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, horario); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, eventoId); List <Troca> aux = new List <Troca>(); Troca troca = null; AlocacaoDAO alocDAO = new AlocacaoDAO(); RecursosDAO recDAO = new RecursosDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { Guid trocaId = leitor.GetGuid(leitor.GetOrdinal("Id")); Recurso recAtual = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual"))); Recurso recDesejado = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado"))); Alocacao alocAtual = alocDAO.GetAlocacao(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual")), data, horario); Alocacao alocDesejada = alocDAO.GetAlocacao(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado")), data, horario); bool estaPendente = leitor.GetBoolean(leitor.GetOrdinal("EstaPendente")); bool?foiAceita = leitor["FoiAceita"] as bool?; if (foiAceita.HasValue) { foiAceita = foiAceita.Value; } else { foiAceita = null; } bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada")); troca = new Troca(trocaId, alocAtual, alocDesejada, foiAceita, estaPendente, foiVisualizada, horario, data); aux.Add(troca); } } return(aux); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public void Deletar(Alocacao entidade) { if (entidade.Id != 0) { _repositorio.Deletar(entidade); } else { throw new IdentifierUndefinedException(); } }
public AlocacaoController(IAlocacaoRepos alocacaoRepos, IHttpContextAccessor httpContextAccessor, IHostingEnvironment hostingEnvironment) { _alocacaoRepos = alocacaoRepos; _httpContextAccessor = httpContextAccessor; _hostingEnvironment = hostingEnvironment; msgValidacao = new List <string>(); alocacao = new Alocacao(); }
private Dictionary <string, object> Take(Alocacao sala) { return(new Dictionary <string, object> { { "Id", sala.Id }, { "DataReserva", sala.DataReserva }, { "HoraReservaInicio", sala.HoraReservaInicio }, { "HoraReservaFim", sala.HoraReservaFim }, { "Funcionario_Id", sala.Funcionario.Id }, { "Sala_Id", sala.Sala.Id } }); }
public Alocacao Salvar(Alocacao alocacao) { if (alocacao == null) { throw new NullReferenceException($"Alocação inválida!"); } var state = alocacao.HasId ? EntityState.Modified : EntityState.Added; _context.Entry(alocacao).State = state; _context.SaveChanges(); return(alocacao); }
public void AlocacaoServico_BuscaPorId_DeveFuncionar() { Alocacao alocacao = ObjectMother.ObterAlocacaoValida(); mockRepositorio.Setup(m => m.BuscarPorId(alocacao.Id)).Returns(alocacao); Alocacao result = alocacaoServico.BuscarPorId(alocacao.Id); result.Should().NotBeNull(); result.Id.Should().Be(1); mockRepositorio.Verify(m => m.BuscarPorId(alocacao.Id)); }
public IActionResult Deletar([FromBody] Alocacao alocacao) { try { _alocacaoRepos.Remove(alocacao); return(Json(_alocacaoRepos.ListAll())); } catch (Exception ex) { return(BadRequest(ex.ToString())); } }
public Alocacao Atualizar(Alocacao entidade) { entidade.Validar(); if (entidade.Id != 0) { entidade = _repositorio.Atualizar(entidade); } else { throw new IdentifierUndefinedException(); } return(entidade); }
public void AlocacaoServico_AtualizarRepositorio_DeveFuncionar() { Alocacao alocacao = ObjectMother.ObterAlocacaoValida(); alocacao.Id = 1; alocacao.Funcionario.NomeFuncionario = "Luiz 123"; mockRepositorio.Setup(m => m.Atualizar(alocacao)).Returns(alocacao); Alocacao result = alocacaoServico.Atualizar(alocacao); result.Funcionario.NomeFuncionario.Should().Be(alocacao.Funcionario.NomeFuncionario); }
internal List <Alocacao> GetAlocacoes(DateTime data) { List <Alocacao> lista = new List <Alocacao>(); DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectTodos"); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); AulasDAO aulaDAO = new AulasDAO(); EventoDAO eventoDAO = new EventoDAO(); RecursosDAO recDAO = new RecursosDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { Alocacao aloc; while (leitor.Read()) { Aula au = null; Recurso rec = null; Evento evento = null; DateTime?dataR = leitor["Data"] as DateTime?; if (dataR.HasValue) { data = dataR.Value; } rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId"))); Guid?aulaId = leitor["AulaId"] as Guid?; if (aulaId.HasValue) { au = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("AulaId"))); } Guid?eventoId = leitor["EventoId"] as Guid?; if (eventoId.HasValue) { evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId"))); } string hora = (string)leitor["Horario"]; aloc = new Alocacao(rec, data, hora, au, evento); lista.Add(aloc); } } return(lista); }
private void AlocarFuncionarioEmVaga(Funcionario funcionario, Vaga vaga) { var alocacao = new Alocacao() { applicationUserId = _userManager.GetUserId(User), vaga = vaga, funcionario = funcionario, data_operacao = DateTime.Now, }; _funcionarioRepository.AlocarEmVaga(vaga, funcionario); alocacao.operacao = OperacoesAlocacao.ALOCAR; _alocacaoRepository.Salvar(alocacao); }
public List <Alocacao> GetAlocacoesSemData(Calendario cal, Secretario secretario) { List <Alocacao> lista = new List <Alocacao>(); DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByProfessorSemData"); baseDados.AddInParameter(cmd, "@ProfessorId", DbType.Guid, secretario.Id); baseDados.AddInParameter(cmd, "@DataInicio", DbType.DateTime, cal.InicioG1); baseDados.AddInParameter(cmd, "@DataFim", DbType.DateTime, cal.FimG2); AulasDAO aulaDAO = new AulasDAO(); EventoDAO eventoDAO = new EventoDAO(); RecursosDAO recDAO = new RecursosDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { Alocacao aloc; while (leitor.Read()) { Aula au = null; Recurso rec = null; Evento evento = null; DateTime dateTime = new DateTime(); rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId"))); Guid?aulaId = leitor["AulaId"] as Guid?; if (aulaId.HasValue) { au = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("AulaId"))); } Guid?eventoId = leitor["EventoId"] as Guid?; if (eventoId.HasValue) { evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId"))); } string hora = (string)leitor["Hora"]; dateTime = (DateTime)leitor["Data"]; aloc = new Alocacao(rec, dateTime, hora, au, evento); lista.Add(aloc); } } return(lista); }
public void AlocacaoServico_CriarRepositorio_DeveFuncionar() { Alocacao alocacao = ObjectMother.ObterAlocacaoValida(); alocacao.Id = 0; mockRepositorio.Setup(m => m.Adicionar(alocacao)).Returns(new Alocacao { Id = 1 }); Alocacao result = alocacaoServico.Adicionar(alocacao); result.Id.Should().BeGreaterThan(0); mockRepositorio.Verify(m => m.Adicionar(alocacao)); }
public void DeletaAlocacao(Alocacao alocacao) { if (user.IsAdmin()) { try { dao.DeletaAlocacao(alocacao); } catch (DataAccessException ex) { throw ex; } } else throw new SecurityException("Acesso Negado."); }
public void AlocacaoServico_BuscaTodos_DeveFuncionar() { IList <Alocacao> ListaAlocacao = new List <Alocacao>(); Alocacao alocacao = ObjectMother.ObterAlocacaoValida(); ListaAlocacao.Add(alocacao); mockRepositorio.Setup(m => m.BuscarTodos()).Returns(ListaAlocacao); IList <Alocacao> Result = alocacaoServico.BuscarTodos(); Result.First().Id.Should().Be(1); Result.Count().Should().Be(1); mockRepositorio.Verify(m => m.BuscarTodos()); }
private Alocacao Make(IDataReader reader) { Alocacao sala = new Alocacao(); sala.Funcionario = new Funcionario(); sala.Sala = new Sala(); sala.Id = Convert.ToInt32(reader["Id"]); sala.DataReserva = Convert.ToDateTime(reader["DataReserva"]); sala.HoraReservaInicio = Convert.ToDateTime(reader["HoraReservaInicio"]); sala.HoraReservaFim = Convert.ToDateTime(reader["HoraReservaFim"]); sala.Funcionario.Id = Convert.ToInt32(reader["Funcionario_Id"]); sala.Sala.Id = Convert.ToInt32(reader["Sala_Id"]); return(sala); }
public void RetornaNumeroTotalDeDiasUteis() { var projeto = new Projetos(); var empregado = new Empregados(); var alocacao = new Alocacao(empregado, projeto); alocacao.InicioDaAlocacao = new DateTime(2019, 02, 11); alocacao.FimDaAlocacao = new DateTime(2019, 02, 17); var valorEsperado = 5; ; var valorAtual = alocacao.CountadorDiasUteis(); Assert.Equal(valorEsperado, valorAtual); }
public ActionResult Novo(string id) { try { Guid UKAdmissao = Guid.Parse(id); Admissao oAdmissao = AdmissaoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(UKAdmissao)); Empresa oEmpresa = EmpresaBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(oAdmissao.UKEmpresa)); Departamento oDepartamento = DepartamentoBusiness.Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKEmpresa.Equals(oEmpresa.UniqueKey)); Alocacao obj = new Alocacao(); obj.UKAdmissao = oAdmissao.UniqueKey; ViewBag.Contratos = (from contForn in ContratoFornecedorBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKFornecedor.Equals(oAdmissao.UKEmpresa)).ToList() join cont in ContratoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on contForn.UKContrato equals cont.UniqueKey select cont).ToList(); ViewBag.Cargos = CargoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList(); ViewBag.Estabelecimentos = (from e in EstabelecimentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() join re in REL_EstabelecimentoDepartamentoBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao)).ToList() on e.UniqueKey equals re.UKEstabelecimento where re.UKDepartamento.Equals(oDepartamento.UniqueKey) select e).ToList(); ViewBag.Equipes = EquipeBusiness.Consulta.Where(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UKEmpresa.Equals(oAdmissao.UKEmpresa)).ToList(); return(PartialView("_Novo", obj)); } catch (Exception ex) { if (ex.GetBaseException() == null) { return(Json(new { resultado = new RetornoJSON() { Erro = ex.Message } })); } else { return(Json(new { resultado = new RetornoJSON() { Erro = ex.GetBaseException().Message } })); } } }
public void UpdateAlocacao(Alocacao alocacao) { // a, b, c, d, e, x, f, g, h, i, j, k, l, m, n, p //string aux = alocacao.Horario; //for (char c = aux[0]; c <= aux[aux.Length-1]; c++) foreach (char c in alocacao.Horario) { if ((alocacao.Aula != null) && (alocacao.Evento != null)) { throw new Exception("Dados Inválidos!"); } if (c != 'o') { try { DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoUpdate"); baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, alocacao.Recurso.Id); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, alocacao.Data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, c); if (alocacao.Aula != null) { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, alocacao.Aula.Id); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, DBNull.Value); } else if (alocacao.Evento != null) { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, DBNull.Value); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, alocacao.Evento.EventoId); } else { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, DBNull.Value); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, DBNull.Value); } baseDados.ExecuteNonQuery(cmd); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } } } }
public void DeletaAlocacao(Alocacao alocacao) { try { DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoDeleta"); baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, alocacao.Recurso.Id); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, alocacao.Data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, alocacao.Horario); baseDados.ExecuteNonQuery(cmd); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public Alocacao ReaLocarSala(Sala sala, DateTime data, Funcionario funcionario, Sala NovaSala, DateTime NovaData) { Alocacao alocacao = new Alocacao(); IList <Alocacao> ListaAlocacao = _repositorio.BuscarTodos(); foreach (var item in ListaAlocacao) { if (item.Sala == sala && item.DataAlocacao == data && item.Funcionario == funcionario) { item.Sala = NovaSala; item.DataAlocacao = data; alocacao = item; } } alocacao = _repositorio.Atualizar(alocacao); return(alocacao); }
public void Service_SalaReservada_Deveria_Adicionar_Locacao_Corretamente() { _salaReservada = ObjectMother.GetSalaReservada(); _repository .Setup(f => f.Adicionar(It.IsAny <Alocacao>())) .Returns(new Alocacao { Id = 1, DataReserva = _salaReservada.DataReserva, HoraReservaInicio = _salaReservada.HoraReservaInicio, HoraReservaFim = _salaReservada.HoraReservaFim, Funcionario = _salaReservada.Funcionario, Sala = _salaReservada.Sala }); _service.Adicionar(_salaReservada); _repository.Verify(f => f.Adicionar(_salaReservada)); }
public void DeveCalcularOCustoDaAlocacao() { var projeto = new Projetos(); var empregado = new Empregados(); var alocacao = new Alocacao(empregado, projeto); var periodoDoProjeto = alocacao.CountadorDiasUteis(); alocacao.InicioDaAlocacao = new DateTime(2019, 02, 11); alocacao.FimDaAlocacao = new DateTime(2019, 02, 17); alocacao.CargaHoraria = 8; empregado.CustoDeHorasTrabalhadas = 100; var valorEsperado = 4000; var valorAtual = alocacao.CalcularCustoDeAlocacaoDoEmpregado(); Assert.Equal(valorEsperado, valorAtual); }
public Troca GetJaPropos(Guid idAtual) { try { DbCommand cmd = baseDados.GetStoredProcCommand("TrocasSelectJaPropos"); baseDados.AddInParameter(cmd, "@Id", DbType.Guid, idAtual); Troca aux = null; AlocacaoDAO alocDAO = new AlocacaoDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { DateTime data = leitor.GetDateTime(leitor.GetOrdinal("Data")); string horario = leitor.GetString(leitor.GetOrdinal("Horario")); Guid id = leitor.GetGuid(leitor.GetOrdinal("Id")); Alocacao alocAtual = alocDAO.GetAlocacao(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual")), data, horario); Alocacao alocDesejada = alocDAO.GetAlocacao(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado")), data, horario); bool estaPendente = leitor.GetBoolean(leitor.GetOrdinal("EstaPendente")); bool?foiAceita = leitor["FoiAceita"] as bool?; if (foiAceita.HasValue) { foiAceita = foiAceita.Value; } else { foiAceita = null; } bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada")); aux = new Troca(id, alocAtual, alocDesejada, foiAceita, estaPendente, foiVisualizada, horario, data); } } return(aux); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public void RetorneONumeroTotalDeDiasUteis() { var projeto = new Projetos(); var funcionario = new Funcionarios(); var alocacao = new Alocacao(funcionario, projeto); alocacao.DataDeInicio = new DateTime(2019, 02, 11); alocacao.DataDeTermino = new DateTime(2019, 02, 18); var valorEsperado = 6; var valorAtual = alocacao.ContadorDeDiasUteis(); Assert.Equal(valorEsperado, valorAtual); }
protected void Button1_Click(object sender, EventArgs e) { AulaBO aulabo = new AulaBO(); Guid g = new Guid("63529733-08BB-466C-BDE5-1F822BDC358C"); //Aula aula = aulabo.GetAulaById(new Guid("63529733-08BB-466C-BDE5-1F822BDC358C")); Aula aula = null; Evento evento = null; AlocacaoDAO aloc = new AlocacaoDAO(); RecursosBO rec = new RecursosBO(); List<Alocacao> lista = new List<Alocacao>(); DateTime data = new DateTime(2007, 08, 01); string hora = "np"; Alocacao a = new Alocacao(rec.GetRecursoById(g), data, hora, aula, evento); aloc.UpdateAlocacao(a); //lista = aloc.GetRecursosAlocados(data, hora); }
protected void btnLiberar_Click(object sender, EventArgs e) { if (LBoxAlocados.SelectedValue != "") { DateTime data = Convert.ToDateTime(Session["DataAula"]); string horario = (string)Session["Horario"]; Guid recId = new Guid(LBoxAlocados.SelectedValue); Recurso rec = controleRecursos.GetRecursoById(recId); Alocacao aloc = new Alocacao(rec, data, horario, null, null); alocBO.UpdateAlocacao(aloc); LBoxAlocados.Items.RemoveAt(LBoxAlocados.SelectedIndex); lblStatus.Text = "Recurso liberado!"; } else { lblStatus.Text = "Selecione um recurso para liberá-lo!"; } }
public List<Alocacao> GetRecursosAlocados(DateTime data, string hora) { try { List<Alocacao> aux = new List<Alocacao>(); DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectAlocados"); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Hora", DbType.String, hora); RecursosDAO recursoDao = new RecursosDAO(); EventoDAO eventoDao = new EventoDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { Recurso recurso = recursoDao.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId"))); AulasDAO aulaDao = new AulasDAO(); Aula aula; Evento evento; Guid? aulaId = leitor["AulaId"] as Guid?; if (aulaId.HasValue) aula = aulaDao.GetAula(aulaId.Value); else aula = null; Guid? eventoID = leitor["EventoId"] as Guid?; if (eventoID.HasValue) evento = eventoDao.GetEvento(eventoID.Value); else evento = null; Alocacao aloc = new Alocacao(recurso,leitor.GetDateTime(leitor.GetOrdinal("Data")),hora, aula, evento); aux.Add(aloc); } } return aux; } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public List<Alocacao> GetAlocacoesByData(DateTime data, Calendario cal) { List<Alocacao> lista = new List<Alocacao>(); DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByData"); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); AulasDAO aulaDAO = new AulasDAO(); EventoDAO eventoDAO = new EventoDAO(); RecursosDAO recDAO = new RecursosDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { Alocacao aloc; while (leitor.Read()) { Aula au = null; Recurso rec = null; Evento evento = null; rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId"))); Guid? aulaId = leitor["AulaId"] as Guid?; if (aulaId.HasValue) au = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("AulaId"))); Guid? eventoId = leitor["EventoId"] as Guid?; if (eventoId.HasValue) evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId"))); string hora = (string)leitor["Hora"]; aloc = new Alocacao(rec, data,hora,au,evento); lista.Add(aloc); } } return lista; }
public void UpdateAlocacao(Alocacao alocacao) { // a, b, c, d, e, x, f, g, h, i, j, k, l, m, n, p //string aux = alocacao.Horario; //for (char c = aux[0]; c <= aux[aux.Length-1]; c++) foreach(char c in alocacao.Horario) { if ((alocacao.Aula != null) && (alocacao.Evento != null)) throw new Exception("Dados Inválidos!"); if (c != 'o') { try { DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoUpdate"); baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, alocacao.Recurso.Id); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, alocacao.Data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, c); if (alocacao.Aula != null) { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, alocacao.Aula.Id); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, DBNull.Value); } else if (alocacao.Evento != null) { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, DBNull.Value); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, alocacao.Evento.EventoId); } else { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, DBNull.Value); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, DBNull.Value); } baseDados.ExecuteNonQuery(cmd); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } } } }
public List<Alocacao> GetAlocacoesSemData(Calendario cal, Secretario secretario) { List<Alocacao> lista = new List<Alocacao>(); DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelectByProfessorSemData"); baseDados.AddInParameter(cmd, "@ProfessorId", DbType.Guid, secretario.Id); baseDados.AddInParameter(cmd, "@DataInicio", DbType.DateTime, cal.InicioG1); baseDados.AddInParameter(cmd, "@DataFim", DbType.DateTime, cal.FimG2); AulasDAO aulaDAO = new AulasDAO(); EventoDAO eventoDAO = new EventoDAO(); RecursosDAO recDAO = new RecursosDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { Alocacao aloc; while (leitor.Read()) { Aula au = null; Recurso rec = null; Evento evento = null; DateTime dateTime = new DateTime(); rec = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("RecursoId"))); Guid? aulaId = leitor["AulaId"] as Guid?; if (aulaId.HasValue) au = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("AulaId"))); Guid? eventoId = leitor["EventoId"] as Guid?; if (eventoId.HasValue) evento = eventoDAO.GetEvento(leitor.GetGuid(leitor.GetOrdinal("EventoId"))); string hora = (string)leitor["Hora"]; dateTime = (DateTime)leitor["Data"]; aloc = new Alocacao(rec, dateTime, hora, au, evento); lista.Add(aloc); } } return lista; }
protected void dgRecusrosAlocados_ItemCommand(object sender, DataGridCommandEventArgs e) { if (e.CommandName == "Troca") { Label lblResponsavel = (Label)e.Item.FindControl("lblResponsavel"); Label lblRecursoId = (Label)e.Item.FindControl("lblRecursoId"); Label lblTurmaEventoId = (Label)e.Item.FindControl("lblTurmaEventoId"); DateTime data = Convert.ToDateTime(Session["Data"]); string horario = (string)Session["Horario"]; Guid eventoId = new Guid(Session["EventoId"].ToString()); Troca temTrocaRequerente = trocaBo.GetJaPropos(eventoId); Troca temTrocaSolicidado = trocaBo.GetJaPropos(new Guid(lblTurmaEventoId.Text)); if (temTrocaRequerente == null && temTrocaSolicidado == null) { Evento evento = null; try { evento = eventoBO.GetEventoById(eventoId); } catch (Exception) { Response.Redirect("~/Default/Erro.aspx?Erro=Código do evento inválido!"); } //monta alocacao desejada Guid recIdDesejado = new Guid(lblRecursoId.Text); Alocacao alocDesejada = alocBO.GetAlocacao(recIdDesejado, data, horario); //monta alocacao atual if (rblRecursos.SelectedValue != "") { Recurso recAtual = controleRecursos.GetRecursoById(new Guid(rblRecursos.SelectedValue)); Alocacao alocAtual = new Alocacao(recAtual, data, horario, null, evento); Troca troca = new Troca(Guid.NewGuid(), alocAtual, alocDesejada, null, true, false,horario,data); try { trocaBo.InsereTroca(troca); } catch (Exception) { Response.Redirect("~/Default/Erro.aspx?Erro=Proposta não pode ser cadastrada!"); } lblStatus.Text = "A proposta de troca de recurso foi enviada para " + lblResponsavel.Text + "."; } else { lblStatus.Text = "Selecione um recurso próprio para propor uma troca!"; } } else { lblStatus.Text = "Existe uma troca em andamento."; } } }
public Alocacao GetAlocacao(Guid recursoid, DateTime data, string horario) { try { DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoSelect"); baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, recursoid); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, horario); Alocacao aux = null; using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { leitor.Read(); RecursosDAO recursoDao = new RecursosDAO(); Recurso recurso = recursoDao.GetRecurso(recursoid); AulasDAO aulaDao = new AulasDAO(); Aula aula; Guid? aulaId = leitor["AulaId"] as Guid?; if (aulaId.HasValue) aula = aulaDao.GetAula(aulaId.Value); else aula = null; EventoDAO eventoDao = new EventoDAO(); Evento evento; Guid? eventoID = leitor["EventoId"] as Guid?; if (eventoID.HasValue) evento = eventoDao.GetEvento(eventoID.Value); else evento = null; aux = new Alocacao(recurso, leitor.GetDateTime(leitor.GetOrdinal("Data")), leitor.GetString(leitor.GetOrdinal("Horario")), aula, evento); } return aux; } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
public void UpdateAlocacao(Alocacao alocacao) { try { dao.UpdateAlocacao(alocacao); //MembershipUser user = Membership.GetUser(); //LogEntry log = new LogEntry(); //log.Message = "Recurso: " + alocacao.Recurso.Categoria + " - " + alocacao.Recurso.Descricao + "; Id: "+ alocacao.Recurso.Id +"; Data: " + alocacao.Data.ToShortDateString() + "; Horário: " + alocacao.Horario + "; Usuário: " + user.UserName; //log.TimeStamp = DateTime.Now; //log.Severity = TraceEventType.Information; //log.Title = "Update Alocação"; //log.MachineName = Dns.GetHostName(); //Logger.Write(log); } catch (DataAccessException ex) { throw ex; } }
public void InsereAlocacao(Alocacao alocacao) { if ((alocacao.Aula != null) && (alocacao.Evento != null)) throw new Exception("Dados Inválidos!"); try { DbCommand cmd = baseDados.GetStoredProcCommand("AlocacaoInsere"); baseDados.AddInParameter(cmd, "@RecursoId", DbType.Guid, alocacao.Recurso.Id); baseDados.AddInParameter(cmd, "@Data", DbType.DateTime, alocacao.Data); baseDados.AddInParameter(cmd, "@Horario", DbType.String, alocacao.Horario); if (alocacao.Aula != null) { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, alocacao.Aula.Id); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, DBNull.Value); } else if (alocacao.Evento != null) { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, DBNull.Value); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, alocacao.Evento.EventoId); } else { baseDados.AddInParameter(cmd, "@AulaId", DbType.Guid, DBNull.Value); baseDados.AddInParameter(cmd, "@EventoId", DbType.Guid, DBNull.Value); } baseDados.ExecuteNonQuery(cmd); } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }
// Deleta o(s) recurso(s) selecionado(s) protected void butDeletar_Click(object sender, ImageClickEventArgs e) { ImageButton butDel = (ImageButton)sender; // O checkbox list está dentro da célula da tabela... HtmlTableCell cell = (HtmlTableCell) butDel.Parent; CheckBoxList cbList = (CheckBoxList)cell.FindControl("cbRecursos"); // Para chegar no DataGridItem correspondente... bleargh! DataGridItem grid = (DataGridItem)cell.Parent.Parent.Parent.Parent.Parent; DropDownList ddlDisponiveis = (DropDownList)grid.FindControl("ddlDisponiveis"); string dataString = ((Label)grid.FindControl("lblData")).Text; DateTime data = Convert.ToDateTime(dataString); string horario = ((Label)grid.FindControl("lblHora")).Text; string aulaString = ((Label)grid.FindControl("lblAulaId")).Text; Guid aulaId = new Guid(aulaString); Aula aula = aulaBo.GetAulaById(aulaId); // Varre o checkbox list do fim para o início, // e remove todos os recursos selecionados (da tela e do BD) List<Recurso> listaRecLib = new List<Recurso>(); for(int r=cbList.Items.Count-1; r>=0; r--) { ListItem recurso = cbList.Items[r]; if (recurso.Selected) { Guid recId = new Guid(recurso.Value); Recurso rec = recursosBO.GetRecursoById(recId); Alocacao aloc = new Alocacao(rec, data, horario, null, null); alocBO.UpdateAlocacao(aloc); cbList.Items.RemoveAt(r); // TODO: melhorar isso - só envia email se forem recursos com a palavra "lab" em algum lugar if(rec.Categoria.Descricao.ToLower().Contains("lab")) listaRecLib.Add(rec); } } //ImageButton butDel = (ImageButton)grid.FindControl("butDeletar"); ImageButton butTransf = (ImageButton)grid.FindControl("butTransferir"); ImageButton butTrocar = (ImageButton)grid.FindControl("butTrocar"); // Se nenhum restou, esconde botões if (cbList.Items.Count == 0) { butDel.Visible = false; butTransf.Visible = false; butTrocar.Visible = false; } // Recria o dropdownlist de recursos disponíveis //ddlDisponiveis.Items.Clear(); List<Recurso> livres = recursosBO.GetRecursosDisponiveis(data, horario); livres.Sort(); Recurso dummy = new Recurso(); dummy.Descricao = "Selecionar..."; dummy.Id = dummyGuid; livres.Insert(0, dummy); ddlDisponiveis.DataValueField = "Id"; ddlDisponiveis.DataTextField = "Descricao"; ddlDisponiveis.DataSource = livres; ddlDisponiveis.DataBind(); AtualizaTodaGrade(); if(listaRecLib.Count > 0) EnviarEmailLiberacao("*****@*****.**", listaRecLib, data, horario); }
public List<Troca> GetTrocasEventosByAutor(Guid autorid, Calendario cal) { try { DbCommand cmd = baseDados.GetStoredProcCommand("TrocasEventosSelectByAutor"); baseDados.AddInParameter(cmd, "@AutorId", DbType.Guid, autorid); baseDados.AddInParameter(cmd, "@CalendarioId", DbType.Guid, cal.Id); List<Troca> aux = new List<Troca>(); Troca troca = null; AulasDAO aulaDAO = new AulasDAO(); AlocacaoDAO alocDAO = new AlocacaoDAO(); RecursosDAO recDAO = new RecursosDAO(); EventoDAO eventoDAO = new EventoDAO(); using (IDataReader leitor = baseDados.ExecuteReader(cmd)) { while (leitor.Read()) { Guid trocaId = leitor.GetGuid(leitor.GetOrdinal("Id")); Recurso recAtual = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecAtual"))); Recurso recDesejado = recDAO.GetRecurso(leitor.GetGuid(leitor.GetOrdinal("IdRecDesejado"))); string horario = leitor.GetString(leitor.GetOrdinal("Horario")); DateTime data = leitor.GetDateTime(leitor.GetOrdinal("Data")); Aula aulaAtual = null; Aula aulaDesejada = null; Evento eventoAtual = null; Evento eventoDesejado = null; Guid? IdAulaAtual = leitor["IdAulaAtual"] as Guid?; if (IdAulaAtual.HasValue) aulaAtual = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("IdAulaAtual"))); Guid? IdAulaDesejada = leitor["IdAulaDesejada"] as Guid?; if (IdAulaDesejada.HasValue) aulaDesejada = aulaDAO.GetAula(leitor.GetGuid(leitor.GetOrdinal("IdAulaDesejada"))); Guid? IdEventoAtual = leitor["IdEventoAtual"] as Guid?; if (IdEventoAtual.HasValue) eventoAtual = eventoDAO.GetEvento(IdEventoAtual); Guid? IdEventoDesejado = leitor["IdEventoDesejado"] as Guid?; if (IdEventoDesejado.HasValue) eventoDesejado = eventoDAO.GetEvento(IdEventoDesejado); Alocacao alocAtual = new Alocacao(recAtual, data, horario, aulaAtual, eventoAtual); Alocacao alocDesejada = new Alocacao(recDesejado, data, horario, aulaDesejada, eventoDesejado); bool estaPendente = leitor.GetBoolean(leitor.GetOrdinal("EstaPendente")); bool? foiAceita = leitor["FoiAceita"] as bool?; if (foiAceita.HasValue) foiAceita = foiAceita.Value; else foiAceita = null; bool foiVisualizada = leitor.GetBoolean(leitor.GetOrdinal("FoiVisualizada")); troca = new Troca(trocaId, alocAtual, alocDesejada, foiAceita, estaPendente, foiVisualizada, horario, data); aux.Add(troca); } } return aux; } catch (SqlException ex) { throw new DataAccessException(ErroMessages.GetErrorMessage(ex.Number), ex); } }