Пример #1
0
        public ActionResult TripPlanning()
        {
            var model = new TripPlanningViewModel();

            if (Request.IsAuthenticated)
            {
                // find all trips for the user
                List <BlViewTrip> _allTrips = null;
                var blError = TripManager.GetAllTripsForUser(User.Identity.GetUserId(), out _allTrips);
                model.AllTrips = _allTrips;

                // find any active trip - to move to a business layer method
                var _activeTrip = _allTrips.FirstOrDefault(p => (p.DlTripView.Status.Trim() == TripStatus.booked.ToString()));

                // if there IS an active trip - redirect to view
                if (_activeTrip != null)
                {
                    var _tripViewModel = new TripViewModel()
                    {
                        ActiveTrip = _activeTrip
                    };
                    return(View("Trip", _tripViewModel));
                }

                // else show all the planned trips
                var _plannedTrips = _allTrips.Where(p => (p.DlTripView.Status.Trim() == TripStatus.planned.ToString() || p.DlTripView.Status.Trim() == TripStatus.consulting.ToString())).ToList();
                model.PlannedTrips = _plannedTrips;

                List <Destination> _destinations = null;
                blError = DestinationManager.GetTopDestinations("", 8, out _destinations);
                model.SuggestedDestinations = _destinations;
            }

            return(View(model));
        }
Пример #2
0
        async private void sendLocation(CLLocation loc)
        {
            int taskId = -1;

            taskId = UIApplication.SharedApplication.BeginBackgroundTask(() => {
                UIApplication.SharedApplication.EndBackgroundTask(taskId);
            });
            iOSLoginManager loginManager = iOSLoginManager.Instance;

            string userId     = loginManager.GetUserId();
            int    travelerId = loginManager.GetTravelerId();

            TravelerLocation travelerLoc = new TravelerLocation();

            travelerLoc.Latitude  = loc.Coordinate.Latitude;
            travelerLoc.Longitude = loc.Coordinate.Longitude;
            travelerLoc.TimeStamp = DateTime.UtcNow;
            //DateTime.SpecifyKind(loc.Timestamp, DateTimeKind.Utc);
            travelerLoc.UserId     = userId;
            travelerLoc.TravelerId = travelerId;

            TripManager tripManager = new TripManager();
            await tripManager.PostTravelerLocation(travelerLoc);

            UIApplication.SharedApplication.EndBackgroundTask(taskId);
        }
Пример #3
0
        public async Task <ActionResult> CreateTrip(TripViewModel model)
        {
            // create a new Trip object from the form and save it
            Trip trip = new Trip()
            {
                AspNetUserId  = User.Identity.GetUserId(),
                DestinationId = model.CreateTripViewModel.DestinationId,
                NickName      = model.CreateTripViewModel.NickName,
                StartDate     = model.CreateTripViewModel.StartDate,
                StartLocation = model.CreateTripViewModel.StartLocation,
                Status        = TripStatus.planned.ToString(),
                HomeLocation  = model.CreateTripViewModel.HomeLocation,
                PaxAdults     = model.CreateTripViewModel.Adults,
                PaxMinors     = model.CreateTripViewModel.Minors,
                TripType      = model.CreateTripViewModel.TripType,
                TripCurrency  = model.CreateTripViewModel.Currency,
            };

            var _blError = await TripManager.CreateTrip(trip, model.CreateTripViewModel.TemplateId);

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

            return(RedirectToAction("ViewTrip", new { tripId = trip.Id }));
        }
Пример #4
0
        public ActionResult ViewAccommodationBooking(int id)
        {
            TripBookingAccommodation accommodation = null;
            var blError = TripManager.GetTripBookingAccommodation(id, out accommodation);

            if (blError.ErrorCode > 0)
            {
                throw new ApplicationException(blError.ErrorMessage);
            }

            var model = new AccommodationBookingViewModel()
            {
                AccommodationType = accommodation.AccommodationType,
                CheckinDate       = accommodation.CheckinDate.HasValue ? accommodation.CheckinDate.Value : DateTime.MinValue,
                CheckoutDate      = accommodation.CheckoutDate.HasValue ? accommodation.CheckoutDate.Value : DateTime.MinValue,
                TravellerNotes    = accommodation.TravellerNotes,
                SpecialRequests   = accommodation.SpecialRequests,
                BookingStatus     = accommodation.Status,
                AdminNotes        = accommodation.AdminNotes,
                TripId            = accommodation.TripId,
                TownOrCity        = accommodation.TownOrCity,
                Adults            = accommodation.Adults.HasValue ? accommodation.Adults.Value : 0,
                Kids            = accommodation.Kids.HasValue ? accommodation.Kids.Value : 0,
                PropertyName    = accommodation.PropertyName,
                PropertyAddress = accommodation.PropertyAddress,
            };

            return(View(model));
        }
