public static UserCls CreateNewUser(UserPartial iUser, SignalRChatContext iDB) { var userToAdd = new Users { Age = iUser.age, CreationDate = DateTime.Now, FirstName = iUser.firstName, LastName = iUser.lastName, Phone = iUser.phone, UserName = iUser.userName, Icon = iUser.icon }; iDB.Users.Add(userToAdd); iDB.SaveChanges(); UserCls ret = new UserCls { id = userToAdd.UserId, age = userToAdd.Age, firstName = iUser.firstName, lastName = iUser.lastName, phone = iUser.phone, userName = iUser.userName, icon = iUser.icon }; return(ret); }
public async Task <ActionResult> CreateUser(UserPartial iUser) { try { SignalRChatContext DB = new SignalRChatContext(); using (var transaction = DB.Database.BeginTransaction()) { try { bool isExist = UserFunctions.CheckIfUserExist(iUser, DB); if (isExist == true) { return(BadRequest()); } UserCls newUser = UserFunctions.CreateNewUser(iUser, DB); newUser.code = SignInCodesFucntions.GenerateCodeForUser(newUser.id, DB); transaction.Commit(); newUser.token = JwtHandler.CreateJwt(newUser.id, newUser.userName, DateTime.Now); await hubContext.Clients.All.AddUserEvent(newUser.id); return(new JsonResult(newUser)); } catch (Exception exc) { //write exc to log... transaction.Rollback(); return(BadRequest()); } } } catch (Exception ex) { //write ex to log... return(BadRequest()); } }
public static bool CheckIfUserExist(UserPartial iUser, SignalRChatContext iDB) { bool res = iDB.Users.Any(x => x.UserName == iUser.userName || x.Phone == iUser.phone); return(res); }