Beispiel #1
0
        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");
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <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));
        }
Beispiel #4
0
        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);
        }