public async Task <IActionResult> Create(AddTravelViewModel viewModel) { var travel = viewModel.ToTravel(); var user = await GetCurrentDomainUserAsync(); var unitOfWork = UnitOfWorkFactory.CreateUnitOfWork(); var userRepository = RepositoriesFactory.CreateUserRepository(unitOfWork); var travelRepository = RepositoriesFactory.CreateTravelRepository(unitOfWork); var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork); unitOfWork.BeginTransaction(); travel.Traveller = userRepository.GetUser(user.Id); var currency = currencyRepository.GetById(viewModel.BudgetCurrencyId); if (viewModel.BudgetValue > 0 && currency != null) { travel.Budget = new MoneyValue { Value = viewModel.BudgetValue, Currency = currency }; } travelRepository.AddTravel(travel); unitOfWork.Commit(); return(RedirectToAction("Index")); }
public async Task <IActionResult> Edit(EditTravelViewModel viewModel) { var user = await GetCurrentDomainUserAsync(); var unitOfWork = UnitOfWorkFactory.CreateUnitOfWork(); var travelRepository = RepositoriesFactory.CreateTravelRepository(unitOfWork); var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork); unitOfWork.BeginTransaction(); var travel = travelRepository.GetTravel(viewModel.Id); var currency = currencyRepository.GetById(viewModel.BudgetCurrencyId); travel.Name = viewModel.Name; travel.DateStart = viewModel.DateStart; travel.DateEnd = viewModel.DateEnd; travel.Description = viewModel.Description; if (viewModel.BudgetValue > 0 && currency != null) { travel.Budget = new MoneyValue { Value = viewModel.BudgetValue, Currency = currency }; } travelRepository.UpdateTravel(travel); unitOfWork.Commit(); return(RedirectToAction("Index")); }
public void LoadDefaultModel() { if (_defaultModelLoaded != false) { return; } var unitOfWork = UnitOfWorkFactory.CreateUnitOfWork(); var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork); try { unitOfWork.BeginTransaction(); currencyRepository.CreateCurrenciesIfNoneExist(); unitOfWork.Commit(); } catch (Exception ex) { unitOfWork.Rollback(); MessageBox.Show(ex.Message, "TravelBuddy"); } _defaultModelLoaded = true; }
public IActionResult Create() { var viewModel = new AddTravelViewModel(); var unitOfWork = UnitOfWorkFactory.CreateUnitOfWork(); var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork); unitOfWork.BeginTransaction(); currencyRepository.CreateCurrenciesIfNoneExist(); viewModel.CurrencyOptions = currencyRepository.GetAll(); unitOfWork.Commit(); return(View(viewModel)); }
public IActionResult Edit(Guid id) { var unitOfWork = UnitOfWorkFactory.CreateUnitOfWork(); var travelRepository = RepositoriesFactory.CreateTravelRepository(unitOfWork); var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork); unitOfWork.BeginTransaction(); var viewModel = new EditTravelViewModel(travelRepository.GetTravel(id)); viewModel.Id = id; currencyRepository.CreateCurrenciesIfNoneExist(); viewModel.CurrencyOptions = currencyRepository.GetAll(); unitOfWork.Commit(); return(View(viewModel)); }
public void OpenAddTravelWindow() { var unitOfWork = UnitOfWorkFactory.CreateUnitOfWork(); var currencyRepository = RepositoriesFactory.CreateCurrencyRepository(unitOfWork); try { unitOfWork.BeginTransaction(); var currencyList = new List <Currency>(currencyRepository.GetAll()); var addTravelView = _formsFactory.CreateAddTravelView(this, currencyList); addTravelView.ShowModaless(); unitOfWork.Commit(); } catch (Exception ex) { unitOfWork.Rollback(); MessageBox.Show(ex.Message, "TravelBuddy"); } }