Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
            }
        }
Exemplo n.º 3
0
        public static bool CheckIfUserExist(UserPartial iUser, SignalRChatContext iDB)
        {
            bool res = iDB.Users.Any(x => x.UserName == iUser.userName || x.Phone == iUser.phone);

            return(res);
        }