Beispiel #1
0
        public ActionResult DeleteTrip(int tripId)
        {
            BlViewTrip trip     = null;
            var        _blError = TripManager.GetTripById(tripId, out trip);

            // error handling
            if (_blError.ErrorCode != 0)
            {
                throw new ApplicationException(_blError.ErrorMessage);
            }

            if (trip == null || trip.DlTripView == null)
            {
                throw new ApplicationException(String.Format("Invalid trip id requested: {0}", tripId));
            }

            if (trip.DlTripView.AspNetUserId != User.Identity.GetUserId())
            {
                throw new ApplicationException(String.Format("Unauthorized trip id requested: {0} by {1}", tripId, User.Identity.GetUserId()));
            }

            // looks like all ok
            var _model = new EditTripViewModel()
            {
                ActiveTrip = trip, RelatedTemplates = null
            };

            return(View(_model));
        }
Beispiel #2
0
        public async Task <IActionResult> MyVacations(bool InUSA, bool LikesHot, int Price, bool HasChildren, bool LikesOutdoor)
        {
            Survey survey = new Survey()
            {
                InUSA        = InUSA,
                LikesHot     = LikesHot,
                Price        = Price,
                HasChildren  = HasChildren,
                LikesOutdoor = LikesOutdoor
            };
            EditTripViewModel etvm = new EditTripViewModel();

            etvm.AnswerCode  = "";
            etvm.AnswerCode += survey.InUSA ? "1," : "0,";
            etvm.AnswerCode += survey.LikesHot ? "1," : "0,";
            switch (survey.Price)
            {
            case 1:
                etvm.AnswerCode += "1,";
                break;

            case 2:
                etvm.AnswerCode += "2,";
                break;

            case 3:
                etvm.AnswerCode += "3,";
                break;
            }
            etvm.AnswerCode += survey.HasChildren ? "1," : "0,";
            etvm.AnswerCode += survey.LikesOutdoor ? "1" : "0";

            using (var client = new HttpClient())
            {
                try
                {
                    client.BaseAddress = new Uri("https://blindvacationapi.azurewebsites.net");
                    var response = await client.GetAsync($"api/plan/{etvm.AnswerCode}");

                    response.EnsureSuccessStatusCode();

                    var stringResult = await response.Content.ReadAsStringAsync();

                    EditTripViewModel responseItem = JsonConvert.DeserializeObject <EditTripViewModel>(stringResult);


                    //TODO: remove hardcoded data
                    responseItem.User = await _users.GetUser(1);

                    responseItem.Activities = responseItem.Activity.Name.Split("\r\n");
                    responseItem.AnswerCode = etvm.AnswerCode;
                    return(View("Details", responseItem));
                }
                catch (Exception)
                {
                    return(BadRequest($"Can't Connect to API :("));
                }
            }
        }
Beispiel #3
0
        public IActionResult Edit(int tripId)
        {
            Trip myTripEdit = context.Trips.Single(t => t.ID == tripId);

            EditTripViewModel editTripViewModel = EditTripViewModel.EditTrip(myTripEdit);

            return(View(editTripViewModel));
        }
Beispiel #4
0
        public ActionResult EditTrip(int tripId)
        {
            BlViewTrip trip     = null;
            var        _blError = TripManager.GetTripById(tripId, out trip);

            // error handling
            if (_blError.ErrorCode != 0)
            {
                throw new ApplicationException(_blError.ErrorMessage);
            }

            if (trip == null || trip.DlTripView == null)
            {
                throw new ApplicationException(String.Format("Invalid trip id requested: {0}", tripId));
            }

            if (trip.DlTripView.AspNetUserId != User.Identity.GetUserId())
            {
                throw new ApplicationException(String.Format("Unauthorized trip id requested: {0} by {1}", tripId, User.Identity.GetUserId()));
            }

            // looks like all ok
            List <BlTripTemplate> _allTemplates     = null;
            List <BlTripTemplate> _relatedTemplates = new List <BlTripTemplate>();

            _blError = TripManager.SearchTripTemplatesByAlias(trip.DlTripView.TemplateSearchAlias, out _allTemplates);

            if (_allTemplates != null)
            {
                foreach (var template in _allTemplates)
                {
                    if (!trip.DlTripView.Templates.Contains(template.DlTemplate.Id.ToString()))
                    {
                        _relatedTemplates.Add(template);
                    }
                }
            }

            var startLocationOptions      = trip.DlTripView.StartLocation.Split('/').ToList();
            var _tripStartLocationOptions = new List <SelectListItem>();

            foreach (var startLocation in startLocationOptions)
            {
                _tripStartLocationOptions.Add(new SelectListItem()
                {
                    Text = startLocation, Value = startLocation
                });
            }

            var _model = new EditTripViewModel()
            {
                ActiveTrip = trip, RelatedTemplates = _relatedTemplates, TripStartLocationOptions = _tripStartLocationOptions
            };

            return(View("EditTrip", _model));
        }
Beispiel #5
0
        public IActionResult EditTrip(EditTripViewModel model)
        {
            var success = tours.EditTrip(model.Id, model.StartDate, model.EndDate, model.Price);

            if (success)
            {
                TempData.AddSuccessMessage($"Trip {model.Id} was edited successfully!");
            }
            else
            {
                TempData.AddErrorMessage($"Trip {model.Id}  was not changed");
            }

            return(base.RedirectToAction(
                       nameof(Web.Controllers.ToursController.All), "Tours", new { area = string.Empty, id = model.TourId }));
        }
Beispiel #6
0
        public async Task <ActionResult> DeleteTripAsync(EditTripViewModel model, string submit)
        {
            if (submit == "discard")
            {
                // remove session var
                Session["ImmediateTrip"] = null;

                // update the status to DELETED
                var _blError = await TripManager.DeleteUserTripAsync(model.ActiveTrip.DlTripView);

                if (_blError.ErrorCode != 0)
                {
                    throw new ApplicationException(_blError.ErrorMessage);
                }

                return(RedirectToAction("Index", "Home"));
            }

            return(RedirectToAction("ViewTrip", new { @tripId = model.ActiveTrip.DlTripView.Id }));
        }
Beispiel #7
0
        public IActionResult Edit(EditTripViewModel editTripViewModel)
        {
            if (ModelState.IsValid)
            {
                Trip updateTrip = context.Trips.Single(t => t.ID == editTripViewModel.ID);
                context.Trips.Update(updateTrip);

                updateTrip.Name    = editTripViewModel.Name;
                updateTrip.City    = editTripViewModel.City;
                updateTrip.Airline = editTripViewModel.Airline;
                updateTrip.Lodging = editTripViewModel.Lodging;
                updateTrip.Plans   = editTripViewModel.Plans;

                context.SaveChanges();
                return(Redirect("/User/Index"));
            }
            else
            {
                return(View(editTripViewModel));
            }
        }
Beispiel #8
0
        public async Task <ActionResult> SaveTripAsync(EditTripViewModel model)
        {
            var _blError = await TripManager.SaveUserTripChangesAsync(model.ActiveTrip.DlTripView, model.ActiveTrip.DlTripStepsView);

            return(RedirectToAction("ViewTrip", new { @tripId = model.ActiveTrip.DlTripView.Id }));
        }
 public EditTripPage()
 {
     InitializeComponent();
     BindingContext = new EditTripViewModel();
 }
Beispiel #10
0
 public EditTrip(TripModel trip)
 {
     InitializeComponent();
     DataContext = new EditTripViewModel(trip);
 }