Пример #5
0
        private void btnNav_Click(object sender, EventArgs e)
        {
            if (pSchedule.Visible && !pVehicle.Visible && !pOverview.Visible)
            {
                if (dtStart.Value.Date > dtEnd.Value.Date)
                {
                    MessageBox.Show("End Date can't be lower than Start Date");
                }
                else
                {
                    var param = new Dictionary <string, object>();
                    param.Add("@start", dtStart.Value);
                    param.Add("@end", dtEnd.Value);
                    //grd.DataSource = Connection.GetTMSConnection.ExecuteStoredProcedure("SP_AvailableVehicle", param);
                    //grd.ClearSelection();
                    lb.DataSource     = Connection.GetTMSConnection.ExecuteStoredProcedure("SP_AvailableVehicle", param);
                    lb.DisplayMember  = "Vehicle";
                    lb.ValueMember    = "Vehicle";
                    pSchedule.Visible = false;
                    pVehicle.Visible  = true;
                    btnBack.Visible   = true;
                }
            }
            else if (!pSchedule.Visible && pVehicle.Visible && !pOverview.Visible) // Available Vehicle
            {
                //if (grd.SelectedRows.Count == 0)
                //{
                //    MessageBox.Show("Select a vehicle.");
                //}

                lblExpStart.Text  = dtStart.Value.Date.ToShortDateString();
                lblExpEnd.Text    = dtEnd.Value.Date.ToShortDateString();
                lblIncharge.Text  = txtIncharge.Text;
                lblVehicle.Text   = lb.SelectedValue.ToString();
                pVehicle.Visible  = false;
                pOverview.Visible = true;
                btnNav.Text       = "Save";
            }
            else if (!pSchedule.Visible && !pVehicle.Visible && pOverview.Visible)
            {
                var unit    = new TripUnit();
                var manager = new TripManager();

                unit.TripId        = DataSupport.GetNextMenuCodeInt("TR");
                unit.ExpectedStart = lblExpStart.Text;
                unit.ExpectedEnd   = lblExpEnd.Text;
                unit.Incharge      = lblIncharge.Text;
                unit.VehicleId     = lblVehicle.Text;
                unit.RouteId       = "";
                unit.ActualStart   = "";
                unit.ActualEnd     = "";
                unit.Cost          = "";
                unit.LastUpdated   = "";

                manager.InsertTrip(unit);
                manager.RunScript();
                MessageBox.Show("Successfully saved!");
                DialogResult = DialogResult.OK;
            }
        }
Пример #6
0
        public async Task <ActionResult> SaveTripBookingAccommodationAsync(AccommodationBookingViewModel model)
        {
            var accommodation = new TripBookingAccommodation()
            {
                Kids              = model.Kids,
                Adults            = model.Adults,
                TownOrCity        = model.TownOrCity,
                AccommodationType = model.AccommodationType,
                CheckinDate       = model.CheckinDate,
                CheckoutDate      = model.CheckoutDate,
                TravellerNotes    = model.TravellerNotes,
                SpecialRequests   = model.SpecialRequests,
                Status            = AccommodationBookingStatus.requested.ToString(),
                TripId            = model.TripId,
                TripStepId        = model.TripStepId
            };

            var blError = await TripManager.SaveTripBookingAccommodationAsync(accommodation);

            if (blError.ErrorCode == 0)
            {
                return(RedirectToAction("ViewTrip", new { @tripId = model.TripId }));
            }
            else
            {
                ModelState.AddModelError("blError.ErrorMessage", blError.ErrorMessage);
                return(View("AccommodationBooking", model));
            }
        }
