public ShareFileItem createFile(FileInfo fileInfo, String title, String description, List <String> spaceKeys, Bitmap icon) { try { FileRecord fileRecord = VmosoFileUtils.uploadFile(session, fileInfo.FullName, title, description, true); if (spaceKeys != null) { SpaceApi spaceApi = new SpaceApi(session.GetApiClient()); ShareObjectInput shareInput = new ShareObjectInput(null, spaceKeys, null); ShareObjectResult shareResult = spaceApi.ShareObject(fileRecord.Key, shareInput); if (shareResult.Hdr.Rc == 0) { FileApi fileApi = new FileApi(session.GetApiClient()); ViewFileResult viewFileResult = fileApi.ViewFile(fileRecord.Key); if (viewFileResult.Hdr.Rc == 0) { fileRecord = viewFileResult.File; } else { throw new Exception("Vmoso error getting created link. Rc=" + viewFileResult.Hdr.Rc); } } else { throw new Exception("Vmoso error sharing link. Rc=" + shareResult.Hdr.Rc); } } ShareFileItem item = new ShareFileItem(fileRecord.Name, fileRecord.Description); item.Key = fileRecord.Key; item.FileInfo = fileInfo; item.SetIcon(icon); item.Record = fileRecord; List <ShareSpace> itemSpaces = new List <ShareSpace>(); foreach (DisplayRecord spaceDisplayRecord in fileRecord.Destinations) { ShareSpace space = new ShareSpace(spaceDisplayRecord.Key, spaceDisplayRecord.DisplayName, null); itemSpaces.Add(space); } item.Spaces = itemSpaces; return(item); } catch (Exception ex) { throw new Exception("Error creating file", ex); } }