private void UnlockButtonClicked(object sender, RoutedEventArgs routedEventArgs) { MessageBoxResult messageBoxResult = MessageBox.Show("¿Seguro que desea desbloquear la cuenta?", "Confirmación", MessageBoxButton.YesNo, MessageBoxImage.Question); if (messageBoxResult == MessageBoxResult.Yes) { RestClient client = new RestClient(urlBase); client.Timeout = -1; string urlAccount = "accounts/" + MemberATE.idAccount; var request = new RestRequest(urlAccount, Method.PATCH); request.AddHeader("Content-type", "application/json"); foreach (RestResponseCookie cookie in Login.cookies) { request.AddCookie(cookie.Name, cookie.Value); } Models.MemberStatus status = new Models.MemberStatus(); status.memberATEStatus = 1; var json = JsonConvert.SerializeObject(status); request.AddHeader("Token", Login.tokenAccount.token); request.AddParameter("application/json", json, ParameterType.RequestBody); System.Net.ServicePointManager.ServerCertificateValidationCallback = (senderX, certificate, chain, sslPolicyErrors) => { return(true); }; try { IRestResponse response = client.Execute(request); if (response.StatusCode == System.Net.HttpStatusCode.Created || response.StatusCode == System.Net.HttpStatusCode.OK) { status = JsonConvert.DeserializeObject <Models.MemberStatus>(response.Content); SendEmail(); MessageBox.Show("La cuenta se desbloqueo exitosamente", "Desbloqueo Exitoso", MessageBoxButton.OK, MessageBoxImage.Information); AccountConsultation accountConsultation = new AccountConsultation(); accountConsultation.Show(); Close(); } else { Models.Error responseError = JsonConvert.DeserializeObject <Models.Error>(response.Content); MessageBox.Show(responseError.error, "Error", MessageBoxButton.OK, MessageBoxImage.Error); if (response.StatusCode == System.Net.HttpStatusCode.Forbidden || response.StatusCode == System.Net.HttpStatusCode.Unauthorized || response.StatusCode == System.Net.HttpStatusCode.RequestTimeout) { Login login = new Login(); login.Show(); Close(); } } } catch (Exception exception) { MessageBox.Show("No se pudo obtener información de la base de datos. Intente más tarde", "Error", MessageBoxButton.OK, MessageBoxImage.Error); TelegramBot.SendToTelegram(exception); LogException.Log(this, exception); AccountConsultation accountConsultation = new AccountConsultation(); accountConsultation.Show(); Close(); } } }
public async Task <IActionResult> SetStatus(string id, Models.MemberStatus status) { var member = await _context.Member.SingleOrDefaultAsync(m => m.MemberId == id); var memberOperation = (status == Models.MemberStatus.Approved) ? MemberOperations.Approve : MemberOperations.Reject; var isAuthorized = await _authorizationService.AuthorizeAsync(User, member, memberOperation); if (!isAuthorized.Succeeded) { return(new ChallengeResult()); } member.Status = status; _context.Member.Update(member); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); }