Пример #7
0
        public ActionResult ViewTransferBooking(int id)
        {
            View_TripBookingTransport transfer = null;
            var blError = TripManager.GetTripBookingTransport(id, out transfer);

            if (blError.ErrorCode > 0)
            {
                throw new ApplicationException(blError.ErrorMessage);
            }

            var model = new FlightBookingViewModel()
            {
                TripId          = transfer.TripId,
                Adults          = transfer.Adults.HasValue ? transfer.Adults.Value : 0,
                BookingStatus   = transfer.BookingStatus,
                FlightClass     = transfer.TravelClass,
                FlightDate      = transfer.BookingDate.HasValue ? transfer.BookingDate.Value : DateTime.MinValue,
                From            = transfer.TransportFrom, To = transfer.TransportTo,
                Kids            = transfer.Kids.HasValue ? transfer.Kids.Value : 0,
                TravellerNotes  = transfer.TravellerNotes,
                TransportType   = transfer.TransportType,
                AdminNotes      = transfer.AdminNotes,
                TransferDetails = transfer.TransferDetails
            };

            return(View(model));
        }
Пример #8
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));
        }
Пример #9
0
        public ActionResult AddCircuitToTrip(int tripId, int templateId = 0)
        {
            BlViewTrip trip     = null;
            var        _blError = TripManager.GetTripById(tripId, out trip);

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

            var model = new TripViewModel();

            model.ActiveTrip = trip;

            BlTripTemplate template = null;

            _blError = TripManager.GetTripTemplatesById(templateId, out template);
            if (_blError.ErrorCode != 0)
            {
                throw new ApplicationException(_blError.ErrorMessage);
            }

            model.CreateTripTemplate = template;

            return(View(model));
        }
Пример #10
0
        public ActionResult CreateTripFromTemplate(int templateId)
        {
            // get the trip template
            BlTripTemplate _template = null;
            var            _blerror  = TripManager.GetTripTemplatesById(templateId, out _template);

            // assign the template to the view model
            var _model = new TripViewModel();

            _model.CreateTripTemplate = _template;

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

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

            _model.CreateTripStartLocationOptions = _tripStartLocationOptions;

            _model.CreateTripViewModel = new CreateTripViewModel()
            {
                DestinationId = _template.DlTemplate.DestinationId, TemplateId = _template.DlTemplate.Id, StartDate = DateTime.Now
            };

            return(View("Trip", _model));
        }
Пример #11
0
        public void ShouldGetTripByIdReturnRightTrip()
        {
            var sampleTrip = Trips.First();
            var trip       = TripManager.GetTripById(sampleTrip.Key);

            Assert.That(trip, Is.EqualTo(sampleTrip.Value));
            var unused = Uow.DidNotReceive().CommitAsync();
        }
Пример #12
0
        public ActionResult TripManagement(int id)
        {
            _CheckForAdminAccess();

            BlTrip trip     = null;
            var    _blError = TripManager.Admin_GetTripById(id, out trip);

            return(View(trip));
        }
Пример #13
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));
        }
Пример #14
0
        public async Task <ActionResult> AddCircuitToTripSubmit(TripViewModel model)
        {
            var blError = await TripManager.AddTemplateToTripAsync(model.ActiveTrip.DlTripView, model.CreateTripTemplate.DlTemplate.Id);

            if (blError.ErrorCode != 0)
            {
                throw new ApplicationException(blError.ErrorMessage);
            }
            return(RedirectToAction("ViewTrip", new { tripId = model.ActiveTrip.DlTripView.Id }));
        }
Пример #15
0
        public async Task ShouldDeleteTrip()
        {
            var trip     = Trips.First();
            int numTrips = Trips.Count;
            await TripManager.DeleteTrip(trip.Value);

            Assert.That(!Trips.ContainsKey(trip.Key));
            Assert.That(Trips.Count, Is.EqualTo(numTrips - 1));
            var unused = Uow.Received(1).CommitAsync();
        }
Пример #16
0
        static void Main(string[] args)
        {
            //TripManager tripManager = new TripManager(new BusPassenger(), new BusDriver());
            //tripManager.MakeTrip();

            //tripManager = new TripManager(new CarPassenger(), new CarDriver());
            //tripManager.MakeTrip();
            TripManager tripManager = new TripManager(IOCUtil.Resolve <IPassenger>(), IOCUtil.Resolve <IDriver>());

            tripManager.MakeTrip();
            Console.ReadKey();
        }
