//Set profile pic of user to path public async Task <IActionResult> Post([FromQuery] String username, [FromBody] String path) { // First check if username exists in DB if (!await dbContext.UsersTbl.AnyAsync(User => User.UserName.Equals(username))) { return(StatusCode(StatusCodes.Status404NotFound, "No Such User")); } try { //Change user profile pic in users table UsersTbl user = await dbContext.UsersTbl.Where(u => u.UserName.Equals(username)).FirstAsync(); user.ProfilePicPath = path; //Change user profile pic in tweets table await dbContext.TweetsTbl.Where(tweet => tweet.UserName.Equals(username)).ForEachAsync(tweet => tweet.ProfilePicPath = path); await dbContext.SaveChangesAsync(); return(StatusCode(StatusCodes.Status200OK, "Profile pic path changed")); } catch (Exception ex) { return(StatusCode(StatusCodes.Status404NotFound, ex.Message)); } }
public async Task <IActionResult> Post([FromBody] UsersTbl value) { // check if the User exists in the DB if (await dbContext.UsersTbl.AnyAsync(User => User.UserName.Equals(value.UserName))) { UsersTbl user = await dbContext.UsersTbl.Where(u => u.UserName.Equals(value.UserName)).FirstAsync(); //calculate hash password and compare to DB var client_post_hash_password = Convert.ToBase64String(Common.SaltHashPassword( Encoding.ASCII.GetBytes(value.Password), Convert.FromBase64String(user.Salt))); if (client_post_hash_password.Equals(user.Password)) { return(StatusCode(StatusCodes.Status200OK, user.UserName)); } else { return(StatusCode(StatusCodes.Status400BadRequest, "Wrong Password")); } } else { return(StatusCode(StatusCodes.Status400BadRequest, "User does not exist in DB")); } }
//Get bio of username public async Task <IActionResult> Get([FromQuery] String username) { try { UsersTbl user = await dbContext.UsersTbl.Where(u => u.UserName.Equals(username)).FirstAsync(); return(StatusCode(StatusCodes.Status200OK, user.Bio)); } catch (Exception) { return(StatusCode(StatusCodes.Status404NotFound, "Couldn't retrieve Bio")); } }
public async Task <bool> Create(UserCreateSaveModel userCreateSaveModel, int operatingUserId) { //check for duplicate username if (await _context.UsersTbl .Include(udt => udt.UserDetailsTbl) .AsNoTracking() .AnyAsync(u => u.Username == userCreateSaveModel.User.Username && u.UserId != userCreateSaveModel.User.UserId && !u.UserDetailsTbl.IsDeleted ) ) { throw new BadRequestException(string.Format(UserValidationMessage.USERNAME_ALREADY_TAKEN, userCreateSaveModel.User.Username)); } //byte[] passwordHash, passwordSalt; //CreatePasswordHash(password, out passwordHash, out passwordSalt); //user.PasswordHash = passwordHash; //user.PasswordSalt = passwordSalt; UsersTbl usersTbl = new UsersTbl { UserDetailsTbl = new UserDetailsTbl() { UserContentTbl = await _userContentService.GetNewUserContent(userCreateSaveModel.User.UserId) } }; //populate table objects _mapper.Map(userCreateSaveModel.User, usersTbl); _mapper.Map(userCreateSaveModel.UserDetailsBaseAdmin, usersTbl.UserDetailsTbl); usersTbl.UserDetailsTbl.CreatedBy = operatingUserId; usersTbl.UserDetailsTbl.ModifiedBy = operatingUserId; await _context.AddAsync(usersTbl); await _context.SaveChangesAsync(); //after save update models with data //_mapper.Map(usersTbl, userSaveModel.User); //_mapper.Map(usersTbl.UserDetailsTbl, userSaveModel.UserDetail); return(true); }
public async Task <IActionResult> Post([FromBody] UsersTbl value) { // check if the User exists in the DB if (!await dbContext.UsersTbl.AnyAsync(User => User.UserName.Equals(value.UserName))) { if (!await dbContext.UsersTbl.AnyAsync(User => User.Email.Equals(value.Email))) { UsersTbl user = new UsersTbl(); user.UserName = value.UserName; user.Email = value.Email; // Generate salt and hash password with salt user.Salt = Convert.ToBase64String(Common.GetRandomSalt(16)); user.Password = Convert.ToBase64String(Common.SaltHashPassword( Encoding.ASCII.GetBytes(value.Password), Convert.FromBase64String(user.Salt))); user.ProfilePicPath = value.ProfilePicPath; user.Bio = value.Bio; //add to DB try { await dbContext.AddAsync(user); await dbContext.SaveChangesAsync(); return(StatusCode(StatusCodes.Status200OK, "Registered Successfully")); } catch (Exception ex) { return(StatusCode(StatusCodes.Status400BadRequest, ex.Message)); } } else { return(StatusCode(StatusCodes.Status409Conflict, "Email already exists in DB")); } } else { return(StatusCode(StatusCodes.Status409Conflict, "Username already exists in DB")); } }
private static UserDetailsView getUserDetails(Entities context, UsersTbl User) { try { UserDetailsView userDetails = new UserDetailsView(); userDetails.DaysSumForDiscount = User.DaysSumForDiscount; userDetails.Acceptmessages = User.Acceptmessages; userDetails.UserFirstName = User.UserFirstName; userDetails.UserLastName = User.UserLastName; userDetails.UserEmail = User.UserEmail; userDetails.UserID = User.UserID; userDetails.UserPhone2 = User.UserPhone2; userDetails.UserPhone1 = User.UserPhone1; userDetails.UserComments = User.UserComments; userDetails.UserCity = User.UserCity; userDetails.UserAddress = User.UserAddress; userDetails.UserName = User.UserName; userDetails.UserStatusCode = User.UserStatusCode; var vet = context.veterinarTbl .Where(v => v.VeterinarId == User.UserVeterinarId).FirstOrDefault(); userDetails.UserVeterinarId = User.UserVeterinarId; userDetails.VeterinarAddress = vet.VeterinarAddress; userDetails.VeterinarCity = vet.VeterinarCity; userDetails.VeterinarEmail = vet.VeterinarEmail; userDetails.VeterinarName = vet.VeterinarName; userDetails.VeterinarPhone1 = vet.VeterinarPhone1; var dogs = context.UserDogs .Where(userDog => userDog.DogUserID == User.UserID && userDog.DogStatus == 21).Count(); userDetails.DogsNumber = dogs; var reservations = context.OrdersTbl .Where(userres => userres.OrderUserId == User.UserID).Count(); userDetails.ReservationsNumber = context.OrdersTbl.Count(); //HttpContext.Current.Session["userDetails"] = userDetails; return(userDetails); } catch (Exception ex) { throw ex; } }
public async Task <bool> Update(UserModel userModel, int operatingUserId) { //check for duplicate username if (await _context.UsersTbl .Include(udt => udt.UserDetailsTbl) .AsNoTracking() .AnyAsync(u => u.Username == userModel.Username && u.UserId != userModel.UserId && !u.UserDetailsTbl.IsDeleted ) ) { throw new BadRequestException(string.Format(UserValidationMessage.USERNAME_ALREADY_TAKEN, userModel.Username)); } UsersTbl usersTbl = await _context.UsersTbl .Include(udt => udt.UserDetailsTbl) .Where(u => u.UserId == userModel.UserId && !u.UserDetailsTbl.IsDeleted) .SingleOrDefaultAsync(); //if no user is found then show error if (usersTbl == null) { throw new NotFoundException(UserValidationMessage.USER_NOT_FOUND); } //populate table objects _mapper.Map(userModel, usersTbl); usersTbl.UserDetailsTbl.ModifiedBy = operatingUserId; usersTbl.UserDetailsTbl.ModifiedDate = DateTime.Now; await _context.SaveChangesAsync(); return(true); }
//Set bio of username public async Task <IActionResult> Post([FromQuery] String username, [FromBody] String bio) { if (!await dbContext.UsersTbl.AnyAsync(User => User.UserName.Equals(username))) { return(StatusCode(StatusCodes.Status404NotFound, "No Such User")); } try { UsersTbl user = await dbContext.UsersTbl.Where(u => u.UserName.Equals(username)).FirstAsync(); user.Bio = bio; await dbContext.SaveChangesAsync(); return(StatusCode(StatusCodes.Status200OK, "Profile bio changed")); } catch (Exception ex) { return(StatusCode(StatusCodes.Status404NotFound, ex.Message)); } }
//הוספת משתמש public void InsertUserDetails(UserDetailsView userDetails) { try { using (Entities context = new Entities()) { UsersTbl usersTbl = new UsersTbl(); usersTbl.UserAddress = userDetails.UserAddress; usersTbl.UserCity = userDetails.UserCity; usersTbl.UserComments = userDetails.UserComments; usersTbl.UserEmail = userDetails.UserEmail; usersTbl.UserFirstName = userDetails.UserFirstName; usersTbl.UserLastName = userDetails.UserLastName; usersTbl.UserPaswrd = userDetails.UserPaswrd; usersTbl.UserPhone1 = userDetails.UserPhone1; usersTbl.UserPhone2 = userDetails.UserPhone2; usersTbl.UserStatusCode = 21; usersTbl.UserName = userDetails.UserName; usersTbl.Acceptmessages = userDetails.Acceptmessages; usersTbl.DaysSumForDiscount = 0; //int vet = GetVetID(userDetails.VeterinarName, userDetails.VeterinarPhone1); //if (vet == 0) //אם עדין אין במאגר וטרינר כזה //{ // veterinarTbl veterinarTbl = new veterinarTbl(); // veterinarTbl.VeterinarAddress = userDetails.VeterinarAddress; // veterinarTbl.VeterinarCity = userDetails.VeterinarCity; // veterinarTbl.VeterinarEmail = userDetails.VeterinarEmail; // veterinarTbl.VeterinarName = userDetails.VeterinarName; // veterinarTbl.VeterinarPhone1 = userDetails.VeterinarPhone1; // context.veterinarTbl.Add(veterinarTbl); // context.SaveChanges(); //} veterinarService veterinarService = new veterinarService(); VeterinarDetailsView vet = veterinarService.GetVet(userDetails.VeterinarName, userDetails.VeterinarPhone1); if (vet != null) { usersTbl.UserVeterinarId = vet.VeterinarId; } else { veterinarTbl veterinarTbl = new veterinarTbl(); veterinarTbl.VeterinarAddress = userDetails.VeterinarAddress; veterinarTbl.VeterinarCity = userDetails.VeterinarCity; veterinarTbl.VeterinarEmail = userDetails.VeterinarEmail; veterinarTbl.VeterinarName = userDetails.VeterinarName; veterinarTbl.VeterinarPhone1 = userDetails.VeterinarPhone1; context.veterinarTbl.Add(veterinarTbl); context.SaveChanges(); vet = veterinarService.GetVet(userDetails.VeterinarName, userDetails.VeterinarPhone1); usersTbl.UserVeterinarId = vet.VeterinarId; } context.UsersTbl.Add(usersTbl); context.SaveChanges(); } } catch (SqlException ex) { throw ex; } }