Exemple #1
0
        private List <GroupWithDateAttractions> GroupOrderAttractions(List <GetOrderOfAttractionVisit> listGetOrderOfAttractionVisit, int countryId)
        {
            var listGroupWithDateAttractions = new List <GroupWithDateAttractions>();

            var groupDates = listGetOrderOfAttractionVisit.GroupBy(_date => Convert.ToDateTime(_date.DateAndTime).ToString("MM/dd/yy"));
            List <GetOrderOfAttractionVisit> attractionListResult = listGetOrderOfAttractionVisit.OrderBy(x => Convert.ToDateTime(x.DateAndTime)).ToList();

            //Driving Steps

            List <DrivingSteps> listdrivingSteps = new List <DrivingSteps>();

            DrivingSteps drivingSteps = new DrivingSteps();



            foreach (var _dates in groupDates)
            {
                var groupWithDateAttractions = new GroupWithDateAttractions();
                groupWithDateAttractions.GroupDate = _dates.Key;
                listGetOrderOfAttractionVisit      = new List <GetOrderOfAttractionVisit>();
                foreach (var internalObjects in attractionListResult.Where(
                             filter => Convert.ToDateTime(filter.DateAndTime).ToString("MM/dd/yy") == _dates.Key).OrderBy(x => Convert.ToDateTime(x.DateAndTime)))
                {
                    var getOrderOfAttractionVisit = new GetOrderOfAttractionVisit();
                    getOrderOfAttractionVisit.DateAndTime =
                        Convert.ToDateTime(internalObjects.DateAndTime).ToString("HH:mm");
                    getOrderOfAttractionVisit.DestinationAttractionId   = internalObjects.DestinationAttractionId;
                    getOrderOfAttractionVisit.DestinationAttractionName = internalObjects.DestinationAttractionName;
                    getOrderOfAttractionVisit.DestinationIcon           = internalObjects.DestinationIcon;
                    getOrderOfAttractionVisit.Distance  = internalObjects.Distance;
                    getOrderOfAttractionVisit.ReachTime = Convert.ToDateTime(internalObjects.ReachTime)
                                                          .ToString("HH:mm");
                    getOrderOfAttractionVisit.SourceAttractionId   = internalObjects.SourceAttractionId;
                    getOrderOfAttractionVisit.SourceAttractionName = internalObjects.SourceAttractionName;
                    getOrderOfAttractionVisit.SourceIcon           = internalObjects.SourceIcon;
                    getOrderOfAttractionVisit.TimeRequiredToView   = Convert.ToDateTime(internalObjects.TimeRequiredToView).ToString("HH:mm");
                    getOrderOfAttractionVisit.TravelModeId         = internalObjects.TravelModeId;
                    getOrderOfAttractionVisit.TravelTimeSeconds    = internalObjects.TravelTime;
                    getOrderOfAttractionVisit.TravelTime           =
                        TimeSpan.FromSeconds(Convert.ToInt32(internalObjects.TravelTime)).Hours + ":" + TimeSpan
                        .FromSeconds(Convert.ToInt32(internalObjects.TravelTime)).Minutes;
                    getOrderOfAttractionVisit.TravelType   = internalObjects.TravelType;
                    getOrderOfAttractionVisit.EventEndTime =
                        Convert.ToDateTime(internalObjects.EventEndTime).ToString("HH:mm");
                    getOrderOfAttractionVisit.RecordCount                  = internalObjects.RecordCount;
                    getOrderOfAttractionVisit.IsLunchDinnerBreakTime       = internalObjects.IsLunchDinnerBreakTime;
                    getOrderOfAttractionVisit.IsDistanceCalculationMissing =
                        internalObjects.IsDistanceCalculationMissing;
                    getOrderOfAttractionVisit.SourceLatitude                 = internalObjects.SourceLatitude;
                    getOrderOfAttractionVisit.SourceLongitude                = internalObjects.SourceLongitude;
                    getOrderOfAttractionVisit.DestinationLatitude            = internalObjects.DestinationLatitude;
                    getOrderOfAttractionVisit.DestinationLongitude           = internalObjects.DestinationLongitude;
                    getOrderOfAttractionVisit.SourceSearchText               = internalObjects.SourceSearchText;
                    getOrderOfAttractionVisit.DestinationSearchText          = internalObjects.DestinationSearchText;
                    getOrderOfAttractionVisit.SourcePhotoUrl                 = internalObjects.SourcePhotoUrl;
                    getOrderOfAttractionVisit.DestinationPhotoUrl            = internalObjects.DestinationPhotoUrl;
                    getOrderOfAttractionVisit.BreakInformationId             = internalObjects.BreakInformationId;
                    getOrderOfAttractionVisit.IsNeedDrivningBreak            = internalObjects.IsNeedDrivningBreak;
                    getOrderOfAttractionVisit.AttractionTravelTimeDistanceId =
                        internalObjects.AttractionTravelTimeDistanceId;
                    listGetOrderOfAttractionVisit.Add(getOrderOfAttractionVisit);
                }


                //Getting the driving steps
                listdrivingSteps = new List <DrivingSteps>();
                if (countryId > 0)
                {
                    foreach (var attractions in _dates.Where(x => x.IsNeedDrivningBreak))
                    {
                        drivingSteps                = new DrivingSteps();
                        drivingSteps.RecordCount    = attractions.RecordCount;
                        drivingSteps.DirectionSteps = userInfo.User_GetDirectionsSteps(countryId,
                                                                                       attractions.AttractionTravelTimeDistanceId, attractions.DateAndTime);
                        listdrivingSteps.Add(drivingSteps);
                    }
                }
                groupWithDateAttractions.DrivingSteps = listdrivingSteps;

                groupWithDateAttractions.ListGetOrderOfAttractionVisit = listGetOrderOfAttractionVisit;

                listGroupWithDateAttractions.Add(groupWithDateAttractions);
            }

            return(listGroupWithDateAttractions);
        }
