private void LoginCall(ProgressDialog dialog, Activity curActivity, string username, string password) { try { var client = new RestClient(Common.UrlBase); var request = new RestRequest("Account/SignIn", Method.GET); request.AddHeader("Content-Type", "application/json"); request.AddQueryParameter("username", username); request.AddQueryParameter("password", password); request.AddQueryParameter("userDeviceId", Android.Provider.Settings.Secure.GetString(Android.App.Application.Context.ContentResolver, Android.Provider.Settings.Secure.AndroidId)); IRestResponse response = client.Execute(request); var content = response.Content; var responseObj = Newtonsoft.Json.JsonConvert.DeserializeObject <AccountResponse>(content); if (responseObj.Status == ResponseStatus.Successful && !string.IsNullOrEmpty(responseObj.AuthToken)) { string strGoodName = string.Empty; try { objdb = new DBaseOperations(); var lst = objdb.selectTable(); if (lst == null || lst.Count <= default(int)) { var usr = this.FetchUserDetails(responseObj.AuthToken); if (usr != null) { strGoodName = string.Format("{0} {1}", usr.FirstName, usr.LastName); } else { strGoodName = this.GetUserFullName(responseObj.AuthToken); } objdb.createDatabase(); objdb.insertIntoTable(new UserLoginInfo() { EmailId = username, GoodName = strGoodName, Password = password, IsAdmin = (usr != null && usr.IsAdmin ? 1 : default(int)), AuthToken = responseObj.AuthToken }); } else if (lst != null && lst.Count > default(int)) { /*objdb.removeTable(lst.FirstOrDefault());*/ var usr = this.FetchUserDetails(responseObj.AuthToken); var uobj = lst.FirstOrDefault(); if (!string.IsNullOrEmpty(uobj.GoodName)) { if (usr != null) { strGoodName = string.Format("{0} {1}", usr.FirstName, usr.LastName); } else { strGoodName = this.GetUserFullName(responseObj.AuthToken); } } else { strGoodName = uobj.GoodName; } objdb.updateTable(new UserLoginInfo() { Id = uobj.Id, EmailId = username, GoodName = strGoodName, Password = password, IsAdmin = (usr != null && usr.IsAdmin ? 1 : default(int)), AuthToken = responseObj.AuthToken, ProfilePicture = uobj.ProfilePicture }); } } catch { } Intent intent = new Intent(curActivity, typeof(MainContentActivity)); StartActivity(intent); curActivity.Finish(); } else { if (string.IsNullOrEmpty(responseObj.Error)) { throw new Exception(responseObj.Error); } else { throw new Exception("Invalid credential."); } } } catch (Exception ex) { curActivity.RunOnUiThread(() => { Android.App.AlertDialog.Builder alertDiag = new Android.App.AlertDialog.Builder(curActivity); alertDiag.SetTitle(Resource.String.DialogHeaderError); alertDiag.SetMessage(ex.Message); alertDiag.SetIcon(Resource.Drawable.alert); alertDiag.SetPositiveButton(Resource.String.DialogButtonOk, (senderAlert, args) => { }); Dialog diag = alertDiag.Create(); diag.Show(); diag.SetCanceledOnTouchOutside(false); }); } finally { if (dialog != null && dialog.IsShowing) { dialog.Hide(); dialog.Dismiss(); } } }
private void Register(Account obj, ProgressDialog dialog, Activity curActivity) { try { var client = new RestClient(Common.UrlBase); var request = new RestRequest("Account/Register", Method.POST); //{ "FirstName" : "Anik", "LastName" : "Sen", "UserTypeId" : 1, "password" : "1234", "Address" : " ", "EmailId" : "*****@*****.**", "FarmId" : default(int), "UserDeviceId": "71e28a9140f8712b" } request.AddJsonBody(new { FirstName = obj.FirstName, LastName = obj.LastName, UserTypeId = obj.UserTypeId, password = obj.password, Address = obj.Address, EmailId = obj.EmailId, FarmId = obj.FarmId, UserDeviceId = obj.UserDeviceId }); request.AddHeader("Content-Type", "application/json"); //request.AddHeader("token", "UnIwWlFXN0lFYWt0TG91d0tSQnU4WDZwSFhrNmU3VnZVR1A1V3lxSHVaND06YW5pay5zZW5Ab3V0bG9vay5jb206NjM2Njk1NDMyMDUwMzY5NDgy"); IRestResponse response = client.Execute(request); var content = response.Content; var responseObj = Newtonsoft.Json.JsonConvert.DeserializeObject <AccountResponse>(content); if (response.StatusCode == System.Net.HttpStatusCode.OK) { if (responseObj.Status == ResponseStatus.Successful && !string.IsNullOrEmpty(responseObj.AuthToken)) { objdb = new DBaseOperations(); var lst = objdb.selectTable(); if (lst != null && lst.Count > default(int)) { objdb.removeTable(lst.FirstOrDefault()); } /*if (!objdb.isDBExists()) * { * objdb.createDatabase(); * }*/ objdb.createDatabase(); objdb.insertIntoTable(new UserLoginInfo() { EmailId = input_useremail.Text.Trim(), GoodName = string.Format("{0} {1}", obj.FirstName, obj.LastName), Password = obj.password, IsAdmin = obj.IsAdmin ? 1 : default(int), AuthToken = responseObj.AuthToken, ProfilePicture = _profilepicbase64 }); Intent intent = new Intent(curActivity, typeof(MainContentActivity)); StartActivity(intent); curActivity.Finish(); } else { throw new Exception(responseObj.Error); } } else { throw new Exception("Unable to register at this moment. Please try again later."); } } catch (Exception ex) { //throw ex; curActivity.RunOnUiThread(() => { Android.App.AlertDialog.Builder alertDiag = new Android.App.AlertDialog.Builder(curActivity); alertDiag.SetTitle(Resource.String.DialogHeaderError); alertDiag.SetMessage(ex.Message); alertDiag.SetIcon(Resource.Drawable.alert); alertDiag.SetPositiveButton(Resource.String.DialogButtonOk, (senderAlert, args) => { }); Dialog diag = alertDiag.Create(); diag.Show(); diag.SetCanceledOnTouchOutside(false); }); } finally { if (dialog != null && dialog.IsShowing) { dialog.Hide(); dialog.Dismiss(); } } }