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); }
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; } }