public void Put(int id, [FromBody] PhotographerInfo photographer) { var identity = (ClaimsIdentity)User.Identity; IEnumerable <Claim> claims = identity.Claims; var userIdClaim = claims.Where(claim => claim.Type == "user_id")?.FirstOrDefault(); if (userIdClaim == null) { throw new Exception("user_id claim not found"); } if (!int.TryParse(userIdClaim?.Value, out int userId)) { throw new Exception("Invalid value for user_id in users claims"); } if (id != userId || userId != photographer?.Id) { return; } this.usersDataAccessLayer.UpdatePhotographerInfo(photographer); }
public Status Post([FromBody] PhotographerInfo photographer) { var emailValidator = new EmailValidation(); if (!emailValidator.IsValidEmail(photographer.Email)) { return new Status { StatusCode = 2002, IsOk = false, Message = "Email is not valid" } } ; if (!this.usersDataAccessLayer.IsValidUserName(photographer.UserName)) { return new Status { StatusCode = 2001, IsOk = false, Message = "UserName is not valid" } } ; var id = this.usersDataAccessLayer.AddPhotographer(photographer); return(new Status { StatusCode = 1000, IsOk = true, Message = "Your account is crated." }); }
public void Post([FromBody] PhotographerInfo photographer) { var code = this.dataAccesLayer.AddUserVerification(photographer.UserName); var emailSender = new SendVerificationCodeEmail(new NetworkCredential("*****@*****.**", "kanchhiking2018")); emailSender.Send(photographer.Email, code.ToString()); }
public async Task <ApplicationUser> RegisterUser(RegisterViewModel user) { switch (user.RegTypeEnum) { case RegTypeEnum.Client: var appUser = new ApplicationUser { UserName = user.Username, Name = user.Name, Surname = user.Surname, Email = user.Email }; var result = await userManager.CreateAsync(appUser, user.Password); if (result.Succeeded) { await userManager.AddToRoleAsync(appUser.Id, "client"); var clientInfo = new ClientInfo { ApplicationUserId = appUser.Id, ApplicationUser = appUser, ClientInteger = 5 }; appUser.ClientInfo = clientInfo; await userManager.UpdateAsync(appUser); await signInManager.SignInAsync(appUser, isPersistent : false, rememberBrowser : false); return(appUser); } return(null); case RegTypeEnum.Photographer: var appUser1 = new ApplicationUser { UserName = user.Username, Name = user.Name, Surname = user.Surname, Email = user.Email }; var result1 = await userManager.CreateAsync(appUser1, user.Password); if (result1.Succeeded) { await userManager.AddToRoleAsync(appUser1.Id, "photographer"); var photographerInfo = new PhotographerInfo { ApplicationUserId = appUser1.Id, ApplicationUser = appUser1, ConnectState = Guid.NewGuid().ToString("N") }; appUser1.PhotographerInfo = photographerInfo; await userManager.UpdateAsync(appUser1); await signInManager.SignInAsync(appUser1, isPersistent : false, rememberBrowser : false); return(appUser1); } return(null); default: return(null); } }
public void GetAllPhotographerRequests() { var tokenResponse = tokenClient.RequestRefreshTokenAsync(ConfigurationManager.AppSettings["refreshToken"]).Result; httpClient.SetBearerToken(tokenResponse.AccessToken); var response = httpClient.GetAsync("api/photographerverification").Result; var content = response.Content; var jsonContent = content.ReadAsStringAsync().Result; var photographers = JsonConvert.DeserializeObject <List <Photographer> >(jsonContent); foreach (var photographer in photographers) { var photographerInfo = new PhotographerInfo { Id = photographer.Id, FirstName = photographer.FirstName, LastName = photographer.LastName, Gender = photographer.Gender, DateOfBirth = photographer.DateOfBirth, Email = photographer.Email, PhoneNumber = photographer.PhoneNumber, UserName = photographer.UserName, Image = ImageConverter.ConvertImageToImageSource(photographer.Image), KnowledgeOfLanguages = photographer.KnowledgeOfLanguages, Profession = photographer.Profession, WorkExperience = photographer.WorkExperience, Camera = new CameraInfo { Id = photographer.Camera.Id, IsProfessional = photographer.Camera.IsProfessional, Model = photographer.Camera.Model }, HasCameraStabilizator = photographer.HasCameraStabilizator, HasDron = photographer.HasDron, HasGopro = photographer.HasGopro, }; var guideRequest = new PhotographerRequests() { Photographer = photographerInfo, Accept = new Command(AcceptAsync), Ignore = new Command(IgnoreAsync) }; this.PhotographerRequests.Add(guideRequest); } }
public void GetPhotographerInfo() { var tokenResponse = tokenClient.RequestRefreshTokenAsync(ConfigurationManager.AppSettings["refreshToken"]).Result; this.httpClient.SetBearerToken(tokenResponse.AccessToken); var response = httpClient.GetAsync($"api/Photographer/{ConfigurationManager.AppSettings["userId"]}").Result; var content = response.Content; var jsonContent = content.ReadAsStringAsync().Result; var photographer = JsonConvert.DeserializeObject <Photographer>(jsonContent); var photographerInfo = new PhotographerInfo { Id = photographer.Id, FirstName = photographer.FirstName, LastName = photographer.LastName, Gender = photographer.Gender, DateOfBirth = photographer.DateOfBirth, Email = photographer.Email, PhoneNumber = photographer.PhoneNumber, UserName = photographer.UserName, KnowledgeOfLanguages = photographer.KnowledgeOfLanguages, NumberOfAppraisers = photographer.NumberOfAppraisers, Profession = photographer.Profession, WorkExperience = photographer.WorkExperience, Image = ImageConverter.ConvertImageToImageSource(photographer.Image) ?? ImageConverter.DefaultProfilePicture(photographer.Gender), HasCameraStabilizator = photographer.HasCameraStabilizator, HasDron = photographer.HasDron, HasGopro = photographer.HasGopro, Rating = photographer.Rating, Camera = new CameraInfo { Id = photographer.Camera.Id, IsProfessional = photographer.Camera.IsProfessional, Model = photographer.Camera.Model } }; Photographer = photographerInfo; }
private async Task <PhotographerInfo> GetPhotographerAsync(int guideId) { var tokenResponse = await tokenClient.RequestRefreshTokenAsync(ConfigurationManager.AppSettings["refreshToken"]); var httpClient = new HttpClient { BaseAddress = new Uri(ConfigurationManager.AppSettings["userManagementBaseUri"]) }; httpClient.SetBearerToken(tokenResponse.AccessToken); var httpResponse = await httpClient.GetAsync($"api/Photographer/{guideId}"); var content = httpResponse.Content; var photographerJson = await content.ReadAsStringAsync(); var photographer = JsonConvert.DeserializeObject <Photographer>(photographerJson); var camera = new CameraInfo { Id = photographer.Camera.Id, IsProfessional = photographer.Camera.IsProfessional, Model = photographer.Camera.Model }; var photographerInfo = new PhotographerInfo { Id = photographer.Id, FirstName = photographer.FirstName, LastName = photographer.LastName, DateOfBirth = photographer.DateOfBirth, KnowledgeOfLanguages = photographer.KnowledgeOfLanguages, Email = photographer.Email, Gender = photographer.Gender, NumberOfAppraisers = photographer.NumberOfAppraisers, PhoneNumber = photographer.PhoneNumber, Rating = photographer.Rating, WorkExperience = photographer.WorkExperience, Profession = photographer.Profession, HasCameraStabilizator = photographer.HasCameraStabilizator, HasDron = photographer.HasDron, HasGopro = photographer.HasGopro, Camera = camera }; if (photographerInfo.Image != null) { photographerInfo.Image = ImageConverter.ConvertImageToImageSource(photographer.Image); } else { BitmapImage img = new BitmapImage(); img.BeginInit(); if (photographerInfo.Gender == "Female") { img.UriSource = new Uri(@"pack://*****:*****@"pack://application:,,,/Kanch;component/Images/male.jpg"); } img.EndInit(); photographerInfo.Image = img; } return(photographerInfo); }