public bool CreateRideOffer(string Email, double StartLat, double StartLng, double DestinationLat, double DestinationLng, List <List <double> > Waypoints, List <List <double> > RoutePoints, List <List <double> > RangePolygon, DateTime Departure, object Arrival, int Seats, double Price, int Radius, double Distance, bool Active)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();
            Offer           o      = new Offer();

            JObject json = api.CreateOffer(Email, StartLat, StartLng, DestinationLat, DestinationLng, Waypoints, RoutePoints, RangePolygon, Departure, Arrival, Seats, Price, Radius, Distance, Active);


            bool added = false;

            added = parser.ParseCreateTable(json);

            if (added)
            {
                //HttpContext.Current.Session["RangeIndices"] = null;
                //HttpContext.Current.Session["RoutePoints"] = null;
                //HttpContext.Current.Session["Waypoints"] = null;
                //HttpContext.Current.Session["StartCoords"] = null;
                //HttpContext.Current.Session["DestCoords"] = null;
                //HttpContext.Current.Session["Radius"] = null;
                //HttpContext.Current.Session["Duration"] = null;
                //Response.Redirect("/OffersList");
            }

            //else if (!added)
            //{
            //    ErrorMessage.Text = "Some data was not successfully published.";
            //}

            return(added);
        }
        public void UpdateRideOffer(int OfferId, double StartLat, double StartLng, double DestinationLat, double DestinationLng, List <List <double> > Waypoints, List <List <double> > RoutePoints, List <List <double> > RangePolygon, DateTime Departure, object Arrival, int Seats, double Price, int Radius, double Distance)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();
            Offer           o      = new Offer();

            JObject json = api.UpdateOffer(OfferId, StartLat, StartLng, DestinationLat, DestinationLng, Waypoints, RoutePoints, RangePolygon, Departure, Arrival, Seats, "", Price, Radius, Distance, "");
            //JObject json = api.UpdateOffer(31, 51.7718765433365, 19.4439125061035, 51.7474386311757, 19.4500923156738, new List<List<double>>(), new List<List<double>>(), "2016-08-30T10:46:00", "", 1, "", 10.5, 600, 3.4, "");


            bool updated = false;

            updated = parser.ParseUpdateTable(json);

            if (updated)
            {
                HttpContext.Current.Session["RangeIndices"] = null;
                HttpContext.Current.Session["RoutePoints"]  = null;
                HttpContext.Current.Session["Waypoints"]    = null;
                HttpContext.Current.Session["StartCoords"]  = null;
                HttpContext.Current.Session["DestCoords"]   = null;
                HttpContext.Current.Session["Radius"]       = null;
                HttpContext.Current.Session["Duration"]     = null;
                Response.Redirect("/OffersList");
            }

            else if (!updated)
            {
                ErrorMessage.Text = "This ride offer was not successfully updated.";
            }
        }
Esempio n. 3
0
        public void FacebookLogin(string code)
        {
            UserDetails facebookUser = GetFacebookUserData(code);
            UserDetails user         = new UserDetails();

            // Check the existance of an identical local account
            PickrWebService api    = new PickrWebService();
            JObject         json   = api.CheckUserExistence(facebookUser.Email);
            bool            exists = (bool)json["Value"];

            if (exists)
            {
                json = api.GetUser(facebookUser.Email);
                JSONParser parser = new JSONParser();
                user = parser.ParseUser(json);

                // Update profile with facebook data
                json = api.UpdateUser(user.Email, facebookUser.FirstName, facebookUser.Surname, DateTime.MinValue, "", "", facebookUser.Picture, "", "", "");
                bool updated = parser.ParseUpdateTable(json);
                //UpdateUser(user.Email, facebookUser.FirstName, facebookUser.Surname, DateTime.MinValue, "", "", facebookUser.Picture, "", "");

                LocalLogin(user.Email, user.Password);
            }

            else
            {
                HttpContext.Current.Session["FacebookUser"] = facebookUser;
                Response.Redirect("/Account/RegisterFacebook");
            }
        }