Пример #17
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static IEnumerable <SelectListItem> GetTripProvidersSelectList()
        {
            var _dbTripProviders = new List <TripProvider>();
            var blError          = TripManager.GetAllTripProviders(out _dbTripProviders);
            var _tripProviders   = _dbTripProviders.Select(x =>
                                                           new SelectListItem
            {
                Value = x.Id.ToString(),
                Text  = x.Name
            });

            return(new SelectList(_tripProviders, "Value", "Text"));
        }
Пример #18
0
        public ActionResult EditTripStep(int id)
        {
            _CheckForAdminAccess();

            View_TripStep step     = null;
            var           _blError = TripManager.Admin_GetTripStepById(id, out step);

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

            return(View(step));
        }
Пример #19
0
        public async Task <ActionResult> RemoveDestinationFromTripAsync(RemoveDestinationFromTripViewModel model, string submit)
        {
            if (submit == "remove")
            {
                var _blError = await TripManager.DeleteUserTripstepAsync(model.DlTripStep.Id);

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

            return(RedirectToAction("EditTrip", new { @tripId = model.DlTripStep.TripId }));
        }
Пример #20
0
        private void btnNav_Click(object sender, EventArgs e)
        {
            if (cbRoute.SelectedIndex == -1)
            {
                MessageBox.Show("Select Route");
                return;
            }

            var manager  = new TripManager();
            var tripUnit = new TripUnit();

            tripUnit.TripId        = lblTripNo.Text;
            tripUnit.ExpectedStart = lblTripStart.Text;
            tripUnit.ExpectedEnd   = lblTripEnd.Text;
            tripUnit.Incharge      = lblIncharge.Text;
            tripUnit.VehicleId     = lblVehicle.Text;
            tripUnit.RouteId       = cbRoute.SelectedValue.ToString();
            tripUnit.ActualStart   = "";
            tripUnit.ActualEnd     = "";
            tripUnit.Cost          = "";
            tripUnit.LastUpdated   = DateTime.Now.Date.ToShortDateString();
            manager.InsertTrip(tripUnit);

            manager.WMSHeaderInsert(lblTripNo.Text, lblIncharge.Text);
            foreach (DataGridViewRow row in grdOrders.Rows)
            {
                var tripOrderUnit = new TripOrderUnit();
                tripOrderUnit.DropSequence            = row.Cells["colDropSequence"].Value.ToString();
                tripOrderUnit.TripId                  = lblTripNo.Text;
                tripOrderUnit.OrderId                 = row.Cells["colShipId"].Value.ToString();
                tripOrderUnit.Reference               = row.Cells["colRefDoc"].Value.ToString();
                tripOrderUnit.ReferenceDate           = row.Cells["colRefDocDate"].Value.ToString();
                tripOrderUnit.ClientId                = row.Cells["colClient"].Value.ToString();
                tripOrderUnit.CustomerId              = row.Cells["colCustId"].Value.ToString();
                tripOrderUnit.OrderManagementSystem   = row.Cells["colClient"].Value.ToString();
                tripOrderUnit.DocumentValue           = row.Cells["colDocValue"].Value.ToString();
                tripOrderUnit.CustomerDeliveryAddress = "";
                tripOrderUnit.Remarks                 = "";
                tripOrderUnit.Status                  = "FOR RECEIVING";
                manager.InsertTripOrder(tripOrderUnit);

                manager.UpdateOutgoingShipmentRequest("out_shipment_id", tripOrderUnit.OrderId);
                manager.WMSDetailsInsert(tripOrderUnit.TripId, tripOrderUnit.OrderId, tripOrderUnit.DropSequence, lblTripStart.Text);
            }
            manager.RunScript();

            MessageBox.Show("SAVED");

            DialogResult = DialogResult.OK;
        }
Пример #21
0
        public ExcutionResult GetById(string id)
        {
            ExcutionResult result = new ExcutionResult();

            try
            {
                var param = TripManager.GetById(id);
                result.Data = param;
            }
            catch (Exception e)
            {
                result.ErrorCode = 1;
                result.Message   = e.Message;
            }
            return(result);
        }
Пример #22
0
        public ExcutionResult Search(string keyword)
        {
            ExcutionResult result = new ExcutionResult();

            try
            {
                var param = TripManager.Search(keyword);
                result.Data = param;
            }
            catch (Exception e)
            {
                result.ErrorCode = 1;
                result.Message   = e.Message;
            }
            return(result);
        }
Пример #23
0
        public async Task ShouldUpdateTrip()
        {
            var trip       = Trips.First();
            var oldComment = trip.Value.Comment;

            trip.Value.Comment = "Test update";
            var end = DateTimeOffset.Now.AddDays(10);

            trip.Value.EndDate = end;
            await TripManager.UpdateTrip(trip.Value);

            Assert.That(Trips.First().Value.Comment, Is.Not.EqualTo(oldComment));
            Assert.That(Trips.First().Value.EndDate, Is.EqualTo(end));
            Assert.That(Trips.First().Value.Id, Is.EqualTo(trip.Value.Id));
            var unused = Uow.Received(1).CommitAsync();
        }
Пример #24
0
        public async Task ShouldAddNewTrip()
        {
            var trip = new Trip
            {
                StartDate   = DateTimeOffset.Now.AddDays(10),
                EndDate     = DateTimeOffset.Now.AddDays(20),
                Comment     = "Test Add",
                Destination = "France"
            };

            int numTrips = Trips.Count;
            await TripManager.CreateTrip(trip);

            Assert.That(trip, Is.EqualTo(Trips[trip.Id]));
            Assert.That(Trips.Count, Is.EqualTo(numTrips + 1));
            var unused = Uow.Received(1).CommitAsync();
        }
Пример #25
0
        public ActionResult ViewTrip(int tripId)
        {
            // get the trip details
            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()));
            }

            // all seems ok if you reach here
            List <BlTripTemplate> _allTemplates     = null;
            List <BlTripTemplate> _relatedTemplates = new List <BlTripTemplate>();

            _blError = TripManager.SearchRelatedTripTemplates(trip.DlTripView.Id, out _allTemplates);

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

            return(View("Trip", _model));
        }
