public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); Int64 AppUserId; if (IsAuthorizedRequest(Request, Response, true, out AppUserId)) { Response.ContentType = @"application/json"; try { AppMembership.AppUserLoggedInAction(AppUserId); } catch { } using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName(@"user_id"); jsonWriter.WriteValue(AppUserId); Int64?cityId = AppUser.FetchByID(AppUserId).CityId; jsonWriter.WritePropertyName(@"is_city_exists"); jsonWriter.WriteValue(cityId != null && cityId != 0); jsonWriter.WriteEndObject(); } } } }
protected void btnResetPassword_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } AppMembership.AppUserRecoveryResults results = AppMembership.VerifyRecoveryKey(Email, RecoveryKey, txtNewPassword.Text); switch (results) { case AppMembership.AppUserRecoveryResults.Success: mcMessageCenter.DisplaySuccessMessage(AppForgotPasswordStrings.GetText(@"ResetPasswordSuccess")); phResetFields.Visible = false; break; default: case AppMembership.AppUserRecoveryResults.Expired: case AppMembership.AppUserRecoveryResults.KeyDoNotMatch: mcMessageCenter.DisplayErrorMessage(AppForgotPasswordStrings.GetText(@"InvalidRecoveryKey")); phResetFields.Visible = false; break; case AppMembership.AppUserRecoveryResults.AppUserDoesNotExist: mcMessageCenter.DisplayErrorMessage(AppForgotPasswordStrings.GetText(@"EmailDoesNotExist")); phResetFields.Visible = false; break; } }
public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); JObject inputData = null; try { using (StreamReader reader = new StreamReader(Request.InputStream)) { using (JsonTextReader jsonReader = new JsonTextReader(reader)) { inputData = JObject.Load(jsonReader); } } } catch { RespondBadRequest(Response); } string email = inputData.Value <string>(@"email") ?? ""; Response.ContentType = @"application/json"; string key = AppMembership.GenerateRecoveryKey(email); AppUser user = null; if (key != null) { user = AppUser.FetchByEmail(email); } if (key == null || user == null) { RespondNotFound(Response); } else { EmailMessagingService.SendPasswordRecoveryMailForAppUser(user, key, "he-IL"); using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); jsonWriter.WriteEndObject(); } } } }
public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); JObject inputData = null; try { using (StreamReader reader = new StreamReader(Request.InputStream)) { using (JsonTextReader jsonReader = new JsonTextReader(reader)) { inputData = JObject.Load(jsonReader); } } } catch { RespondBadRequest(Response); } try { string version = inputData.Value <string>(@"version"); int osType = inputData.Value <int>(@"os_type"); AppMembership.OsType type = (AppMembership.OsType)Enum.ToObject(typeof(AppMembership.OsType), osType); if (AppMembership.AuthenticateDeviceVersionSupplier(version, type)) { RespondError(Response, HttpStatusCode.Forbidden, @"device-version-not-updated"); } else { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); jsonWriter.WriteEndObject(); } } } } catch { } }
public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); Int64 SupplierId; if (IsAuthorizedRequestSupplier(Request, Response, true, out SupplierId)) { Response.ContentType = @"application/json"; List <object> SupplierStatus = new List <object>(); try { AppMembership.AppSupplierLoggedInAction(SupplierId, out SupplierStatus); } catch { } using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName(@"user_id"); jsonWriter.WriteValue(SupplierId); jsonWriter.WritePropertyName(@"status"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[0] : false); jsonWriter.WritePropertyName(@"allow_change_status_join_bids"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[1] : false); jsonWriter.WritePropertyName(@"is_auto_join_bid"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[2] : false); jsonWriter.WritePropertyName(@"max_winning_num"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[3] : 0); jsonWriter.WritePropertyName(@"is_service_supplier"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[4] : false); jsonWriter.WriteEndObject(); } } } }
protected void btnForgotPassword_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } string key = AppMembership.GenerateRecoveryKey(txtEmail.Text); if (!string.IsNullOrEmpty(key)) { EmailMessagingService.SendPasswordRecoveryMailForAppUser(core.DAL.AppUser.FetchByEmail(txtEmail.Text), key, null); mcMessageCenter.DisplaySuccessMessage(AppForgotPasswordStrings.GetText(@"ForgotPasswordSent")); phForgotFields.Visible = false; } else { mcMessageCenter.DisplayErrorMessage(AppForgotPasswordStrings.GetText(@"ForgotPasswordFailed")); phForgotFields.Visible = false; } }
protected void btnImport_Click(object sender, EventArgs e) { if (CsvDataTable != null) { int count = 0; try { foreach (DataRow appUserRow in CsvDataTable.Rows) { if (appUserRow["Comments"].ToString() == "") { AppUser app_user = null; AppMembership.AppUserCreateResults results = AppMembership.CreateAppUser(appUserRow["Email"].ToString(), appUserRow["Password"].ToString(), @"", out app_user); if (results != AppMembership.AppUserCreateResults.Success) { throw new Exception(); } app_user.FirstName = appUserRow["FirstName"].ToString(); app_user.LastName = appUserRow["LastName"].ToString(); app_user.IsLocked = appUserRow["IsLocked"].ToString() == "0" ? false : true;; app_user.Phone = appUserRow["Phone"].ToString(); // app_user.OrderDisplay = OrderDisplay.GetLastOrder() + 1; app_user.Save(); count++; } } lblImportResult.Text = AppUsersStrings.GetText(@"MessageImportSuccess"); } catch { lblImportResult.Text = AppUsersStrings.GetText(@"MessageImportFailedUnknown"); } phImportResult.Visible = true; lblTotalImported.Text = count.ToString(); btnImport.Enabled = false; phErrors.Visible = false; phAppUsersList.Visible = false; } }
private void Save(AppSupplier supplier) { supplier.BusinessName = txtbusiness.Text; supplier.ContactName = txtContactName.Text; supplier.Email = txtEmail.Text; supplier.ContactPhone = txtContactPhone.Text; supplier.HouseNum = txtNumber.Text; supplier.Street = txtStreet.Text; supplier.CityId = Convert.ToInt64(ddlCity.SelectedValue); supplier.Phone = txtPhone.Text; supplier.Description = txtDescription.Text; supplier.Discount = txtDiscount.Text; if (txtPassword.Text.Trim() != "" && txtConfirmPassword.Text.Trim() != "") { string pwd, salt; AppMembership.EncodePassword(txtPassword.Text.Trim(), out pwd, out salt); supplier.Password = pwd; supplier.PasswordSalt = salt; } if (supplier.IsService) { supplier.ApprovedTermsDate = DateTime.Now; if (fuImage.HasFile) { string fn = MediaUtility.SaveFile(fuImage.PostedFile, "SupplupCityier/225x225", 0, true); supplier.ProfileImage = fn; imgImage.ImageUrl = Snoopi.core.MediaUtility.GetImagePath("Supplier", supplier.ProfileImage, 0, 225, 225); ImageFileHandler(fuImage, imgImage, btnDeleteImage, imgImage.ImageUrl); } else if (supplier.ProfileImage != "" && fuImage.Visible) { MediaUtility.DeleteImageFilePath("Supplier", supplier.ProfileImage, 225, 225, 0); supplier.ProfileImage = ""; } } supplier.Save(); Response.Redirect("MyProfile.aspx"); Master.MessageCenter.DisplaySuccessMessage(SupplierProfileStrings.GetText(@"Success")); }
public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); JObject inputData = null; try { using (StreamReader reader = new StreamReader(Request.InputStream)) { using (JsonTextReader jsonReader = new JsonTextReader(reader)) { inputData = JObject.Load(jsonReader); } } } catch { RespondBadRequest(Response); } string email = inputData.Value<string>(@"email") ?? ""; string password = inputData.Value<string>(@"password") ?? ""; Response.ContentType = @"application/json"; Int64 SupplierId; AppMembership.AppUserAuthenticateResults res = AppMembership.AuthenticateAppSupplier(email, password, out SupplierId); switch (res) { case AppMembership.AppUserAuthenticateResults.Success: { List<object> SupplierStatus = new List<object>(); AppSupplierAuthToken at = AuthTokens.GenerateAuthTokenForAppSupplierId(SupplierId, 0); try { AppMembership.AppSupplierLoggedInAction(SupplierId, out SupplierStatus); } catch { } using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName(@"access_token"); jsonWriter.WriteValue(AuthTokens.AccessToken(at)); jsonWriter.WritePropertyName(@"user_id"); jsonWriter.WriteValue(SupplierId); jsonWriter.WritePropertyName(@"status"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[0] : false); jsonWriter.WritePropertyName(@"allow_change_status_join_bids"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[1] : false); jsonWriter.WritePropertyName(@"is_auto_join_bid"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[2] : false); jsonWriter.WritePropertyName(@"is_service_supplier"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[4] : false); jsonWriter.WritePropertyName(@"max_winning_num"); jsonWriter.WriteValue(SupplierStatus.Count > 0 ? SupplierStatus[3] : 0); jsonWriter.WriteEndObject(); } } } break; default: case AppMembership.AppUserAuthenticateResults.LoginError: { RespondBadRequest(Response); } break; case AppMembership.AppUserAuthenticateResults.NotVerified: { RespondError(Response, HttpStatusCode.Forbidden, @"not-verified"); } break; case AppMembership.AppUserAuthenticateResults.NoMatch: { RespondError(Response, HttpStatusCode.Forbidden, @"no-match"); } break; case AppMembership.AppUserAuthenticateResults.Locked: { RespondError(Response, HttpStatusCode.Forbidden, @"locked"); } break; } }
public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); JObject inputData = null; try { using (StreamReader reader = new StreamReader(Request.InputStream)) { using (JsonTextReader jsonReader = new JsonTextReader(reader)) { inputData = JObject.Load(jsonReader); } } } catch { RespondBadRequest(Response); } string accessToken = inputData.Value <string>(@"access_token") ?? ""; Response.ContentType = @"application/json"; AppUser user; AppMembership.AppUserFacebookConnectResults res = AppMembership.ConnectAppUserToFacebook(accessToken, out user); switch (res) { case AppMembership.AppUserFacebookConnectResults.Success: { AppUserAuthToken at = AuthTokens.GenerateAuthTokenForAppUserId(user.AppUserId, 0); using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName(@"access_token"); jsonWriter.WriteValue(AuthTokens.AccessToken(at)); jsonWriter.WritePropertyName(@"user_id"); jsonWriter.WriteValue(user.AppUserId); Int64?cityId = user.CityId; jsonWriter.WritePropertyName(@"is_city_exists"); jsonWriter.WriteValue(cityId != null && cityId != 0); jsonWriter.WriteEndObject(); } } } break; default: case AppMembership.AppUserFacebookConnectResults.LoginError: { RespondForbidden(Response); } break; } }
public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); JObject inputData = null; try { using (StreamReader reader = new StreamReader(Request.InputStream)) { using (JsonTextReader jsonReader = new JsonTextReader(reader)) { inputData = JObject.Load(jsonReader); } } } catch { RespondBadRequest(Response); } string email = inputData.Value <string>(@"email") ?? ""; string password = inputData.Value <string>(@"password") ?? ""; string lang_code = inputData.Value <string>(@"lang_code") ?? ""; bool isTestUser = inputData.Value <bool>(@"is_test_user"); Int64 tempAppUserId = inputData.Value <Int64>(@"temp_app_user_id"); Response.ContentType = @"application/json"; if (isTestUser) { User userBack; Membership.TestUser(email, password.Trim(), out userBack); RespondBadRequest(Response, @"is_succeeded", (userBack != null).ToString()); } AppUser user; AppMembership.AppUserCreateResults res = AppMembership.CreateAppUser(email, password, lang_code, out user); switch (res) { case AppMembership.AppUserCreateResults.Success: { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { if (!user.IsVerified && Settings.GetSettingBool(Settings.Keys.APPUSER_VERIFY_EMAIL, false)) { jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName(@"needs_verification"); jsonWriter.WriteValue(true); jsonWriter.WriteEndObject(); } else { AppUserAuthToken at = AuthTokens.GenerateAuthTokenForAppUserId(user.AppUserId, 0); jsonWriter.WriteStartObject(); //jsonWriter.WritePropertyName(@"auth_token_secret"); //jsonWriter.WriteValue(at.Secret.ToString(@"N")); //jsonWriter.WritePropertyName(@"auth_token_key"); //jsonWriter.WriteValue(at.Key); if (tempAppUserId != 0) { BidController.UpdateTempAppUserBidsToUserBid(tempAppUserId, user.AppUserId); } jsonWriter.WritePropertyName(@"access_token"); jsonWriter.WriteValue(AuthTokens.AccessToken(at)); jsonWriter.WritePropertyName(@"user_id"); jsonWriter.WriteValue(user.AppUserId); jsonWriter.WriteEndObject(); } } } } break; case AppMembership.AppUserCreateResults.AlreadyExists: { RespondBadRequest(Response, @"user-already-exists", @"the supplied email address is in use"); } break; case AppMembership.AppUserCreateResults.InvalidEmailAddress: { RespondBadRequest(Response, @"invalid-email", @"the supplied email address is invalid"); } break; default: case AppMembership.AppUserCreateResults.UnknownError: { RespondInternalServerError(Response); } break; } }
protected void btnSave_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } string AppUserEmail = null; bool EmailChanged = false; AppUser app_user = null; if (IsNewMode) { AppMembership.AppUserCreateResults results = AppMembership.CreateAppUser(txtEmail.Text, txtPassword.Text.Trim(), @"", out app_user); switch (results) { default: case AppMembership.AppUserCreateResults.UnknownError: Master.MessageCenter.DisplayErrorMessage(AppUsersStrings.GetText(@"MessageCreateFailedUnknown")); return; case AppMembership.AppUserCreateResults.AlreadyExists: Master.MessageCenter.DisplayErrorMessage(AppUsersStrings.GetText(@"MessageCreateFailedAlreadyExists")); return; case AppMembership.AppUserCreateResults.InvalidEmailAddress: Master.MessageCenter.DisplayErrorMessage(AppUsersStrings.GetText(@"MessageCreateFailedEmailAddressInvalid")); return; case AppMembership.AppUserCreateResults.Success: break; } AppUserId = app_user.AppUserId; AppUserEmail = app_user.Email; //app_user.OrderDisplay = OrderDisplay.GetLastOrder() + 1; } else { app_user = core.DAL.AppUser.FetchByID(AppUserId); AppUserEmail = app_user.Email; } app_user.CityId = Convert.ToInt64(ddlCity.SelectedValue); app_user.IsLocked = chkIsLocked.Checked; app_user.FirstName = txtFirstName.Text; app_user.LastName = txtlastName.Text; app_user.Phone = txtPhone.Text; app_user.Street = txtStreet.Text; app_user.CityId = Int64.Parse(ddlCity.SelectedValue); app_user.ApartmentNumber = txtAptNum.Text; app_user.HouseNum = txtHouseNum.Text; app_user.Floor = txtFloor.Text; try { string city = ddlCity.SelectedItem.Text; //var address = (city != "" ? city + " " : "") + " " + (txtStreet.Text != "" ? txtStreet.Text + " " : "") + (txtHouseNum.Text != "" ? txtHouseNum.Text : ""); var locationService = new GoogleLocationService(); var point = (city.Trim() != "" ? locationService.GetLatLongFromAddress(city) : new MapPoint()); app_user.AddressLocation = new Geometry.Point(point.Latitude, point.Longitude); } catch { Master.MessageCenter.DisplayErrorMessage(AppUsersStrings.GetText(@"MessageAddressInvalid")); return; } app_user.Save(); if (IsNewMode) { AppUserId = app_user.AppUserId; } if (app_user.Email != txtEmail.Text.Trim().NormalizeEmail()) { if (AppUser.FetchByEmail(txtEmail.Text.Trim().NormalizeEmail()) != null) { Master.MessageCenter.DisplayWarningMessage(AppUsersStrings.GetText(@"MessageEmailChangeFailed")); } else { app_user.Email = txtEmail.Text.Trim().NormalizeEmail(); app_user.UniqueIdString = app_user.Email; AppUserEmail = app_user.Email; EmailChanged = true; } } AppUserEmail = app_user.Email; app_user.Save(); if (txtPassword.Text.Length > 0) { AppMembership.AppUserPasswordChangeResults results; //if (AppUserId == SessionHelper.UserId()) //{ // results = AppMembership.ChangeAppUserPassword(app_user.Email, txtCurrentPassword.Text, txtPassword.Text); //} //else //{ results = AppMembership.ChangeAppUserPassword(app_user.Email, txtPassword.Text); //} switch (results) { default: Master.MessageCenter.DisplayWarningMessage(AppUsersStrings.GetText(@"MessagePasswordChangeFailedUnknown")); break; case AppMembership.AppUserPasswordChangeResults.PasswordDoNotMatch: Master.MessageCenter.DisplayWarningMessage(AppUsersStrings.GetText(@"MessagePasswordChangeBadOldPassword")); break; case AppMembership.AppUserPasswordChangeResults.Success: break; } } if (IsNewMode) { string successMessage = AppUsersStrings.GetText(@"MessageAppUserCreated"); string url = @"EditAppUser.aspx?Email=" + AppUserEmail; url += @"&message-success=" + Server.UrlEncode(successMessage); Response.Redirect(url, true); } else { string successMessage = AppUsersStrings.GetText(@"MessageAppUserSaved"); if (EmailChanged) { string url = @"EditAppUser.aspx?message-success=" + Server.UrlEncode(successMessage); if (AppUserId != SessionHelper.UserId()) { url += @"&Email=" + AppUserEmail; } Response.Redirect(url, true); } else { Master.MessageCenter.DisplaySuccessMessage(successMessage); LoadView(); } } }
public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); JObject inputData = null; try { using (StreamReader reader = new StreamReader(Request.InputStream)) { using (JsonTextReader jsonReader = new JsonTextReader(reader)) { inputData = JObject.Load(jsonReader); } } } catch { RespondBadRequest(Response); } string email = inputData.Value <string>(@"email") ?? ""; string password = inputData.Value <string>(@"password") ?? ""; Response.ContentType = @"application/json"; Int64 AppUserId; AppMembership.AppUserAuthenticateResults res = AppMembership.AuthenticateAppUser(email, password, out AppUserId); switch (res) { case AppMembership.AppUserAuthenticateResults.Success: { AppUserAuthToken at = AuthTokens.GenerateAuthTokenForAppUserId(AppUserId, 0); try { AppMembership.AppUserLoggedInAction(AppUserId); } catch { } using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName(@"access_token"); jsonWriter.WriteValue(AuthTokens.AccessToken(at)); jsonWriter.WritePropertyName(@"user_id"); jsonWriter.WriteValue(AppUserId); Int64?cityId = AppUser.FetchByID(AppUserId).CityId; jsonWriter.WritePropertyName(@"is_city_exists"); jsonWriter.WriteValue(cityId != null && cityId != 0); jsonWriter.WriteEndObject(); } } } break; default: case AppMembership.AppUserAuthenticateResults.LoginError: { RespondBadRequest(Response); } break; case AppMembership.AppUserAuthenticateResults.NotVerified: { RespondError(Response, HttpStatusCode.Forbidden, @"not-verified"); } break; case AppMembership.AppUserAuthenticateResults.NoMatch: { RespondError(Response, HttpStatusCode.Forbidden, @"no-match"); } break; case AppMembership.AppUserAuthenticateResults.Locked: { RespondError(Response, HttpStatusCode.Forbidden, @"locked"); } break; } }
public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams) { Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); JObject inputData = null; try { using (StreamReader reader = new StreamReader(Request.InputStream)) { using (JsonTextReader jsonReader = new JsonTextReader(reader)) { inputData = JObject.Load(jsonReader); } } } catch { RespondBadRequest(Response); } Int64 AppUserId; if (IsAuthorizedRequest(Request, Response, true, out AppUserId)) { Response.ContentType = @"application/json"; JToken jt; string first_name = null, last_name = null, email = null, gender = null, is_adv = null, password = null, city_id = null, house_num = null, apartment_number = null, street = null, phone = null, lang_code = null, floor = null; if (inputData.TryGetValue(@"first_name", out jt)) { first_name = jt.Value <string>(); } if (inputData.TryGetValue(@"last_name", out jt)) { last_name = jt.Value <string>(); } if (inputData.TryGetValue(@"email", out jt)) { email = jt.Value <string>(); } if (inputData.TryGetValue(@"gender", out jt)) { gender = jt.Value <string>(); } if (inputData.TryGetValue(@"city_id", out jt)) { city_id = jt.Value <string>(); } if (inputData.TryGetValue(@"street", out jt)) { street = jt.Value <string>(); } if (inputData.TryGetValue(@"house_num", out jt)) { house_num = jt.Value <string>(); } if (inputData.TryGetValue(@"apartment_number", out jt)) { apartment_number = jt.Value <string>(); } if (inputData.TryGetValue(@"floor", out jt)) { floor = jt.Value <string>(); } if (inputData.TryGetValue(@"password", out jt)) { password = jt.Value <string>(); } if (inputData.TryGetValue(@"phone", out jt)) { phone = jt.Value <string>(); } if (inputData.TryGetValue(@"lang_code", out jt)) { lang_code = jt.Value <string>(); } if (inputData.TryGetValue(@"is_adv", out jt)) { is_adv = jt.Value <string>(); } string currentEmail = Query.New <AppUser>().Select(AppUser.Columns.Email).Where(AppUser.Columns.AppUserId, AppUserId).ExecuteScalar() as string; using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { if (email != null && !email.IsValidEmail()) { RespondBadRequest(Response, @"invalid-email", @"the supplied email address is invalid"); } if (password != null && password != "") { AppMembership.AppUserPasswordChangeResults result = AppMembership.ChangeAppUserPassword(currentEmail, password); switch (result) { default: case AppMembership.AppUserPasswordChangeResults.AppUserDoesNotExist: RespondInternalServerError(Response); break; case AppMembership.AppUserPasswordChangeResults.PasswordDoNotMatch: RespondBadRequest(Response, @"old-password-does-not-match", @"the supplied password does not match the old password"); break; case AppMembership.AppUserPasswordChangeResults.Success: break; } } Query qry = Query.New <AppUser>().Where(AppUser.Columns.AppUserId, AppUserId); if (first_name != null) { qry.Update(AppUser.Columns.FirstName, first_name); } if (last_name != null) { qry.Update(AppUser.Columns.LastName, last_name); } if (gender != null) { switch (gender) { default: case @"unknown": qry.Update(AppUser.Columns.Gender, AppUserGender.Unknown); break; case @"male": qry.Update(AppUser.Columns.Gender, AppUserGender.Male); break; case @"female": qry.Update(AppUser.Columns.Gender, AppUserGender.Female); break; } } if (city_id != null) { qry.Update(AppUser.Columns.CityId, int.Parse(city_id)); } if (phone != null) { qry.Update(AppUser.Columns.Phone, phone); } if (lang_code != null) { qry.Update(AppUser.Columns.LangCode, lang_code); } if (floor != null) { qry.Update(AppUser.Columns.Floor, floor); } if (street != null) { qry.Update(AppUser.Columns.Street, street); } if (house_num != null) { qry.Update(AppUser.Columns.HouseNum, house_num); } if (apartment_number != null) { qry.Update(AppUser.Columns.ApartmentNumber, apartment_number); } if (is_adv != null) { qry.Update(AppUser.Columns.IsAdv, bool.Parse(is_adv)); } if (city_id != null) { try { City c = City.FetchByID(int.Parse(city_id)); var locationService = new GoogleLocationService(); var point = locationService.GetLatLongFromAddress(c.CityName); qry.Update(AppUser.Columns.AddressLocation, new Geometry.Point(point.Latitude, point.Longitude)); } catch (Exception) { qry.Update(AppUser.Columns.AddressLocation, new Geometry.Point(0, 0)); } } if (qry.QueryMode == QueryMode.Update) { qry.Execute(); } if (email != null) { if (email != currentEmail) { if (email.NormalizeEmail() == currentEmail.NormalizeEmail()) { Query.New <AppUser>() .Update(AppUser.Columns.Email, email) .Where(AppUser.Columns.AppUserId, AppUserId) .AND(AppUser.Columns.UniqueIdString, email.NormalizeEmail()).Execute(); } else { Query.New <AppUser>() .Update(AppUser.Columns.UniqueIdString, email.NormalizeEmail()) .Update(AppUser.Columns.Email, email) .Where(AppUser.Columns.AppUserId, AppUserId).Execute(); } } } jsonWriter.WriteStartObject(); Int64?cityId = AppUser.FetchByID(AppUserId).CityId; jsonWriter.WritePropertyName(@"is_city_exists"); jsonWriter.WriteValue(cityId != null && cityId != 0); jsonWriter.WriteEndObject(); } } } }