/// <summary> /// Creates a closeout /// </summary> /// <param name="closeout">Close out</param> public void CreateCloseout(Closeout closeout) { // Validate input if (closeout.IsValid()) { // Retrieve room details Model.Room.Room room = roomDao.GetByKey(closeout.RoomId, closeout.BusinessId); if (room == null) { throw new ValidationException(ErrorFactory.CreateAndLogError(Errors.SRVEX30016, "CloseoutManager.CreateCloseout", additionalDescriptionParameters: (new object[] {closeout.RoomId}))); } // Check if the room is active. if (room.RoomStatus.Code != RoomStatusCodes.ACTIVE) { throw new ValidationException(ErrorFactory.CreateAndLogError(Errors.SRVEX30015, "CloseoutManager.CreateCloseout", arguments: new object[] {this})); } // Create closeout closeoutDao.Create(closeout); } }
/// <summary> /// Modify a Closeout /// </summary> /// <param name="closeout">Closeout object</param> public void Modify(Closeout closeout) { if(closeout.IsValid()) { // Retrieve room details Model.Room.Room room = roomDao.GetByKey(closeout.RoomId, closeout.BusinessId); if (room == null) { throw new ValidationException(ErrorFactory.CreateAndLogError(Errors.SRVEX30016, "CloseoutManager.Modify", additionalDescriptionParameters: (new object[] { closeout.RoomId }))); } // Check if the room is active. if (room.RoomStatus.Code != RoomStatusCodes.ACTIVE) { throw new ValidationException(ErrorFactory.CreateAndLogError(Errors.SRVEX30015, "CloseoutManager.Modify", arguments: new object[] { this })); } // CurrentCloseOut to compare Closeout currentCloseout = closeoutDao.GetByKey(closeout.Id.Value, closeout.BusinessId); if(currentCloseout == null) { throw new ValidationException(ErrorFactory.CreateAndLogError(Errors.SRVEX30024, "CloseoutManager.Modify", additionalDescriptionParameters: (new object[] { closeout.Id, closeout.BusinessId }), arguments: new object[] { closeout.Id, closeout.BusinessId })); } closeoutDao.Modify(closeout); } }