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); } }
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); }
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); }
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"); } }