예제 #1
0
        public RouteResponseModel ValidateTiming(RouteRequestModel model, string token)
        {
            var client  = new RestClient(ApiUrl);
            var request = new RestRequest("ValidateTiming", Method.POST);

            request.AddHeader("Authorization", "Bearer " + token);
            request.AddParameter("TimingOption", model.TimingOption);
            request.AddParameter("TheDate", model.TheDate);
            request.AddParameter("TheTime", model.TheTime);
            request.AddParameter("SatDatetime", model.SatDatetime);
            request.AddParameter("SunDatetime", model.SunDatetime);
            request.AddParameter("MonDatetime", model.MonDatetime);
            request.AddParameter("TueDatetime", model.TueDatetime);
            request.AddParameter("WedDatetime", model.WedDatetime);
            request.AddParameter("ThuDatetime", model.ThuDatetime);
            request.AddParameter("FriDatetime", model.FriDatetime);
            IRestResponse        response           = client.Execute(request);
            JavaScriptSerializer js                 = new JavaScriptSerializer();
            RouteResponseModel   routeResponseModel = new RouteResponseModel();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                routeResponseModel = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(routeResponseModel);
        }
예제 #2
0
        public RouteResponseModel DistributeRequest(List <DistributeModel> distributeModelList)
        {
            var client            = new RestClient(ApiUrl);
            var request           = new RestRequest("Distribute", Method.POST);
            var distributeRequest = new DistributeRequestModel();
            var deliverPoints     = new List <DeliverPoint>();

            foreach (var distributeModel in distributeModelList)
            {
                deliverPoints.Add(new DeliverPoint()
                {
                    Id = distributeModel.Counter, Lat = distributeModel.Lat, Lng = distributeModel.Lng
                });
            }
            distributeRequest.DeliverPoints = deliverPoints;
            distributeRequest.IsReturn      = 1;
            distributeRequest.Origin.Lat    = "35.716900820";
            distributeRequest.Origin.Lng    = "51.426422596";
            var json =
                request.JsonSerializer.Serialize(distributeRequest);

            request.AddParameter("application/json; charset=utf-8", json, ParameterType.RequestBody);
            IRestResponse        response           = client.Execute(request);
            JavaScriptSerializer js                 = new JavaScriptSerializer();
            RouteResponseModel   routeResponseModel = new RouteResponseModel();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                routeResponseModel = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(routeResponseModel);
        }
예제 #3
0
        public RouteResponseModel GetAllRoutes(string token)
        {
            var list    = new RouteResponseModel();
            var client  = new RestClient(ApiUrl);
            var request = new RestRequest("GetAllRoutes", Method.POST);

            request.AddHeader("Authorization", "Bearer " + token);
            IRestResponse        response = client.Execute(request);
            JavaScriptSerializer js       = new JavaScriptSerializer();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                list = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(list);
        }
예제 #4
0
        public RouteResponseModel FinalconfirmGroup(string token, AppointmentModel appointmentModel)
        {
            var list    = new RouteResponseModel();
            var client  = new RestClient(ApiUrl);
            var request = new RestRequest("AppointFinalConfirm", Method.POST);

            request.AddHeader("Authorization", "Bearer " + token);
            request.AddParameter("GroupId", appointmentModel.GroupId);
            request.AddParameter("RouteId", appointmentModel.RouteId);
            IRestResponse        response = client.Execute(request);
            JavaScriptSerializer js       = new JavaScriptSerializer();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                list = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(list);
        }
예제 #5
0
        public RouteResponseModel GetPassengerConfirmInfo(string token, int groupId, int routeId)
        {
            var list    = new RouteResponseModel();
            var client  = new RestClient(ApiUrl);
            var request = new RestRequest("GetPassengerConfirm", Method.POST);

            request.AddHeader("Authorization", "Bearer " + token);
            request.AddParameter("RouteId", routeId);
            request.AddParameter("GroupId", groupId);
            IRestResponse        response = client.Execute(request);
            JavaScriptSerializer js       = new JavaScriptSerializer();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                list = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(list);
        }
예제 #6
0
        public RouteResponseModel SubmitChat(string token, string mobile, string chat)
        {
            var list    = new RouteResponseModel();
            var client  = new RestClient(ApiUrl);
            var request = new RestRequest("SubmitChatByMobile", Method.POST);

            request.AddHeader("Authorization", "Bearer " + token);
            request.AddParameter("Mobile", mobile);
            request.AddParameter("Comment", chat);
            IRestResponse        response = client.Execute(request);
            JavaScriptSerializer js       = new JavaScriptSerializer();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                list = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(list);
        }