Esempio n. 4
0
        //public List<Request> GetApprovedRequests(string Email)
        //{

        //    PickrWebService api = new PickrWebService();
        //    JSONParser parser = new JSONParser();
        //    List<Request> requests = new List<Request>();
        //    List<Offer> offers = new List<Offer>();

        //    JObject json = api.GetPassengerSentRequests(Email);

        //    try
        //    {
        //        requests = parser.ParseRequestsList(json);
        //        List<int> offerIds = new List<int>();

        //        foreach (Request r in requests)
        //            offerIds.Add(r.OfferId);

        //        if (requests.Count > 0)
        //        {
        //            json = api.GetRequestedOffersList(offerIds);
        //            offers = parser.ParseOffersList(json);

        //            foreach (var r in requests)
        //                foreach (var o in offers)
        //                    if (r.OfferId == o.OfferId)
        //                        r.Offer = o;

        //        }

        //        if (requests.Count > 0)
        //        {
        //            approvedRequests.Visible = true;
        //            approvedRequests.InnerText = requests.Count.ToString();
        //        }

        //        HttpContext.Current.Session["Requests"] = requests;
        //    }
        //    catch (Exception e)
        //    {
        //        //ErrorMessage.Text = "Error retrieving your list of sent requests.";
        //    }

        //    return requests;
        //}


        public List <Request> GetSentRequests(string Email)
        {
            PickrWebService api      = new PickrWebService();
            JSONParser      parser   = new JSONParser();
            List <Request>  requests = new List <Request>();
            List <Offer>    offers   = new List <Offer>();
            int             updated  = 0;

            JObject json = api.GetPassengerSentRequests(Email);

            try
            {
                requests = parser.ParseRequestsList(json);
                List <int> offerIds = new List <int>();

                foreach (Request r in requests)
                {
                    offerIds.Add(r.OfferId);
                }

                if (requests.Count > 0)
                {
                    json   = api.GetRequestedOffersList(offerIds);
                    offers = parser.ParseOffersList(json);

                    foreach (var r in requests)
                    {
                        if (r.Approved || r.Rejected)
                        {
                            updated++;
                        }

                        foreach (var o in offers)
                        {
                            if (r.OfferId == o.OfferId)
                            {
                                r.Offer = o;
                            }
                        }
                    }

                    if (updated > 0)
                    {
                        updatedRequests.Visible   = true;
                        updatedRequests.InnerText = updated.ToString();
                    }
                }


                HttpContext.Current.Session["SentRequests"] = requests;
            }
            catch (Exception e)
            {
                //ErrorMessage.Text = "Error retrieving your list of sent requests.";
            }

            return(requests);
        }
Esempio n. 5
0
        public bool CheckRequestPending(string Email, int IdOffer)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();

            JObject json = api.CheckRequestPending(Email, IdOffer);

            return(parser.ParseCreateTable(json));
        }
        public void RegisterUser(string email, string username, string password, string firstname, string surname, DateTime birth, string gender, string mobile, string picture, string address)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();
            UserDetails     u      = new UserDetails();

            JObject json = api.CreateUser(email, username, password, firstname, surname, birth, gender, mobile, picture, address);

            //bool valid = parser.ParseCreateNewUser(json);

            var manager       = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var signInManager = Context.GetOwinContext().Get <ApplicationSignInManager>();
            var user          = new ApplicationUser()
            {
                UserName = email, Email = email
            };
            IdentityResult result = manager.Create(user, password);
            var            b      = result.Succeeded;

            if (b)
            {
                bool added = false;
                added = parser.ParseCreateTable(json);

                if (added)
                {
                    u.Email       = email;
                    u.Password    = password;
                    u.Username    = username;
                    u.FirstName   = firstname;
                    u.Surname     = surname;
                    u.Birth       = birth;
                    u.Gender      = gender;
                    u.Picture     = picture;
                    u.Address     = address;
                    u.MemberSince = DateTime.Now;
                    HttpContext.Current.Session["User"] = u;

                    signInManager.SignIn(user, isPersistent: false, rememberBrowser: false);
                    //IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                    Response.Redirect("~/Default");
                }

                else if (!added)
                {
                    ErrorMessage.Text = "A user already exists with the same Username or Email you provided.";
                    manager.Delete(user);
                }
            }

            else
            {
                ErrorMessage.Text = result.Errors.FirstOrDefault();
            }
        }
        public List <Request> GetApprovedRequests(string Email)
        {
            PickrWebService api      = new PickrWebService();
            JSONParser      parser   = new JSONParser();
            List <Request>  requests = new List <Request>();
            JObject         json     = api.GetDriverReceivedRequests(Email, true, false);

            requests = parser.ParseRequestsList(json);

            return(requests);
        }
