示例#1
0
        public void Initialize()
        {
            ACL     = new ParseACL();
            Readers = new ParseRole(ObjectId + "_Readers", ACL);
            Writers = new ParseRole(ObjectId + "_Writers", ACL);

            ACL.SetRoleReadAccess(Readers, true);
            ACL.SetRoleReadAccess(Writers, true);
            ACL.SetRoleWriteAccess(Writers, true);
        }
示例#2
0
    void TeamUpdated(ParseRole role)
    {
        CurrentTeam = role;

        if (HasNoTeam())
        {
            StartCoroutine(AssignTeamName());
        }
        else if (dataRefreshed != null)
        {
            dataRefreshed();
        }
    }
示例#3
0
        public async Task RoleReadAndWrite()
        {
            ParseQuery <ParseRole> query = ParseRole.GetQuery();
            ParseRole owner = await query.Get("5e1440cbfc36ed006add1b8d");

            ParseObject account = new ParseObject("Account");
            ParseACL    acl     = new ParseACL();

            acl.SetRoleReadAccess(owner, true);
            acl.SetRoleWriteAccess(owner, true);
            account.ACL = acl;
            await account.Save();

            Assert.IsTrue(acl.GetRoleReadAccess(owner));
            Assert.IsTrue(acl.GetRoleWriteAccess(owner));
        }
示例#4
0
        protected override async Task OnStart()
        {
            TutorRole = await Constants.Role.Tutor();

            if (!IsPostBack)
            {
                if (Session["QuestionObjectId"] != null)
                {
                    Question = await Question.GetFullQuestionById(Session["QuestionObjectId"].ToString());

                    FillWithQuestionInfo();
                }
                else
                {
                    cbInBundle.Enabled        = true;
                    pnlExtraQuestions.Visible = true;
                }
            }
        }
示例#5
0
    IEnumerator CreateTeamCoroutine(string name)
    {
        LoadAlert.Instance.StartLoad("Creating " + name + "...", null, -1);

        ParseACL acl = new ParseACL(ParseUser.CurrentUser);

        ParseRole role = new ParseRole(name, acl);

        role.Users.Add(ParseUser.CurrentUser);

        User.CurrentUser.CompanyName = name;

        Task task = role.SaveAsync();

        while (!task.IsCompleted)
        {
            yield return(null);
        }

        if (task.IsFaulted || task.Exception != null)
        {
            Debug.Log("error:\n" + task.Exception.ToString());
        }
        else
        {
            task = ParseUser.CurrentUser.SaveAsync();

            while (!task.IsCompleted)
            {
                yield return(null);
            }

            if (task.IsFaulted || task.Exception != null)
            {
                Debug.Log("error:\n" + task.Exception.ToString());
            }
            else
            {
                TeamUpdated(role);
            }
        }
    }
        private async Task SignUp(int registrationTestScore)
        {
            ParseRole adminRole = await Constants.Role.Admin();

            var user = new ParseUser()
            {
                Username = MyRegistrationInfo.Email.ToLower(),
                Password = MyRegistrationInfo.Password,
                Email    = MyRegistrationInfo.Email.ToLower(),
            };
            await user.SignUpAsync();

            ParseRole tutorRole = await Constants.Role.Tutor();

            tutorRole.Users.Add(user);
            await tutorRole.SaveAsync();

            PrivateTutorData privateTutorData = new PrivateTutorData();

            privateTutorData.BaseUserId           = user.ObjectId;
            privateTutorData.Students             = new List <PublicUserData>();
            privateTutorData.RequestsFromStudents = new List <PublicUserData>();
            privateTutorData.Blocked = new List <ParseUser>();
            privateTutorData.ACL     = new ParseACL(user);
            privateTutorData.ACL.SetRoleReadAccess(adminRole, true);
            privateTutorData.ACL.SetRoleWriteAccess(adminRole, true);
            await privateTutorData.SaveAsync();

            Tutor tutor = new Tutor();

            tutor.NumQuestionsCreated  = 0;
            tutor.NumQuestionsReviewed = 0;
            tutor.BaseUserId           = user.ObjectId;
            tutor.Biography            = "";
            tutor.PrivateTutorData     = privateTutorData;
            tutor.ACL = new ParseACL();
            tutor.ACL.PublicReadAccess  = true;
            tutor.ACL.PublicWriteAccess = false;
            tutor.ACL.SetWriteAccess(user, true);
            tutor.ACL.SetRoleReadAccess(adminRole, true);
            tutor.ACL.SetRoleWriteAccess(adminRole, true);
            await tutor.SaveAsync();

            PublicUserData publicUserData = new PublicUserData();

            publicUserData.UserType              = Constants.UserType.TUTOR;
            publicUserData.DisplayName           = MyRegistrationInfo.FirstName.Trim() + " " + MyRegistrationInfo.LastName.Trim();
            publicUserData.SearchableDisplayName = MyRegistrationInfo.FirstName.Trim().ToLower() + MyRegistrationInfo.LastName.Trim().ToLower();
            publicUserData.BaseUserId            = user.ObjectId;
            publicUserData.Tutor = tutor;
            string path = HttpContext.Current.Server.MapPath("~/Images/default_prof_pic.png");

            byte[] pic = File.ReadAllBytes(path);
            publicUserData.ProfilePic            = new ParseFile("default-profile-pic", pic);
            publicUserData.ACL                   = new ParseACL();
            publicUserData.ACL.PublicReadAccess  = true;
            publicUserData.ACL.PublicWriteAccess = false;
            publicUserData.ACL.SetWriteAccess(user, true);
            publicUserData.ACL.SetRoleReadAccess(adminRole, true);
            publicUserData.ACL.SetRoleWriteAccess(adminRole, true);
            await publicUserData.SaveAsync();

            user["registrationTestScore"] = registrationTestScore;
            user.ACL = new ParseACL(user);
            user.ACL.SetRoleReadAccess(adminRole, true);
            user["publicUserData"] = publicUserData;
            //user.phoneNumber = tbPhoneNumber.Text;
            //user.zipCode = tbZipCode.Text;
            //user.address = tbStreetAddress.Text;
            //user.address2 = tbAddress2.Text;
            //user.city = tbCity.Text;
            //user.state = ddState.SelectedValue;
            await user.SaveAsync();
        }