public async Task <ProfileSaveResponseModel> ProfileSaveApi(ProfileSaveRequestModel request, Action <object> success, Action <object> failed) { ProfileSaveResponseModel resmodel = new ProfileSaveResponseModel(); try { var url = string.Format("{0}/api/appconnect/ProfileSave", WebServiceDetails.BaseUri); string randomGuid = Guid.NewGuid().ToString(); var dic = new Dictionary <string, string>(); //dic.Add("Content-Type", "Application/json"); dic.Add("randomguid", randomGuid); dic.Add("hash", randomGuid + WebServiceDetails.AppKey + request.usertoken + Helpers.Constants.LoginUserSecret + Helpers.Constants.UserEmailAddress + Helpers.Constants.UserLastname); var result = _apiProvider.Post <ProfileSaveResponseModel, ProfileSaveRequestModel>(url, request, dic); var response = result.Result; ProfileSaveResponseModel objres = null; dynamic obj = ""; ProfileSaveResponseModel reg = new ProfileSaveResponseModel(); if (response.IsSuccessful != false) { objres = JsonConvert.DeserializeObject <ProfileSaveResponseModel>(response.RawResult); success.Invoke(objres); } else { UserDialogs.Instance.HideLoading(); failed.Invoke(obj); } } catch (Exception exception) { UserDialogs.Instance.HideLoading(); UserDialogs.Instance.Alert("Something went wrong please try again.", "", "OK"); } return(resmodel); }
public async Task <IActionResult> SignIn([FromBody] ProfileSaveRequestModel model) { try { var user = await _context.Users.SingleOrDefaultAsync(a => a.UserId == UserId); if (user == null) { user = new AppUser { UserId = this.UserId }; user.FirstName = model.FirstName; user.LastName = model.LastName; user.Email = model.Email; user.Gender = model.Gender; user.City = model.City; user.Region = model.Region; user.Country = model.Country; user.PhotoUrl = model.PhotoUrl; user.DefaultActivityTypeId = (byte)Enum.Parse <ActivityTypeEnum>(model.DefaultActivityType ?? "Ski", true); _context.Users.Add(user); await _context.SaveChangesAsync(); } var response = Responses.Profile(user, Enumerable.Empty <Activity>()); return(Ok(response)); } catch (Exception e) { Console.WriteLine("Error signing in", e); _logger.LogError(e, "Error siging in"); return(ErrorResponse.AsStatusCodeResult(HttpStatusCode.InternalServerError, "Error siging in")); } }