public bool CheckOut(string Login, IDbObject dbObject, out string ErrorMsg) { TeamCodingFile file = ReadFile(); CheckSettings(file); CheckOutObject CheckOutbject = new CheckOutObject() { Login = _Settings.TEAMCODING_LOGIN, ServerName = _ServerName, ObjectOwner = dbObject.ObjectOwner, ObjectName = dbObject.ObjectName, ObjectType = dbObject.ObjectType, CheckoutDate = DateTime.Now }; if (!_TeamCodingChecks.ChecksBeforeCheckOut(file.CheckOutObjectsList, CheckOutbject, out ErrorMsg)) { return(false); } var list = file.CheckOutObjectsList.ToArray(); var listLen = list.Length; Array.Resize(ref list, listLen + 1); list[listLen] = CheckOutbject; file.CheckOutObjectsList = list.ToEnumerable(); SaveFile(file); return(true); }
private void CheckSettings(TeamCodingFile file) { if (_Settings.TEAMCODING_RESTRICT_COMPILE_WITHOUT_CHECKOUT != file.RestrickCompileWithoutCheckOut) { var storage = NinjectCore.Get <IPluginSettingsStorage>(); var parameter = storage.GetParam(Settings.ePluginParameterID.TEAMCODING_RESTRICT_COMPILE_WITHOUT_CHECKOUT); parameter.SetValue <bool>(file.RestrickCompileWithoutCheckOut); MessageBox.Show($"В TeamCoding зафиксировано изменение настройки RestrickCompileWithoutCheckOut. " + $"Установлено значение [{file.RestrickCompileWithoutCheckOut}]", "Обновление настрйоки", MessageBoxButton.OK, MessageBoxImage.Warning); } }
public bool CheckIn(string Login, IDbObject dbObject, out string ErrorMsg) { TeamCodingFile file = ReadFile(); CheckSettings(file); CheckOutObject CheckInObject = new CheckOutObject() { Login = _Settings.TEAMCODING_LOGIN, ServerName = _ServerName, ObjectOwner = dbObject.ObjectOwner, ObjectName = dbObject.ObjectName, ObjectType = dbObject.ObjectType }; if (!_TeamCodingChecks.ChecksBeforeCheckIn(file.CheckOutObjectsList, CheckInObject, out ErrorMsg)) { return(false); } file.CheckOutObjectsList = file.CheckOutObjectsList.Where(x => !x.Equals(CheckInObject)).ToEnumerable(); SaveFile(file); return(true); }
private void SaveFile(TeamCodingFile file) { var json = JsonConvert.SerializeObject(file); File.WriteAllText(FILE_PATH, json); }