public static IdentityResult CreateUser(User userModel, ref int id) { AuctionContext db = new AuctionContext(); // Validate model // check if there is a user with the same login and password var IsExist = db.User.Any(item => item.Password == userModel.Password && item.Login == userModel.Login); if (IsExist) { throw new BadRequestException("there is a user with the same login and password"); } // Register new user db.User.Add(userModel); db.SaveChanges(); // Get User_id of created user id = db.User.OrderByDescending(item => item.UserId).Select(item => item.UserId).FirstOrDefault(); // Create default user configuration with default fields User_Configuration localConfiguration = new User_Configuration(); localConfiguration.UserId = (short)id; localConfiguration.AuctionFinished = false; localConfiguration.BidPlacedHigher = false; localConfiguration.BidWinLot = false; db.User_Configuration.Add(localConfiguration); db.SaveChanges(); IdentityResult result = new IdentityResult(); return(result); }
public User_Configuration PutUserConfigurations(short?userId, User_Configuration configuration) { // find users configuration var currentUserConfiguration = unitOfWork.User_Configuration.dbSet.Where(item => item.UserId == userId).FirstOrDefault(); if (currentUserConfiguration == null) { //post new configurations configuration.UserId = userId.Value; unitOfWork.User_Configuration.dbSet.Add(configuration); } else { // Update configurations currentUserConfiguration.AuctionFinished = configuration.AuctionFinished; currentUserConfiguration.BidPlacedHigher = configuration.BidPlacedHigher; currentUserConfiguration.BidWinLot = configuration.BidWinLot; } unitOfWork.Save(); return(configuration); }
public virtual IHttpActionResult UserConfigurationPut([FromBody] User_Configuration userConfigurations) { var result = new UserConfigurationService().PutUserConfigurations(UserId, userConfigurations); return(Ok(result)); }
public virtual IHttpActionResult UserConfigurationPost([FromBody] User_Configuration userConfigurations) { var result = new UserConfigurationService().PostUserConfigurations(UserId, userConfigurations); return(Created("", result)); }