public void CreateUploadCommit(string[] pathArray, VersionData versionData)
        {
            var uploadFileObjectList = new List<UploadFileObject>();

            var st = new StringBuilder();
            st.Append("[Update Data] ");

            foreach (var path in pathArray)
            {
                var fileName = Path.GetFileNameWithoutExtension(path);
                var fileExtension = Path.GetExtension(path);

                if (versionData.GetVersionValue(fileName) == null)
                {
                    versionData.AddNewVerionData(fileName);
                }

                var fileVersionName = versionData.GetNextVersion(fileName);
                var fileFullName = string.Format("{0}{1}", fileVersionName, fileExtension);

                fileExtension = fileExtension.Replace(".", "");

                var byteArray = File.ReadAllBytes(path);
                var fullPath = string.Format("{0}/{1}/{2}/{3}", BaseDataPath, fileExtension, fileName, fileFullName);

                uploadFileObjectList.Add(new UploadFileObject(fullPath, fileFullName, byteArray));

                st.AppendFormat(" {0}, ", fileFullName);
            }

            CommitObjectList.Add(new CommitObject(st.ToString(), uploadFileObjectList));
        }
Пример #2
0
        private async Task <List <NewTreeItem> > CreateNewTreeItemList(StringBuilder sb, IEnumerable <string> pathArray, VersionData versionData)
        {
            var newTreeItemList = new List <NewTreeItem>();

            sb.Append("[Update Data] ");

            foreach (var path in pathArray)
            {
                var fileName      = Path.GetFileNameWithoutExtension(path);
                var fileExtension = Path.GetExtension(path);

                if (versionData.GetVersionValue(fileName) == null)
                {
                    versionData.AddNewVerionData(fileName);
                }
                var fileVersionName = versionData.GetNextVersion(fileName);

                var fileFullName = string.Format("{0}{1}", fileVersionName, fileExtension);

                fileExtension = fileExtension.Replace(".", "");

                var fileToBase64 = Convert.ToBase64String(File.ReadAllBytes(path));
                var newBlob      = new NewBlob
                {
                    Encoding = EncodingType.Base64,
                    Content  = fileToBase64
                };

                var newBlobRef = await Client.Git.Blob.Create(OwnerSpaceName, RepositoryName, newBlob);

                var newTreeItem = new NewTreeItem
                {
                    Path = string.Format("{0}/{1}/{2}/{3}", BaseDataPath, fileExtension, fileName, fileFullName),
                    Mode = "100644",
                    Type = TreeType.Blob,
                    Sha  = newBlobRef.Sha
                };

                newTreeItemList.Add(newTreeItem);
                sb.AppendFormat(" {0} /", fileFullName);
            }

            return(newTreeItemList);
        }