예제 #7
0
        public RouteResponseModel AcceptSuggestRoute(string token, int routeId, int selRouteId)
        {
            var list    = new RouteResponseModel();
            var client  = new RestClient(ApiUrl);
            var request = new RestRequest("AcceptSuggestedRoute", Method.POST);

            request.AddHeader("Authorization", "Bearer " + token);
            request.AddParameter("RouteId", routeId);
            request.AddParameter("SelfRouteId", selRouteId);
            IRestResponse        response = client.Execute(request);
            JavaScriptSerializer js       = new JavaScriptSerializer();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                list = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(list);
        }
예제 #8
0
        public static RouteResponseModel CastRouteRequestToRouteResponse(RouteRequestModel requestModel)
        {
            var routeResponse = new RouteResponseModel();

            routeResponse.RouteId           = requestModel.RouteRequestId;
            routeResponse.SrcAddress        = (requestModel.SrcGAddress ?? "") + (requestModel.SrcDetailAddress != null? " - " + requestModel.SrcDetailAddress : "");
            routeResponse.DstAddress        = (requestModel.DstGAddress ?? "") + (requestModel.DstDetailAddress != null ? " - " + requestModel.DstDetailAddress :"");
            routeResponse.SrcLatitude       = requestModel.SrcLatitude;
            routeResponse.SrcLongitude      = requestModel.SrcLongitude;
            routeResponse.DstLatitude       = requestModel.DstLatitude;
            routeResponse.DstLongitude      = requestModel.DstLongitude;
            routeResponse.AccompanyCount    = requestModel.AccompanyCount;
            routeResponse.IsDrive           = requestModel.IsDrive;
            routeResponse.RouteRequestState = getRouteState(requestModel.RouteRequestState);
            if (requestModel.SatDatetime == null)
            {
            }
            return(routeResponse);
        }
예제 #9
0
        public RouteResponseModel ConfirmRoute(ConfirmationModel confirmModel, string token)
        {
            var list    = new List <RouteRequestModel>();
            var client  = new RestClient(ApiUrl);
            var request = new RestRequest("ConfirmRoute", Method.POST);

            request.AddHeader("Authorization", "Bearer " + token);
            request.AddParameter("RouteIdsCommaSeprated", confirmModel.Ids);
            request.AddParameter("ConfirmedText", confirmModel.ConfirmedText);
            IRestResponse        response           = client.Execute(request);
            JavaScriptSerializer js                 = new JavaScriptSerializer();
            RouteResponseModel   routeResponseModel = new RouteResponseModel();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                routeResponseModel = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(routeResponseModel);
        }
예제 #10
0
        public static RouteResponseModel AddResponseTiming(RouteResponseModel response, List <vwRRTiming> timingList, Guid?routeRequestUId)
        {
            foreach (var timing in timingList)
            {
                switch (timing.RRTimingOption)
                {
                case (int)TimingOptions.Weekly:
                    switch (timing.RRDayofWeek)
                    {
                    case (int)WeekDay.Sat:
                        response.Sat = true;
                        break;

                    case (int)WeekDay.Sun:
                        response.Sun = true;
                        break;

                    case (int)WeekDay.Mon:
                        response.Mon = true;
                        break;

                    case (int)WeekDay.Tue:
                        response.Tue = true;
                        break;

                    case (int)WeekDay.Wed:
                        response.Wed = true;
                        break;

                    case (int)WeekDay.Thu:
                        response.Thu = true;
                        break;

                    case (int)WeekDay.Fri:
                        response.Fri = true;
                        break;
                    }
                    break;
                }
            }
            return(response);
        }