Esempio n. 8
0
        //protected void UpdatePanel1_Load(object sender, EventArgs e)
        //{
        //    Panel1.CssClass = "hiddenPanel";

        //    if (HttpContext.Current.Session["User"] != null)
        //    {
        //        UserDetails user = (UserDetails)HttpContext.Current.Session["User"];


        //        if (user.Mode.Equals("passenger"))
        //        {
        //            List<Request> sentRequests = (List<Request>)HttpContext.Current.Session["SentRequests"];
        //            List<List<object>> requests = new List<List<object>>();
        //            List<Tuple<int, string>> requestsStatusChange;

        //            foreach (var r in sentRequests)
        //            {
        //                requests.Add(new List<object>() { r.RequestId, r.Approved, r.Rejected });
        //            }

        //            json = api.GetPassengerNotifications(requests);
        //            requestsStatusChange = parser.ParsePassengerNotifications(json);

        //            if (requestsStatusChange.Count > 0)
        //            {
        //                Panel1.CssClass = "alert alert-dismissible alert-warning notificationPanel";

        //                foreach(var r in sentRequests)
        //                {
        //                    if(r.RequestId == requestsStatusChange[0].Item1)
        //                    {
        //                        UserDetails driver = GetUserDetails(r.Offer.UserId);
        //                        Label1.Text = "Request sent to" + driver.FirstName + " was " + requestsStatusChange[0].Item2;
        //                        Image1.ImageUrl = driver.Picture;
        //                        break;
        //                    }
        //                }
        //            }
        //        }
        //    }

        //}


        public List <Request> GetNewReceivedRequests(string Email)
        {
            PickrWebService api      = new PickrWebService();
            JSONParser      parser   = new JSONParser();
            List <Request>  requests = new List <Request>();
            List <Offer>    offers   = new List <Offer>();

            JObject json = api.GetDriverReceivedRequests(Email, false, false);

            try
            {
                requests = parser.ParseRequestsList(json);
                List <int> offerIds = new List <int>();

                foreach (Request r in requests)
                {
                    offerIds.Add(r.OfferId);
                }

                if (requests.Count > 0)
                {
                    json   = api.GetRequestedOffersList(offerIds);
                    offers = parser.ParseOffersList(json);

                    foreach (var r in requests)
                    {
                        foreach (var o in offers)
                        {
                            if (r.OfferId == o.OfferId)
                            {
                                r.Offer = o;
                            }
                        }
                    }
                }

                if (requests.Count > 0)
                {
                    newRequests.Visible   = true;
                    newRequests.InnerText = requests.Count.ToString();
                }

                HttpContext.Current.Session["Requests"]        = requests;
                HttpContext.Current.Session["RequestedOffers"] = offers;
            }
            catch (Exception e)
            {
                //ErrorMessage.Text = "Error retrieving your list of sent requests.";
            }

            return(requests);
        }
Esempio n. 9
0
        public UserDetails GetUserDetails(int IdUser)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();
            UserDetails     user   = new UserDetails();

            JObject json = api.GetUserPublic(IdUser);

            try
            {
                user = parser.ParseUser(json);
            }
            catch (Exception e) {}

            return(user);
        }
        public List <Request> GetRequests(string Email)
        {
            PickrWebService api      = new PickrWebService();
            JSONParser      parser   = new JSONParser();
            List <Request>  requests = new List <Request>();
            List <Offer>    offers   = new List <Offer>();

            JObject json = api.GetPassengerSentRequests(Email);

            try
            {
                requests = parser.ParseRequestsList(json);
                List <int> offerIds = new List <int>();

                foreach (Request r in requests)
                {
                    offerIds.Add(r.OfferId);
                }

                if (requests.Count > 0)
                {
                    json   = api.GetRequestedOffersList(offerIds);
                    offers = parser.ParseOffersList(json);

                    foreach (var r in requests)
                    {
                        foreach (var o in offers)
                        {
                            if (r.OfferId == o.OfferId)
                            {
                                r.Offer = o;
                            }
                        }
                    }
                }


                HttpContext.Current.Session["Requests"] = requests;
            }
            catch (Exception e)
            {
                ErrorMessage.Text = "Error retrieving your list of sent requests.";
            }

            return(requests);
        }
