public string Atualizar(Reserva r) { List <string> erros = new List <string>(); #region ID Cliente if (r.IdCliente < 0) { erros.Add("ID do Cliente inválido."); } else { if (!new ClienteDAO().LerPorID(r.IdCliente).Sucesso) { erros.Add("Cliente inexistente"); } } #endregion #region Data Entrada if (r.dataEntrada < DateTime.Today) { erros.Add("Data de entrada inválida."); } else if (r.dataEntrada > r.dataSaidaPrevista) { erros.Add("Data de entrada não pode ser maior que a data prevista de saida."); } #endregion #region Saida Prevista if (r.dataSaidaPrevista <= r.dataEntrada) { erros.Add("Data prevista de saida não pode ser menor do que a data de entrada."); } #endregion #region ID Funcionario if (r.IdFuncionario < 0) { erros.Add("ID do Funcionário inválido."); } else { if (!new FuncionarioDAO().LerPorID(r.IdFuncionario).Sucesso) { erros.Add("Funcionário inexistente."); } } #endregion #region ID Quarto if (r.IdQuarto < 0) { erros.Add("ID Quarto inválido"); } else { if (!new QuartoDAO().LerPorID(r.IdQuarto).Sucesso) { erros.Add("ID Quarto Inválido."); } } #endregion StringBuilder sb = new StringBuilder(); if (erros.Count != 0) { for (int i = 0; i < erros.Count; i++) { sb.AppendLine(erros[i]); } return(sb.ToString()); } return(dao.Atualizar(r).Mensagem); }