예제 #1
0
        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);
        }
예제 #2
0
        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);
        }