Exemple #2
0
        public JsonResult Public_GetOrderOfAttractionVisit(int TravelModeId, int SourceAttractionID, int DestinationAttractionID, string AttractionID, string StartDate, string StartTime)
        {
            List <userTable_OnlyId> attractionList = new List <userTable_OnlyId>();

            if (AttractionID != null && AttractionID.Count() > 0)
            {
                attractionList = AttractionID.Split(',').Select(x => new userTable_OnlyId
                {
                    ID = Convert.ToInt32(x)
                }
                                                                ).ToList();
            }

            List <GetOrderOfAttractionVisit> _ListGetOrderOfAttractionVisit = _IGetListValues.Public_GetOrderOfAttractionVisit(TravelModeId, SourceAttractionID, DestinationAttractionID, attractionList, StartDate, StartTime);

            List <GroupWithDateAttractions> _listGroupWithDateAttractions = new List <GroupWithDateAttractions>();
            GroupWithDateAttractions        _groupWithDateAttractions     = new GroupWithDateAttractions();
            GetOrderOfAttractionVisit       _getOrderOfAttractionVisit    = new GetOrderOfAttractionVisit();

            var groupDates = _ListGetOrderOfAttractionVisit.GroupBy(_date => Convert.ToDateTime(_date.DateAndTime).ToString("d"));
            List <GetOrderOfAttractionVisit> attractionListResult = _ListGetOrderOfAttractionVisit;


            foreach (var _dates in groupDates)
            {
                _groupWithDateAttractions           = new GroupWithDateAttractions();
                _groupWithDateAttractions.GroupDate = _dates.Key;
                _ListGetOrderOfAttractionVisit      = new List <GetOrderOfAttractionVisit>();
                foreach (var _internalObjects in attractionListResult.Where(_filter => Convert.ToDateTime(_filter.DateAndTime).ToString("d") == _dates.Key))
                {
                    _getOrderOfAttractionVisit                           = new GetOrderOfAttractionVisit();
                    _getOrderOfAttractionVisit.DateAndTime               = Convert.ToDateTime(_internalObjects.DateAndTime).ToString("HH:MM");
                    _getOrderOfAttractionVisit.DestinationAttractionId   = _internalObjects.DestinationAttractionId;
                    _getOrderOfAttractionVisit.DestinationAttractionName = _internalObjects.DestinationAttractionName;
                    _getOrderOfAttractionVisit.DestinationIcon           = _internalObjects.DestinationIcon;
                    _getOrderOfAttractionVisit.Distance                  = _internalObjects.Distance;
                    _getOrderOfAttractionVisit.ReachTime                 = _internalObjects.ReachTime;
                    _getOrderOfAttractionVisit.SourceAttractionId        = _internalObjects.SourceAttractionId;
                    _getOrderOfAttractionVisit.SourceAttractionName      = _internalObjects.SourceAttractionName;
                    _getOrderOfAttractionVisit.SourceIcon                = _internalObjects.SourceIcon;
                    _getOrderOfAttractionVisit.TimeRequiredToView        = _internalObjects.TimeRequiredToView;
                    _getOrderOfAttractionVisit.TravelModeId              = _internalObjects.TravelModeId;
                    _getOrderOfAttractionVisit.TravelTime                = _internalObjects.TravelTime;
                    _getOrderOfAttractionVisit.TravelType                = _internalObjects.TravelType;
                    _getOrderOfAttractionVisit.ViewTime                  = _internalObjects.ViewTime;
                    _ListGetOrderOfAttractionVisit.Add(_getOrderOfAttractionVisit);
                }
                _groupWithDateAttractions.ListGetOrderOfAttractionVisit = _ListGetOrderOfAttractionVisit;
                _listGroupWithDateAttractions.Add(_groupWithDateAttractions);
            }


            if (_listGroupWithDateAttractions.Count() > 0)
            {
                var jsonResults = Json(_listGroupWithDateAttractions, JsonRequestBehavior.AllowGet);
                jsonResults.MaxJsonLength = int.MaxValue;
                return(jsonResults);
            }
            else
            {
                return(Json(new List <GroupWithDateAttractions>(), JsonRequestBehavior.AllowGet));
            }
        }