Пример #1
0
        internal Dictionary <long, VCAPI.VC_ACCESS_RIGHTS> GetChangedRights()
        {
            Dictionary <long, VCAPI.VC_ACCESS_RIGHTS> rights = new Dictionary <long, VCAPI.VC_ACCESS_RIGHTS>();

            foreach (DataGridViewRow row in dgvUnits.Rows)
            {
                VCAPI.VC_ACCESS_RIGHTS right = GetRightSetting(row);
                int unitId = Convert.ToInt32(row.Tag);
                if (right != _defaultRight)
                {
                    rights.Add(unitId, right);
                }
            }
            return(rights);
        }
Пример #2
0
        internal VCUserUnitRights(VCAPI vcAPI, UserInfo userInfo, VCAPI.VC_ACCESS_RIGHTS defaultRight, Dictionary <long, VCAPI.VC_ACCESS_RIGHTS> initialRights)
        {
            InitializeComponent();

            _userId        = userInfo.userId;
            _vcAPI         = vcAPI;
            _defaultRight  = defaultRight;
            _initialRights = initialRights;

            this.Text = this.Text + userInfo.username;

            List <VersionControlUnitInfo> units;

            if (!_vcAPI.GetRemoteUnits(_vcAPI.vc_projectInfo.ProjectId, out units))
            {
                UserInfoHandler.ShowError(_vcAPI.GetErrorMessage());
                return;
            }

            if (defaultRight == VCAPI.VC_ACCESS_RIGHTS.UPLOAD)
            {
                colWrite.HeaderText = btnAllWrite.Text = "Default";
            }
            if (defaultRight == VCAPI.VC_ACCESS_RIGHTS.DOWNLOAD)
            {
                colRead.HeaderText = btnAllRead.Text = "Default";
            }
            if (defaultRight == VCAPI.VC_ACCESS_RIGHTS.NONE)
            {
                colNone.HeaderText = btnAllNone.Text = "Default";
            }

            foreach (VersionControlUnitInfo unit in units)
            {
                long unitId = unit.UnitId;
                VCAPI.VC_ACCESS_RIGHTS right = (_initialRights != null && _initialRights.ContainsKey(unitId)) ? _initialRights[unitId] : defaultRight;
                int index = dgvUnits.Rows.Add(unit.Name, unit.UnitType,
                                              right == VCAPI.VC_ACCESS_RIGHTS.UPLOAD,
                                              right == VCAPI.VC_ACCESS_RIGHTS.DOWNLOAD,
                                              right != VCAPI.VC_ACCESS_RIGHTS.UPLOAD && right != VCAPI.VC_ACCESS_RIGHTS.DOWNLOAD);
                dgvUnits.Rows[index].Tag = unit.UnitId;
                dgvUnits.Rows[index].Cells[colWrite.Index].ReadOnly = //to handle ticking manually (see dgvUnits_CellContentClick)
                                                                      dgvUnits.Rows[index].Cells[colRead.Index].ReadOnly = dgvUnits.Rows[index].Cells[colNone.Index].ReadOnly = true;
            }
        }