public async Task <String> GetOpenstackToken(IConfiguration configuration) { var clientToken = _httpClientFactory.CreateClient("IdentityAPI"); var payload = new TokenAuthDTO { Auth = new AuthDTO { PasswordCredentials = new PasswordCredentialsDTO { Username = "******", Password = "******" }, TenantName = "admin" } }; var stringPayload = await Task.Run(() => JsonConvert.SerializeObject(payload)); var httpContent = new StringContent(stringPayload, Encoding.UTF8, "application/json"); httpContent.Headers.ContentLength = stringPayload.Length; var responseToken = await clientToken.PostAsync(clientToken.BaseAddress + "tokens", httpContent); responseToken.EnsureSuccessStatusCode(); string conteudoToken = JObject.Parse(responseToken.Content.ReadAsStringAsync().Result)["access"].ToString(); var jsonSerializerSettings = new JsonSerializerSettings(); jsonSerializerSettings.MissingMemberHandling = MissingMemberHandling.Ignore; AccessDTO access = JsonConvert.DeserializeObject <AccessDTO>(conteudoToken, jsonSerializerSettings); return(access.Token.Id); }
public void MakeAccess(AccessDTO AccessDto, string authorEmail) { var Author = Database.Employees.Find(u => u.Email == authorEmail).FirstOrDefault(); if (Author == null) { throw new ValidationException("Не возможно идентифицировать текущего пользователя по почте", authorEmail); } //Access access = Database.Accesses.Get(AccessDto.Id); //// валидация //if (access != null) // throw new ValidationException("Доступ с таким Id уже создан", ""); try { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <AccessDTO, Access>()).CreateMapper(); Access Access = mapper.Map <AccessDTO, Access>(AccessDto); //Employee Employee = new Employee //{ // LName = UserDTO.LName, // FName = UserDTO.FName, // MName = UserDTO.MName, // SID = UserDTO.SID, // Guid1C = UserDTO.Guid1C, // Birthday = UserDTO.Birthday, // PersonnelNumber = UserDTO.PersonnelNumber, //}; Database.Accesses.Create(Access); Database.Save(); } catch (Exception e) { Debug.WriteLine("Имя члена: {0}", e.TargetSite); Debug.WriteLine("Класс определяющий член: {0}", e.TargetSite.DeclaringType); Debug.WriteLine("Тип члена: {0}", e.TargetSite.MemberType); Debug.WriteLine("Message: {0}", e.Message); Debug.WriteLine("Source: {0}", e.Source); Debug.WriteLine("Help Link: {0}", e.HelpLink); Debug.WriteLine("Stack: {0}", e.StackTrace); foreach (DictionaryEntry de in e.Data) { Console.WriteLine("{0} : {1}", de.Key, de.Value); } } }
public static Task SaveUser(AccessDTO user) { SaveToken(user.AccessToken).ConfigureAwait(false); SecureStorage.SetAsync("user", JsonConvert.SerializeObject(user)); return(Task.CompletedTask); }
public void UpdateAccess(AccessDTO accessDTO, string authorEmail) { throw new NotImplementedException(); }