public Reserve Create(Reserve reserve, Guid lodgingId) { try { reserve.Id = Guid.NewGuid(); reserve.PhoneNumberOfContact = Int32.Parse(RandomPhoneNumber(8)); reserve.DescriptionForGuest = RandomDescription(50); Lodging lodgingOfReserve = lodgingManagement.GetLodgingById(lodgingId); int totalDays = (reserve.CheckOut - reserve.CheckIn).Days; int[] QuantityOfGuest = new int[4] { reserve.QuantityOfAdult, reserve.QuantityOfChild, reserve.QuantityOfBaby, reserve.QuantityOfRetired }; reserve.LodgingOfReserve = lodgingOfReserve; reserve.StateOfReserve = Reserve.ReserveState.Creada; reserve.TotalPrice = lodgingOfReserve.CalculateTotalPrice(totalDays, QuantityOfGuest); reserve.VerifyFormat(); reserveRepository.Add(reserve); return(reserve); } catch (ReserveException e) { throw new DomainBusinessLogicException(e.Message); } catch (ClientBusinessLogicException e) { throw new ClientBusinessLogicException(MessageExceptionBusinessLogic.ErrorCreatingReserve, e); } catch (ServerException e) { throw new ServerBusinessLogicException("No se puede crear la reserva deseada.", e); } }
public Reserve Update(Guid id, Reserve aReserve) { try { Reserve reserveOfDb = reserveRepository.Get(id); reserveOfDb.UpdateAttributes(aReserve); reserveOfDb.VerifyFormat(); reserveRepository.Update(reserveOfDb); return(reserveOfDb); } catch (ReserveException e) { throw new DomainBusinessLogicException(e.Message); } catch (ClientException e) { throw new ClientBusinessLogicException(MessageExceptionBusinessLogic.ErrorUpdatingReserveNotFound, e); } catch (ServerException e) { throw new ServerBusinessLogicException(MessageExceptionBusinessLogic.ErrorUpdatingReserve, e); } }