Пример #26
0
        public ActionResult RemoveDestinationFromTrip(int tripStepId, int tripId)
        {
            var        _model  = new RemoveDestinationFromTripViewModel();
            BlViewTrip tripObj = null;
            var        blError = TripManager.GetTripstepDetailsById(tripStepId, out tripObj);

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

            _model.DlTripStep               = tripObj.DlTripStepsView[0];
            _model.DlTrip                   = tripObj.DlTripView;
            _model.DlBookingsView           = tripObj.DlBookingsView;
            _model.DlTransportsBookingsView = tripObj.DlTransportsBookingsView;

            return(View(_model));
        }
Пример #27
0
        public ActionResult ListAllTripTemplates(string templateAlias)
        {
            var _availableTemplates = new List <BlTripTemplate>();
            var _allTemplates       = new List <BlTripTemplate>();
            var _blError            = TripManager.SearchTripTemplatesByAlias(templateAlias, out _availableTemplates);
            var _trip = TripManager.GetImmediateTripForUser(User.Identity.GetUserId());

            if (_availableTemplates != null)
            {
                foreach (var template in _availableTemplates)
                {
                    // if there is already a trip that includes this template - then
                    if (_trip != null && _trip.DlTripView != null && !String.IsNullOrEmpty(_trip.DlTripView.Templates) &&
                        _trip.DlTripView.Templates.Contains(template.DlTemplate.Id.ToString()))
                    {
                        // do nothing
                    }

                    else // add it to the available list
                    {
                        _allTemplates.Add(template);
                    }
                }
            }

            var _model = new TripViewModel()
            {
                AliasName    = templateAlias,
                AllTemplates = _allTemplates
            };

            if (_trip != null)
            {
                _model.ImmediateTripId = _trip.DlTripView.Id;
                _model.ActiveTrip      = _trip;
            }

            if (_availableTemplates.Count > 0)
            {
                _model.Country = _availableTemplates[0].Country;
            }

            return(View("TripTemplates", _model));
        }
