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."; } }
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"); } }
//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); }
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); }
//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); }
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); }
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); }
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); }
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."; } }
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); }
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); }
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); }
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(); } }
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; } } }