Esempio n. 11
0
        public UserDetails GetUserDetails(int IdUser)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();
            UserDetails     user   = new UserDetails();

            JObject json = api.GetUserPublic(IdUser);

            try
            {
                user = parser.ParseUser(json);
            }
            catch (Exception e)
            {
                //ErrorMessage.Text = "Error getting user data.";
            }

            return(user);
        }
Esempio n. 12
0
        public List <Offer> GetSearchResults(DateTime ArrivalFrom, object ArrivalTo, double StartLat, double StartLng, double DestinationLat, double DestinationLng)
        {
            PickrWebService api     = new PickrWebService();
            JSONParser      parser  = new JSONParser();
            List <Offer>    results = new List <Offer>();

            JObject json = api.SearchRides(ArrivalFrom, ArrivalTo, StartLat, StartLng, DestinationLat, DestinationLng);

            try
            {
                results = parser.ParseOffersList(json);
            }
            catch (Exception e)
            {
                ErrorMessage.Text = "Error getting search results.";
            }

            return(results);
        }
Esempio n. 13
0
        public void DeleteOffer(int IdOffer)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();

            JObject json = api.DeleteOffer(IdOffer);

            try
            {
                bool deleted = parser.ParseUpdateTable(json);
                if (!deleted)
                {
                    ErrorMessage.Text = "Error deleting offer.";
                }
            }
            catch (Exception e)
            {
                ErrorMessage.Text = "Error deleting offer.";
            }
        }
Esempio n. 14
0
        public List <Offer> GetOffers(string Email)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();
            List <Offer>    offers = new List <Offer>();

            JObject json = api.GetOffersList(Email);

            try
            {
                offers = parser.ParseOffersList(json);
                HttpContext.Current.Session["Offers"] = offers;
            }
            catch (Exception e)
            {
                ErrorMessage.Text = "Error retrieving your list of offers.";
            }

            return(offers);
        }
Esempio n. 15
0
        public bool UpdateProfile(string firstname, string surname, DateTime birth, string gender, string mobile, string picture, string address, string mode, string car, bool?smoking, bool?music, bool?pets, int?talking)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();
            UserDetails     u      = (UserDetails)HttpContext.Current.Session["User"];

            JObject json = api.UpdateUser(u.Email, firstname, surname, birth, gender, mobile, picture, address, mode, car);


            bool updated = false;

            updated = parser.ParseUpdateTable(json);


            if (smoking != null && music != null && pets != null && talking != null)
            {
                JObject jsonPrefs    = api.SetUserPreferences(u.Email, (bool)smoking, (bool)music, (bool)pets, (int)talking);
                bool    prefsUpdated = false;
                prefsUpdated = parser.ParseUpdateTable(jsonPrefs);
                updated      = updated && prefsUpdated;
            }



            if (updated)
            {
                json = api.GetUser(u.Email);
                u    = parser.ParseUser(json);

                // Update session user
                HttpContext.Current.Session["User"] = u;
                Response.Redirect("Manage?updated=true");
            }

            else if (!updated)
            {
                ErrorMessage.Text = "Profile could not be updated.";
            }

            return(updated);
        }
Esempio n. 16
0
        public void SendRequest(string Email, object IdOffer, double StartLat, double StartLng, double DestinationLat, double DestinationLng, DateTime ArrivalFrom, object ArrivalTo, int Seats)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();

            JObject json = api.CreateRequest(Email, IdOffer, StartLat, StartLng, DestinationLat, DestinationLng, ArrivalFrom, ArrivalTo, Seats);

            bool added = false;

            added = parser.ParseCreateTable(json);

            if (added)
            {
                GetSentRequests(Email);
                Response.Redirect("/RequestList");
            }

            else if (!added)
            {
                ErrorMessage.Text = "This request could not be sent. Make sure you haven't already sent a request.";
            }
        }
        public bool RespondToRequest(int IdRequest, object PickUp, bool Approved)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();

            JObject json = api.RespondToRequest(IdRequest, PickUp, Approved);

            bool updated = false;

            updated = parser.ParseUpdateTable(json);

            if (updated)
            {
                Response.Redirect("/IncomingRequestList");
            }


            if (!updated)
            {
                ErrorMessage.Text = "Error responding to request.";
            }

            return(updated);
        }
