private void CheckInOrAddFiles(string[] selectedFiles, string checkinComments)
{
List<string> filesToCheckin = new List<string>();
List<string> filesToAdd = new List<string>();
foreach (string fileName in selectedFiles)
{
SourceControlFileStatus[] fileStatus = _agsEditor.SourceControlProvider.GetFileStatuses(new string[] { fileName });
if ((fileStatus[0] == SourceControlFileStatus.NotControlled) ||
((fileStatus[0] & SourceControlFileStatus.Deleted) != 0))
{
filesToAdd.Add(fileName);
}
else
{
filesToCheckin.Add(fileName);
}
}
try
{
if (filesToAdd.Count > 0)
{
_agsEditor.SourceControlProvider.AddFilesToSourceControl(filesToAdd.ToArray(), checkinComments);
}
if (filesToCheckin.Count > 0)
{
_agsEditor.SourceControlProvider.CheckInFiles(filesToCheckin.ToArray(), checkinComments);
}
}
catch (SourceControlException ex)
{
this.ShowMessage("Check-in failed: " + ex.SccErrorMessage, MessageBoxIcon.Warning);
}
}