Пример #28
0
        public ActionResult AddTripBookingAccommodation(int tripStepId, int tripId)
        {
            BlViewTrip tripObj = null;
            var        blError = TripManager.GetTripById(tripId, out tripObj);

            if (blError.ErrorCode > 0)
            {
                throw new ApplicationException(blError.ErrorMessage);
            }

            var tripStepObj = tripObj.DlTripStepsView.FirstOrDefault(p => p.Id == tripStepId);

            if (tripStepObj == null)
            {
                throw new ApplicationException(string.Format("Invalid parameter - [TripStepId:{0}]", tripStepId));
            }

            var model = new AccommodationBookingViewModel()
            {
                TripName            = tripObj.DlTripView.Name,
                TripDescription     = tripObj.DlTripView.Description,
                TripStepName        = String.Format("{0} : {1}", tripStepObj.Destination, tripStepObj.ShortDescription),
                TripStepDescription = tripStepObj.LongDescription,
                TripStepStartDate   = tripStepObj.StartDate,
                TripStepEndDate     = tripStepObj.EndDate,
                TripStepId          = tripStepId,
                TripId     = tripId,
                Adults     = tripObj.DlTripView.PaxAdults,
                Kids       = tripObj.DlTripView.PaxMinors,
                TownOrCity = tripStepObj.Destination,
            };

            if (tripStepObj.StartDate.HasValue)
            {
                model.CheckinDate = tripStepObj.StartDate.Value;
            }

            if (tripStepObj.EndDate.HasValue)
            {
                model.CheckoutDate = tripStepObj.EndDate.Value;
            }

            return(View("AccommodationBooking", model));
        }
Пример #29
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors();

            services.AddMvc(options =>
            {
                options.Filters.Add(typeof(ExceptionFilter));
                options.Filters.Add(typeof(ModelValidationFilter));
            });

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info {
                    Title = "My API", Version = "v1"
                });
            });

            IAccountRepository accountRepository = new InMemoryAccountRepository(new List <Account>());
            var accountManager = new AccountManager(accountRepository);

            var totpManager = new TotpManager(new TotpGenerator(),
                                              Configuration["TotpSettings:totpSecretKey"],
                                              Configuration.GetValue <int>("TotpSettings:totpTokenLifetimeInSeconds"),
                                              new InMemoryTotpTokenRepository(new Dictionary <string, int>()));

            var smsManager  = new SmsManager();
            var text        = File.ReadAllText("places.json");
            var places      = JsonConvert.DeserializeObject <List <Place> >(text);
            var tripManager = new TripManager(new AirTicketManager(new AirTicketsApi(
                                                                       Configuration["AirApiSettings:token"],
                                                                       Configuration["AirApiSettings:url"])),
                                              new InMemoryPlaceRepository(places),
                                              new InMemoryTripRepository(new List <Trip>()));

            services.AddSingleton(ConfigureSecurity(services));
            services.AddSingleton(tripManager);
            services.AddSingleton(accountManager);
            services.AddSingleton(totpManager);
            services.AddSingleton(smsManager);
        }
Пример #30
0
        public async Task <ActionResult> SaveFlightBookingAccommodationAsync(FlightBookingViewModel model)
        {
            var _booking = new TripBookingTransport();

            if (model.FlightClass.ToLower().Contains("train"))
            {
                _booking.TransportType = "Train";
            }
            else if (model.FlightClass.ToLower().Contains("flight"))
            {
                _booking.TransportType = "Flight";
            }
            else if (model.FlightClass.ToLower().Contains("bus") || model.FlightClass.ToLower().Contains("coach"))
            {
                _booking.TransportType = "Bus";
            }
            else if (model.FlightClass.ToLower().Contains("taxi"))
            {
                _booking.TransportType = "Taxi";
            }
            else
            {
                _booking.TransportType = "Unknown";
            }

            _booking.TripId     = model.TripId;
            _booking.TripStepId = model.TripStepId;

            _booking.Id             = model.TripBookingTransportId;
            _booking.Adults         = model.Adults;
            _booking.BookingDate    = model.FlightDate;
            _booking.BookingStatus  = TransferBookingStatus.requested.ToString();
            _booking.Kids           = model.Kids;
            _booking.TransportFrom  = model.From;
            _booking.TransportTo    = model.To;
            _booking.TravelClass    = model.FlightClass;
            _booking.TravellerNotes = model.TravellerNotes;

            var blError = await TripManager.SaveTripBookingTransportAsync(_booking);

            return(RedirectToAction("ViewTrip", new { @tripId = model.TripId }));
        }