Example #1
0
        public bool FileDbUpload(string fileName)
        {
            const string LOCALPATHROOTH = "D:\\App\\TextFileDemoApp\\TextFileDemoApp\\bin\\Debug\\";
            string       localPath      = $@"{LOCALPATHROOTH}{fileName}";

            if (File.Exists(localPath))
            {
                var db = new FiledbEntities();

                var fileModel = new SerializedFileDto
                {
                    Name        = fileName.Split('.')[0],
                    Extension   = fileName.Split('.')[1],
                    FileContent = File.ReadAllText(localPath),
                };

                var file = SerializedFileDto.MapTo(fileModel);

                db.SerializedFiles.Add(file);
                db.SaveChanges();
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #2
0
        public List <SerializedFile> GetCheckedItemsList()
        {
            List <SerializedFile> checkedItemsList = new List <SerializedFile>();

            foreach (DataGridViewRow row in fileGridView.Rows)
            {
                bool   isChecked   = (bool)row.Cells[1].EditedFormattedValue;
                string checkedItem = (string)row.Cells[0].EditedFormattedValue;
                string checkedExt  = (string)row.Cells[2].EditedFormattedValue;

                if (isChecked)
                {
                    var db = new FiledbEntities();
                    var checkedItemContent = (db.SerializedFiles.FirstOrDefault(x =>
                                                                                x.Name == checkedItem))?.FileContent;

                    SerializedFile file =
                        _fileSerialization.CreateFile(checkedItem, "." + checkedExt, checkedItemContent);
                    checkedItemsList.Add(file);
                }
            }
            return(checkedItemsList);
        }
Example #3
0
        public bool FileDelete(List <SerializedFile> checkedItemsList)
        {
            var db = new FiledbEntities();
            int i  = 0;

            if (checkedItemsList.Count != 0)
            {
                do
                {
                    var checkedfileName = checkedItemsList[i].Name;
                    var checkedfileExt  = checkedItemsList[i].Extension;
                    var localPath       =
                        $@"D:\\App\\TextFileDemoApp\\TextFileDemoApp\\bin\\Debug\\{checkedfileName}{checkedfileExt}";
                    var dbFile = db.SerializedFiles.FirstOrDefault(x =>
                                                                   x.Name == checkedfileName);
                    if ((dbFile != null) && (File.Exists(localPath)))
                    {
                        db.SerializedFiles.Remove(dbFile);
                        db.SaveChanges();
                        checkedItemsList.Remove(checkedItemsList[i]);
                        File.Delete(localPath);
                    }
                    else if (dbFile == null)
                    {
                        File.Delete(localPath);
                    }
                    else
                    {
                        db.SerializedFiles.Remove(dbFile);
                        db.SaveChanges();
                        checkedItemsList.Remove(checkedItemsList[i]);
                    }
                } while (i < checkedItemsList.Count);
                return(true);
            }
            return(false);
        }
Example #4
0
        private void BtnDbDownload(object sender, EventArgs e)
        {
            if (fileGridView.Rows.Count == 0)
            {
                MessageBox.Show(@"Please upload a file to dB!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            int checkedItemsNb = GetCheckedItemsNo();

            if (checkedItemsNb == 1)
            {
                int             checkedItemIndex = fileGridView.SelectedCells[0].RowIndex;
                DataGridViewRow selectedRow      = fileGridView.Rows[checkedItemIndex];

                var checkedItem = Convert.ToString(selectedRow.Cells["FileName"].Value);
                var checkedExt  = "." + Convert.ToString(selectedRow.Cells["DownloadFormat"].Value);

                var db = new FiledbEntities();
                var checkedItemContent = db.SerializedFiles.FirstOrDefault(x =>
                                                                           x.Name == checkedItem)?.FileContent;

                SerializedFile file = _fileSerialization.CreateFile(checkedItem, checkedExt, checkedItemContent);

                switch (checkedExt)
                {
                case ".xml":
                    _fileSerialization.XmlSerializeToFile(SerializedFileDto.MapTo(file));
                    MessageBox.Show(@"Xml serialized file downloaded");
                    break;

                case ".json":
                    _fileSerialization.JsonSerializeToFile(SerializedFileDto.MapTo(file));
                    MessageBox.Show(@"Json serialized file downloaded");
                    break;

                case ".bin":
                    _fileSerialization.BinarySerializeToFile(SerializedFileDto.MapTo(file));
                    MessageBox.Show(@"Bin serialized file downloaded");
                    break;

                default:
                    MessageBox.Show(@"Please select a format to download");
                    break;
                }
            }

            else if (checkedItemsNb > 1)
            {
                var checkedItemsList = GetCheckedItemsList();

                List <SerializedFile> serializedItemsList = new List <SerializedFile>();
                foreach (var file in checkedItemsList)
                {
                    string checkedExt = file.Extension;
                    switch (checkedExt)
                    {
                    case ".xml":
                        SerializedFile xmlSerializedFile = _fileSerialization.XmlSerializeToFile(SerializedFileDto.MapTo(file));
                        serializedItemsList.Add(xmlSerializedFile);

                        break;

                    case ".json":
                        SerializedFile jsonSerializedFile = _fileSerialization.JsonSerializeToFile(SerializedFileDto.MapTo(file));
                        serializedItemsList.Add(jsonSerializedFile);

                        break;

                    case ".bin":
                        SerializedFile binSerializedFile = _fileSerialization.JsonSerializeToFile(SerializedFileDto.MapTo(file));
                        serializedItemsList.Add(binSerializedFile);

                        break;

                    default:
                        MessageBox.Show(@"Please select a format to download");
                        return;
                    }
                }

                bool isDownloaded = _fileDbService.ZipFileDbDownload(serializedItemsList);
                if (isDownloaded)
                {
                    MessageBox.Show(@"Zip download done");
                    return;
                }
                else
                {
                    MessageBox.Show(@"Please Select a file to download");
                    return;
                }
            }
            else
            {
                MessageBox.Show(@"Please select a file to download");
            }
        }