public void RegisterUser_Success()
        {
            UserRepository repository = new UserRepository();

            User user = new User
            {
                USERNAME = string.Format("UT_{0}",DateTime.Now.Ticks),
                PASSWORD = "******",
                NAME = "Unit Test User",
                ID_DEPENDENCY= "iIAW2gamws"

            };

            RepositoryResponse<User> expected = new RepositoryResponse<User>
            {
                Success = true,
                Data = user
            };

            RepositoryResponse<User> result = repository.RegisterUser(user).GetAwaiter().GetResult();

            Assert.IsTrue(result.Success, "User not registered");
            Assert.IsNotNull(result.Data);
            Assert.IsNull(result.Error, "Some error ocurred");
        }
Exemplo n.º 2
0
        public static User ToUser(this ParseUser parseUser)
        {
            var relation = (ParseRelation<ParseObject>)parseUser["ID_Dependency"];
            var dep = relation.Query.FirstAsync().GetAwaiter().GetResult();

            var user = new User
            {
                ID = parseUser.ObjectId,
                ID_DEPENDENCY = dep.ObjectId,
                NAME = parseUser.ContainsKey("Name") ? parseUser["Name"].ToString() : parseUser.Username,
                USERNAME = parseUser.Username
            };

            return user;
        }
Exemplo n.º 3
0
        public RepositoryResponse<User> ValidateUser(User user)
        {
            var response = new RepositoryResponse<User> { };

            try
            {
                var objectUser= ParseUser.LogInAsync(user.USERNAME, user.PASSWORD).GetAwaiter().GetResult();
                response.Success = true;
                
                response.Data = objectUser.ToUser();

                // Login was successful.
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Error = ex;
            }

            return response;
        }
        public void ValidateUser_Success()
        {
            UserRepository repository = new UserRepository();

            User user = new User
            {
               USERNAME= "******",
               PASSWORD = "******"
            };

            RepositoryResponse<User> expected = new RepositoryResponse<User>
            {
                Success = true,
                Data = user
            };

            RepositoryResponse<User> result = repository.ValidateUser(user);

            Assert.IsTrue(result.Success, "User not valid");
            Assert.IsNotNull(result.Data);
            Assert.IsNull(result.Error, "Some error ocurred");
        }
Exemplo n.º 5
0
        public async Task<RepositoryResponse<User>> RegisterUser(User user)
        {
            var response = new RepositoryResponse<User> { };

            try
            {
                var userObject = new ParseUser()
                {
                    Username = user.USERNAME,
                    Password = user.PASSWORD
                };
                userObject["Name"] = user.NAME;

                DependencyRepository DependencyContext = new DependencyRepository();

                RepositoryResponse<ParseObject> Dependency = await DependencyContext.GetDependencyById(user.ID_DEPENDENCY);

                ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Dependency");
                IEnumerable<ParseObject> result = await query.FindAsync();

                var relation = userObject.GetRelation<ParseObject>("ID_Dependency");
                relation.Add(Dependency.Data);

                await userObject.SignUpAsync();
                response.Success = true;
                response.Data = userObject.ToUser();
                // Register was successful.
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Error = ex;
            }

            return response;
        }
Exemplo n.º 6
0
        public async Task<ActionResult> Register(User model)
        {
            DependencyRepository dependencyRepository = new DependencyRepository();
            if (ModelState.IsValid)
            {
                // Attempt to register the user
                try
                {
                    var response = await userRepository.RegisterUser(model);
                    if (response.Success)
                    {
                        var user = response.Data;
                        FormsAuthentication.SetAuthCookie(user.USERNAME, false);
                        var getDependency = await dependencyRepository.Get(user.ID_DEPENDENCY);
                        if (getDependency.Success)
                        {
                            Session["Dependency"] = getDependency.Data.NAME;
                            Session["User"] = user;
                            return RedirectToAction("Index", "Home");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", response.Error);
                    }
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                }
            }

            // If we got this far, something failed, redisplay form
            dependencyRepository = new DependencyRepository();
            var x = await dependencyRepository.GetDependencies();
            ViewBag.DependencyList = new SelectList(x.Data, "ID", "NAME");
            
            return View(model);
        }