Exemple #1
0
        public async Task <string> UploadFile(FileBinding file)
        {
            string fileName = Guid.NewGuid().ToString().Replace("-", string.Empty);

            using (var context = GetMainContext())
            {
                var fileType = context.FileTypes.SingleOrDefault(x => x.MimeType == file.MimeType);

                string fullPath = $"{GetFolder((StorageFileType)fileType.Id)}/{fileName}.{fileType.Extension}";

                var data = fileType.IsImage ? await ProcessImageFile(file) : file.Data;

                await _azureStorageHelper.UploadFile(fullPath, data);

                var fileEntity = new Model.Database.Main.Storage.File()
                {
                    Created     = DateTime.Now,
                    FileTypeId  = fileType.Id,
                    ProviderId  = (int)StorageProvider.AzureStorage,
                    SizeInBytes = data.Length,
                    Uri         = fullPath,
                    UserId      = UserId,
                    ValueId     = fileName
                };
                context.Files.Add(fileEntity);
                await context.SaveChangesAsync();
            }

            return(fileName);
        }
Exemple #2
0
        // File List Delete
        private void toolStripDelete_Click(object sender, EventArgs e)
        {
            if (fileList.SelectedItems.Count == 1)
            {
                FileBinding bind = (FileBinding)fileList.SelectedItems[0].Tag;
                bind.mFeature.RemoveComponent(bind.mComponent);
            }

            ReloadFileList();
        }
Exemple #3
0
        private void setAsMainFeatureToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (fileList.SelectedItems.Count == 1)
            {
                FileBinding bind = (FileBinding)fileList.SelectedItems[0].Tag;
                currentProject.mainTargetApp = bind.mComponent.GetFirstFileId();
            }

            ReloadFileList();
        }
Exemple #4
0
 private void fileList_ItemSelectionChanged(object sender,
                                            ListViewItemSelectionChangedEventArgs e)
 {
     if ((null != fileList.SelectedItems) && (0 < fileList.SelectedItems.Count))
     {
         FileBinding bind = (FileBinding)fileList.SelectedItems[0].Tag;
         currentFileProperties.SelectedObject = bind.mComponent.componentFiles[0];
     }
     else
     {
         currentFileProperties.SelectedObject = null;
     }
 }
Exemple #5
0
        private void currentFileDstDirectory_TextChanged(object sender, EventArgs e)
        {
            // Update the selected item
            if (fileList.SelectedItems.Count == 1)
            {
                FileBinding bind = (FileBinding)fileList.SelectedItems[0].Tag;
                bind.mListViewItm.Text             = bind.mComponent.componentFiles[0].dstName;
                bind.mListViewItm.SubItems[1].Text = bind.mComponent.targetDirectory;
                int idx = fileList.SelectedItems[0].Index;

                //  BUG: The list is not updated immediately
                bind.mListViewItm.ListView.Refresh();
            }
        }
Exemple #6
0
        private async Task <byte[]> ProcessImageFile(FileBinding file)
        {
            if (file.ImageResize.HasValue)
            {
                var image = Image.Load(file.Data);
                image.Mutate(x => x.Resize((int)(image.Width * file.ImageResize.Value), 0));

                using (var ms = new MemoryStream())
                {
                    await image.SaveAsJpegAsync(ms);

                    return(ms.ToArray());
                }
            }
            else
            {
                return(file.Data);
            }
        }
Exemple #7
0
        private void ReloadFileList()
        {
            fileList.Items.Clear();

            SetupFeature feature = null;

            try
            {
                feature = (SetupFeature)featuresTree.SelectedNode.Tag;
            }
            catch (NullReferenceException)
            {
                return;
            }

            foreach (SetupComponent cmp in feature.components)
            {
                foreach (SetupFile file in cmp.componentFiles)
                {
                    ListViewItem item = new ListViewItem(file.dstName);
                    item.SubItems.Add(cmp.targetDirectory);
                    item.SubItems.Add(file.srcName);
                    item.SubItems.Add(file.srcDirectory);

                    FileBinding bind = new FileBinding();
                    bind.mComponent   = cmp;
                    bind.mFeature     = feature;
                    bind.mListViewItm = item;
                    item.Tag          = bind;

                    if (cmp.GetFirstFileId() == currentProject.mainTargetApp)
                    {
                        item.ImageIndex = 1; // Main target
                    }

                    fileList.Items.Add(item);
                }
            }
        }
        private void ReloadFileList()
        {
            fileList.Items.Clear();

            SetupFeature feature = null;
            try
            {
                feature = (SetupFeature)featuresTree.SelectedNode.Tag;
            }
            catch (NullReferenceException)
            {
                return;
            }

            foreach (SetupComponent cmp in feature.components)
            {
                foreach (SetupFile file in cmp.componentFiles)
                {
                    ListViewItem item = new ListViewItem(file.dstName);
                    item.SubItems.Add(cmp.targetDirectory);
                    item.SubItems.Add(file.srcName);
                    item.SubItems.Add(file.srcDirectory);

                    FileBinding bind = new FileBinding();
                    bind.mComponent = cmp;
                    bind.mFeature = feature;
                    bind.mListViewItm = item;
                    item.Tag = bind;

                    if (cmp.GetFirstFileId() == currentProject.mainTargetApp)
                    {
                        item.ImageIndex = 1; // Main target
                    }

                    fileList.Items.Add(item);
                }
            }
        }