Esempio n. 18
0
        public void RegisterUser(string email, string username, string password, string firstname, string surname, DateTime birth, string gender, string mobile, string address)
        {
            PickrWebService api    = new PickrWebService();
            JSONParser      parser = new JSONParser();
            UserDetails     u      = new UserDetails();

            DateTime membersince = DateTime.Now;
            string   picture     = "http://www.pickrwebservice.somee.com/images/profile/default-" + gender + ".jpg";



            //bool valid = parser.ParseCreateNewUser(json);

            //Create in localDB
            var manager       = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
            var signInManager = Context.GetOwinContext().Get <ApplicationSignInManager>();
            var user          = new ApplicationUser()
            {
                UserName = email, Email = email
            };
            IdentityResult result = manager.Create(user, password);
            var            b      = result.Succeeded;

            //End create in localDB


            if (b)
            {
                bool added = false;

                JObject json = api.CreateUser(email, username, password, firstname, surname, birth, gender, mobile, picture, address);
                added = parser.ParseCreateTable(json);

                if (added)
                {
                    u.Email       = email;
                    u.Password    = password;
                    u.Username    = username;
                    u.FirstName   = firstname;
                    u.Surname     = surname;
                    u.Birth       = birth;
                    u.Gender      = gender;
                    u.MemberSince = membersince;
                    u.Mobile      = mobile;
                    u.Picture     = picture;
                    u.Address     = address;

                    HttpContext.Current.Session["User"] = u;

                    //Signin localDB
                    signInManager.SignIn(user, isPersistent: false, rememberBrowser: false);
                    //IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                    //End signin localDB
                    Response.Redirect("/PassengerHome");
                }

                else if (!added)
                {
                    ErrorMessage.Text = "The Username or Email you provided are already taken by another user.";
                    //Delete from localDB
                    manager.Delete(user);
                    //End delete from localDB
                }
            }



            else
            {
                ErrorMessage.Text = result.Errors.FirstOrDefault();
            }
        }
Esempio n. 19
0
        public void LocalLogin(string Email, string Password)
        {
            if (!String.IsNullOrEmpty(Email) && !String.IsNullOrEmpty(Password))
            {
                PickrWebService api    = new PickrWebService();
                JSONParser      parser = new JSONParser();
                UserDetails     user   = new UserDetails();

                JObject json = api.UserAuthentication(Email, Password);

                bool valid = parser.ParseUserAuthentication(json);

                // If the user exists then give acces

                if (valid)
                {
                    json = api.GetUser(Email);
                    user = parser.ParseUser(json);

                    //if (IsValid)
                    //{
                    ApplicationUserManager   manager;
                    ApplicationSignInManager signinManager;
                    SignInStatus             result;

                    try
                    {
                        // Validate the user password
                        manager       = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
                        signinManager = Context.GetOwinContext().GetUserManager <ApplicationSignInManager>();

                        // This doen't count login failures towards account lockout
                        // To enable password failures to trigger lockout, change to shouldLockout: true
                        result = signinManager.PasswordSignIn(Email, Password, RememberMe.Checked, shouldLockout: false);
                        if (result == SignInStatus.Failure)
                        {
                            //Register in the Sign in manager local database if user doesn't exist
                            var registerResult = manager.Create(new ApplicationUser()
                            {
                                UserName = Email, Email = Email
                            }, Password);
                            if (registerResult.Succeeded)
                            {
                                result = signinManager.PasswordSignIn(Email, Password, RememberMe.Checked, shouldLockout: false);
                            }
                        }

                        switch (result)
                        {
                        case SignInStatus.Success:

                            Response.Cookies["SoonNotification"].Value = "0";
                            HttpContext.Current.Session["User"]        = user;

                            //IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                            if (user.Mode.Equals("driver"))
                            {
                                Response.Redirect("/DriverHome");
                            }
                            else
                            {
                                Response.Redirect("/PassengerHome");
                            }
                            break;

                        case SignInStatus.LockedOut:
                            Response.Redirect("/Account/Lockout");
                            break;

                        case SignInStatus.RequiresVerification:
                            Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}",
                                                            Request.QueryString["ReturnUrl"],
                                                            RememberMe.Checked),
                                              true);
                            break;

                        case SignInStatus.Failure:
                        default:
                            FailureText.Text     = "Invalid login attempt";
                            ErrorMessage.Visible = true;
                            break;
                        }
                    }
                    catch (DataException e)
                    {
                        FailureText.Text     = "Error while logging in, please try again";
                        ErrorMessage.Visible = true;
                    }


                    //}
                }

                else
                {
                    FailureText.Text     = "Invalid email or password";
                    ErrorMessage.Visible = true;
                }
            }
        }