public void OpenCostListWindow(Guid travelId) { var unitOfWork = UnitOfWorkFactory.CreateUnitOfWork(); var travelRepository = RepositoriesFactory.CreateTravelRepository(unitOfWork); try { unitOfWork.BeginTransaction(); var travel = travelRepository.GetTravel(travelId); var costList = new List <TravelActivityWithCost>(travel.CostList); _formsFactory.CreateCostListView(this, costList, travel.Id).ShowModaless(); unitOfWork.Commit(); } catch (Exception ex) { unitOfWork.Rollback(); MessageBox.Show(ex.Message, "TravelBuddy"); } }