Example #1
0
        public Boolean adminAddUser(String userName, String fName, String lName, String password)
        {
            try
            {
                var collection    = dbManager.DataBase.GetCollection <MongoUserModel>("USER");
                var filterBuilder = Builders <MongoUserModel> .Filter;
                var filter        = filterBuilder.Eq("userName", userName);
                var Document      = collection.Find(filter).FirstOrDefault();
                if (Document == null)
                {
                    MongoUserModel mongoUserModel = new MongoUserModel();
                    mongoUserModel.userName = userName;
                    mongoUserModel.fName    = fName;
                    mongoUserModel.lName    = lName;
                    mongoUserModel.password = password;
                    collection.InsertOne(mongoUserModel);
                    return(true);
                    //Debug.WriteLine("Document "+ Document.name);
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                return(false);
            }

            return(false);
        }
Example #2
0
        public async Task <List <MongoTaskModel> > GetTasks(MongoUserModel user)
        {
            var data = new List <MongoTaskModel>();

            foreach (var taskId in user.TaskIds)
            {
                data.Add(await _tasks.Find(task => task.Id == taskId).FirstOrDefaultAsync());
            }

            return(data);
        }
Example #3
0
        public async Task <MongoTaskModel> Create(MongoUserModel user, Models.Task task)
        {
            var mongoTask = _mapper.Map <MongoTaskModel>(task);

            await _tasks.InsertOneAsync(mongoTask);

            user.TaskIds.Add(mongoTask.Id);

            var userFilter = Builders <MongoUserModel> .Filter.Eq("Id", user.Id);

            var userUpdate = Builders <MongoUserModel> .Update.Set("TaskIds", user.TaskIds);

            await _users.UpdateOneAsync(userFilter, userUpdate);

            return(mongoTask);
        }
Example #4
0
        public IActionResult Login(string loginUserName, string loginPass)
        {
            UserLogic      userLogic = new UserLogic();
            MongoUserModel user      = userLogic.login(loginUserName, loginPass);

            if (user != null)
            {
                HttpContext.Session.Set <MongoUserModel>("user", user);
                HttpContext.Session.SetString("userName", user.lName);
                //Debug.WriteLine("json " + HttpContext.Session.Get<MongoUserModel>("user"));
                ViewData["currentOpen"] = "EditUser";
                return(RedirectToAction("Administration", "Administration"));
            }
            else
            {
                ViewData["message"] = "Wrong user name or password!";
            }


            return(View());
        }
Example #5
0
        private string GenerateJwtToken(MongoUserModel user)
        {
            var jwtTokenHandler = new JwtSecurityTokenHandler();

            var key = Encoding.ASCII.GetBytes(_jwtConfig.Secret);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new []
                {
                    new Claim("Id", user.Id),
                    new Claim("Email", user.Email),
                    new Claim(JwtRegisteredClaimNames.Sub, user.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
                }),
                Expires            = DateTime.UtcNow.AddHours(6),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token    = jwtTokenHandler.CreateToken(tokenDescriptor);
            var jwtToken = jwtTokenHandler.WriteToken(token);

            return(jwtToken);
        }
Example #6
0
        public IActionResult UserSetting()
        {
            MongoUserModel user = HttpContext.Session.Get <MongoUserModel>("user");

            return(View());
        }