private void CreateAndOpenNewFile() { CreateFileDialog createDialog = new CreateFileDialog(); string fileNameFromUser = ""; if (createDialog.ShowDialog(this) == DialogResult.OK) { fileNameFromUser = createDialog.getFileNameToCreate(); createDialog.Dispose(); } else { createDialog.Dispose(); return; } if (isOnline) { if (MakePostRequest("TryCreate/", new { file_name = fileNameFromUser })) { CommonFileContent file_content = SendReqToOpenFileAndReturnContentOfIt(new UserAndFileNamesPair() { FileName = fileNameFromUser, UserName = client_name }); OpenNewTabPage(fileNameFromUser, file_content.FileContent1, file_content.IsEdited); UpdateFilesList(); } return; } else { FullFileData fileData = filesListFromJson.Find(item => item.Name.Equals(fileNameFromUser)); if (fileData == null) { fileData = new FullFileData { EditorName = client_name, FileContent = "", IsEdited = false, Name = fileNameFromUser, Version = 0 }; filesListFromJson.Add(fileData); OpenNewTabPage(fileNameFromUser, fileData.FileContent, fileData.IsEdited); UpdateFilesList(); return; } } MessageBox.Show("Sorry You can't create this file"); }
private CommonFileContent SendReqToOpenFileAndReturnContentOfIt(UserAndFileNamesPair userAndFileNames) { if (isOnline) { string strResponse = MakePutRequest("OpenFile/" + userAndFileNames.FileName + "/" + userAndFileNames.UserName); return(JsonConvert.DeserializeObject <CommonFileContent>(strResponse)); } CommonFileContent fileFromDevice = new CommonFileContent(); FullFileData fileContent = filesListFromJson.Find(item => item.Name.Equals(userAndFileNames.FileName)); fileFromDevice.EditorName = fileContent.EditorName; fileFromDevice.FileContent1 = fileContent.FileContent; fileFromDevice.FileId = fileContent.FileId; fileFromDevice.IsEdited = fileContent.IsEdited; fileFromDevice.Name = fileContent.Name; return(fileFromDevice); }
/// <summary> /// Return Json formated string with Names of each file on server /// </summary> /// <returns></returns> //[HttpGet] //[Route("Files")] public static string GetListOfFilesOnServer() { DB_TechIntEntities db = new DB_TechIntEntities(); var dane = db.Files.Select(s => new { s.FileId, s.LastUpdateTs, s.Name, s.Version, s.IsEdited, s.EditorName }); List <FileData> baseData = new JavaScriptSerializer().Deserialize <List <FileData> >( new JavaScriptSerializer().Serialize(dane)); List <FullFileData> fullFileDatas = new List <FullFileData>(); foreach (FileData fileData in baseData) { FullFileData tmp = new FullFileData(); tmp.setAll(fileData, OnlyGetFileContent(AppDomain.CurrentDomain.BaseDirectory, fileData.Name)); fullFileDatas.Add(tmp); } return(new JavaScriptSerializer().Serialize(fullFileDatas)); }
private void SaveButtonOnClick(object sender, EventArgs e) { TabPage tab = (TabPage)((Button)sender).Parent; string fileName = tab.Text; string content = ((TextBox)tab.Controls[0]).Text; if (isOnline) { MakePostRequest("UpdateContent/", new { file_name = fileName, file_data = content }); } else { FullFileData fileData = filesListFromJson.Find(item => item.Name.Equals(fileName)); fileData.FileContent = content; fileData.Version++; fileData.EditorName = ""; fileData.IsEdited = false; fileData.WasChanged = true; } TabControl tc = (TabControl)tab.Parent; tc.TabPages.Remove(tab); }