예제 #11
0
        public static List <RouteSuggestModel> CastToRouteSuggestModel(List <vwRouteSuggest> list,
                                                                       List <vwRRTiming> timingList)
        {
            List <RouteSuggestModel> modelList = new List <RouteSuggestModel>();

            foreach (var suggest in list)
            {
                RouteSuggestModel routeSuggestModel = new RouteSuggestModel();
                //populate SuggestrouteResponseModel Object
                RouteResponseModel routeResponsetModel = new RouteResponseModel();
                routeResponsetModel.RouteId            = (int)suggest.RouteRequestId;
                routeResponsetModel.SrcAddress         = (suggest.SrcGAddress ?? "") + " - " + (suggest.SrcDetailAddress ?? "");
                routeResponsetModel.DstAddress         = (suggest.DstGAddress ?? "") + " - " + (suggest.DstDetailAddress ?? "");
                routeResponsetModel.SrcLatitude        = suggest.SrcLatitude.ToString();
                routeResponsetModel.SrcLongitude       = suggest.SrcLongitude.ToString();
                routeResponsetModel.DstLatitude        = suggest.DstLatitude.ToString();
                routeResponsetModel.DstLongitude       = suggest.DstLongitude.ToString();
                routeResponsetModel.AccompanyCount     = suggest.AccompanyCount;
                routeResponsetModel.IsDrive            = (bool)suggest.IsDrive;
                routeSuggestModel.SuggestRouteResponse = routeResponsetModel;
                //populate CarInfo Object
                Mapper.CreateMap <vwRouteSuggest, CarInfoModel>();
                CarInfoModel carInfoModel = Mapper.Map <vwRouteSuggest, CarInfoModel>(suggest);
                routeSuggestModel.CarInfo = carInfoModel;
                //populate SelfRoute Object
                RouteResponseModel selfRouteResponse = new RouteResponseModel()
                {
                    RouteId = (int)suggest.SelfRouteRequestId
                };
                routeSuggestModel.SelfRouteResponse = selfRouteResponse;
                routeSuggestModel.IsSuggestSeen     = suggest.IsSuggestSeen;
                routeSuggestModel.IsSuggestAccepted = suggest.IsSuggestAccepted;
                routeSuggestModel.IsSuggestRejected = suggest.IsSuggestRejected;
                routeSuggestModel.NameFamily        = suggest.Name + " " + suggest.Family;
                routeSuggestModel.Gender            = ((Gender)suggest.Gender).ToString();
                routeSuggestModel.SrcDistance       = Math.Round(suggest.SSrcDistance, 0).ToString();
                routeSuggestModel.DstDistance       = Math.Round(suggest.SDstDistance, 0).ToString();
                modelList.Add(routeSuggestModel);
            }
            return(modelList);
        }
예제 #12
0
        public RouteResponseModel SubmitNewRoute(RouteRequestModel model, string clientToken)
        {
            var client  = new RestClient(ApiUrl);
            var request = new RestRequest("InsertUserRoute", Method.POST);

            request.AddHeader("Authorization", "Bearer " + clientToken);
            request.AddParameter("SrcGAddress", model.SrcGAddress);
            request.AddParameter("SrcDetailAddress", model.SrcDetailAddress);
            request.AddParameter("SrcLatitude", model.SrcLatitude);
            request.AddParameter("SrcLongitude", model.SrcLongitude);
            request.AddParameter("DstGAddress", model.DstGAddress);
            request.AddParameter("DstDetailAddress", model.DstDetailAddress);
            request.AddParameter("DstLatitude", model.DstLatitude);
            request.AddParameter("DstLongitude", model.DstLongitude);
            request.AddParameter("AccompanyCount", model.AccompanyCount);
            request.AddParameter("TimingOption", model.TimingOption);
            request.AddParameter("PriceOption", model.PayOption);
            request.AddParameter("TheDate", model.TheDate);
            request.AddParameter("TheTime", model.TheTime);
            request.AddParameter("SatDatetime", model.SatDatetime);
            request.AddParameter("SunDatetime", model.SunDatetime);
            request.AddParameter("MonDatetime", model.MonDatetime);
            request.AddParameter("TueDatetime", model.TueDatetime);
            request.AddParameter("WedDatetime", model.WedDatetime);
            request.AddParameter("ThuDatetime", model.ThuDatetime);
            request.AddParameter("FriDatetime", model.FriDatetime);
            request.AddParameter("CostMinMax", model.CostMinMax);
            request.AddParameter("IsDrive", model.IsDrive);
            IRestResponse        response           = client.Execute(request);
            JavaScriptSerializer js                 = new JavaScriptSerializer();
            RouteResponseModel   routeResponseModel = new RouteResponseModel();

            if (!string.IsNullOrWhiteSpace(response.Content))
            {
                routeResponseModel = js.Deserialize <RouteResponseModel>(response.Content);
            }
            return(routeResponseModel);
        }