public string Alterar(Reserva reserva) { if (reserva.DATAENTRADA > reserva.PREVISAOSAIDA) { erros.Add("A data de entrada não pode ser maior que a data de saída"); } if (reserva.IDCLIENTE < 1) { erros.Add("O cliente não existe"); } else { Cliente cliente = cbll.LerPorID(reserva.IDCLIENTE); if (cliente == null) { erros.Add("Cliente não existe"); } } if (reserva.IDQUARTO < 1) { erros.Add("O quarto não existe"); } else { Quarto quarto = qbll.LerPorID(reserva.IDQUARTO); if (quarto == null) { erros.Add("Quarto não existe"); } else if (quarto.Ocupado) { erros.Add("Quarto ocupado."); } } if (erros.Count != 0) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < erros.Count; i++) { builder.AppendLine(erros[i]); } erros.Clear(); return(builder.ToString()); } return(rdal.Alterar(reserva)); }
private void TratarIntegridadeReferencial(Checkin checkin) { if (checkin.quartoId <= 0) { erros.Add("QUarto deve ser informado."); } else { Quarto quartoASerOcupado = quartoBll.LerPorID(checkin.quartoId); if (quartoASerOcupado == null) { erros.Add("QUarto deve ser informado."); } else if (quartoASerOcupado.estaOcupado && !(checkin.idReserva > 0)) { erros.Add("O quarto já esta em uso."); } } if (checkin.clienteId <= 0) { erros.Add("Cliente deve ser informado."); } else { Cliente clienteAOcuparOQuarto = clienteBll.LerPorID(checkin.clienteId); if (clienteAOcuparOQuarto == null) { erros.Add("Cliente deve ser informado."); } } }
public string inserir(Check_in check_In) { if (check_In.DATAENTRADA > check_In.PREVISAOSAIDA) { erros.Add("A data de entrada não pode ser maior que a de saída."); } if (check_In.IDCLIENTE < 1) { erros.Add("Cliente não existe"); } else { Cliente cliente = cliBLL.LerPorID(check_In.IDCLIENTE); if (cliente == null) { erros.Add("Cliente não existe"); } } if (check_In.IDQUARTO <= 0) { erros.Add("Quarto não existe"); } else { Quarto quarto = qBLL.LerPorID(check_In.IDQUARTO); if (quarto == null) { erros.Add("Quarto não existe"); } else if (quarto.Ocupado) { erros.Add("Quarto já ocupado"); } } if (check_In.IDFUNCIONARIO < 0) { erros.Add("Funcionãrio não existe"); } else { Funcionario funcionario = fBLL.LerPorID(check_In.IDFUNCIONARIO); if (funcionario == null) { erros.Add("Funcionário não existe"); } } if (erros.Count != 0) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < erros.Count; i++) { builder.AppendLine(erros[i]); } erros.Clear(); return(builder.ToString()); } using (TransactionScope scope = new TransactionScope()) { try { checkindal.inserir(check_In); qBLL.OcuparQuarto(check_In.IDQUARTO); scope.Complete(); return("Check-in efetuado com sucesso."); } catch (Exception ex) { return(ex.Message); } } }
public string Inserir(Saidas_Produtos saida) { if (saida.DATAVENDA > DateTime.Now.Date) { erros.Add("Data de venda inválida"); } if (saida.IDCHECKIN < 1) { erros.Add("Checkin inválido."); } else { Cliente c = cbll.LerPorID(saida.IDCHECKIN); if (c == null) { erros.Add("checkin inválido."); } } if (saida.IDFUNCIONARIO < 1) { erros.Add("Produto inválido."); } else { Produto p = pbll.LerPorID(saida.IDFUNCIONARIO); if (p == null) { erros.Add("Produto inválido"); } } if (erros.Count != 0) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < erros.Count; i++) { builder.AppendLine(erros[i]); } erros.Clear(); return(builder.ToString()); } using (TransactionScope scope = new TransactionScope()) { try { sdal.Inserir(saida); saida.ID = sdal.LerIdGerado(); sdal.InserirItens(saida); for (int i = 0; i < saida.Itens.Count; i++) { ItemSaida item = saida.Itens[i]; Produto p = pbll.LerPorID(item.IDPRODUTO); p.Quantidade += item.QTD; double NovoPreco = (p.Quantidade * p.Preco) + (item.PRECO * item.QTD); p.Preco = NovoPreco / (p.Quantidade + item.QTD); pbll.Alterar(p); } scope.Complete(); return("Saída realizada com sucesso."); } catch (Exception) { return("Erro na saída de produto."); } } }