public async Task <IResult> Delete(int id) { var query = new Dictionary <string, string> { ["id"] = id.ToString() }; var token = _httpContextAccessor.HttpContext.Session.GetString("token"); if (string.IsNullOrEmpty(token)) { return(new ErrorResult("Unauthorized.")); } _httpClient.AddJwtTokenToHeader(token); var response = await _httpClient.DeleteAsync(QueryHelpers.AddQueryString("admin/user", query)); if (response.IsSuccessStatusCode) { return(new Result(true)); } else { return(new Result(await response.Content.ReadAsStringAsync(), false)); } }
public async Task <IResult> Add(ShelterDto dto) { var postData = JsonConvert.SerializeObject(dto); var content = new StringContent(postData, Encoding.UTF8, ContentTypes.JSON); var token = _httpContextAccessor.HttpContext.Session.GetString("token"); if (string.IsNullOrEmpty(token)) { return(new Result(false, System.Net.HttpStatusCode.BadRequest)); } _httpClient.AddJwtTokenToHeader(token); var response = await _httpClient.PostAsync("admin/shelter", content); if (response.IsSuccessStatusCode) { return(new Result()); } else { return(new Result(false, System.Net.HttpStatusCode.BadRequest)); } }
public async Task <IDataResult <string> > Add(PetDto dto) { var postData = JsonConvert.SerializeObject(dto); var content = new StringContent(postData, Encoding.UTF8, ContentTypes.JSON); var token = _httpContextAccessor.HttpContext.Session.GetString("token"); if (string.IsNullOrEmpty(token)) { return(new DataResult <string>("Unauthorized.", false, System.Net.HttpStatusCode.NotFound)); } _httpClient.AddJwtTokenToHeader(token); var response = await _httpClient.PostAsync("", content); if (response.IsSuccessStatusCode) { return(new DataResult <string>(await response.Content.ReadAsStringAsync(), true, System.Net.HttpStatusCode.OK)); } else { return(new DataResult <string>(await response.Content.ReadAsStringAsync(), false, System.Net.HttpStatusCode.NotFound)); } }
public override void OnActionExecuting(ActionExecutingContext context) { var token = context.HttpContext.Session.GetString("token"); if (string.IsNullOrWhiteSpace(token)) { context.Result = new RedirectToActionResult("Login", "Home", new { area = "" }); return; } /// Get Active User with Token using var httpClient = new HttpClient(); httpClient.BaseAddress = new Uri(StaticVars.BaseAPIAdress); httpClient.AddJwtTokenToHeader(token); var responseMessage = httpClient.GetAsync("user").Result; if (responseMessage.StatusCode == HttpStatusCode.OK) { //Todo: Add user object var activeUser = JsonConvert.DeserializeObject <UserDto>(responseMessage.Content.ReadAsStringAsync().Result); if (!string.IsNullOrWhiteSpace(Roles)) { bool canAccess = false; if (Roles.Contains(",")) { var acceptedRoles = Roles.Split(","); foreach (var role in acceptedRoles) { if (activeUser.UserRole.ToLower().Equals(role.ToLower())) { canAccess = true; break; } } } else { if (activeUser.UserRole.Equals(Roles)) { canAccess = true; } } if (!canAccess) { context.Result = new RedirectToActionResult("AccessDenied", "Account", null); } } } else { context.Result = new RedirectToActionResult("Index", "Home", new { area = "", statusCode = responseMessage.StatusCode.ToString() }); } }
public async Task <IDataResult <List <ContactDto> > > List() { var token = _httpContextAccessor.HttpContext.Session.GetString("token"); if (string.IsNullOrEmpty(token)) { return(new DataResult <List <ContactDto> >(null, false, System.Net.HttpStatusCode.Unauthorized)); } _httpClient.AddJwtTokenToHeader(token); var response = await _httpClient.GetAsync("admin/contact"); if (response.IsSuccessStatusCode) { var dto = JsonConvert.DeserializeObject <List <ContactDto> >(await response.Content.ReadAsStringAsync()); return(new DataResult <List <ContactDto> >(dto, true, response.StatusCode)); } else { return(new DataResult <List <ContactDto> >(null, false, response.StatusCode)); } }