Beispiel #1
0
        public void HandleUpdateSaveGames(ISourcePortData sourcePort, IGameFile gameFile, IFileData[] files)
        {
            foreach (IFileData file in files)
            {
                FileInfo fi = new FileInfo(Path.Combine(sourcePort.GetSavePath().GetFullPath(), file.OriginalFileName));

                if (fi.Exists)
                {
                    if (file.DateCreated == fi.LastWriteTime)
                    {
                        continue;
                    }

                    try
                    {
                        fi.CopyTo(Path.Combine(SaveGameDirectory.GetFullPath(), file.FileName), true);
                    }
                    catch
                    {
                        //failed, nothing to do
                    }

                    //check to see if the save name changed
                    string saveName = GetSaveGameName(sourcePort, fi);
                    if (saveName != file.Description)
                    {
                        file.Description = saveName;
                    }

                    file.DateCreated = fi.LastWriteTime;
                    DataSourceAdapter.UpdateFile(file);
                }
            }
        }
        public bool SetFileOrderFirst()
        {
            List <IFileData> selectedFiles = GetSelectedFiles();

            if (selectedFiles.Count > 0)
            {
                IFileData file = selectedFiles.First();
                if (!file.IsUrl)
                {
                    List <IFileData> files = Files.ToList();
                    files.Remove(file);
                    files.Insert(0, file);
                    SetFilePriorities(files);

                    foreach (IFileData fileUpdate in files)
                    {
                        DataSourceAdapter.UpdateFile(fileUpdate);
                    }

                    return(true);
                }
            }

            return(false);
        }
        public bool Edit()
        {
            List <IFileData> selectedFiles = GetSelectedFiles();

            if (selectedFiles.Count > 0)
            {
                IFileData           file = selectedFiles.First();
                FileDetailsEditForm form = new FileDetailsEditForm();
                form.Initialize(DataSourceAdapter, file);
                form.StartPosition = FormStartPosition.CenterParent;

                if (form.ShowDialog(this) == DialogResult.OK && form.SourcePort != null && !file.IsUrl)
                {
                    file.SourcePortID = form.SourcePort.SourcePortID;
                    file.Description  = form.Description;
                    DataSourceAdapter.UpdateFile(file);
                    return(true);
                }
                else if (form.SourcePort == null)
                {
                    MessageBox.Show(this, "A source port must be selected.", "Error", MessageBoxButtons.OK);
                }
            }

            return(false);
        }
        private bool SetFilePriority(bool up) //todo fix for new file
        {
            List <IFileData> selectedFiles = GetSelectedFiles();

            if (selectedFiles.Count > 0)
            {
                IFileData file = selectedFiles.First();

                if (!file.IsUrl)
                {
                    List <IFileData> files = Files.ToList();
                    SetFilePriorities(files);

                    if (up && file.FileOrder > 0)
                    {
                        file.FileOrder--;
                    }

                    if (!up && file.FileOrder < files.Count - 1)
                    {
                        file.FileOrder++;
                    }

                    files.Remove(file);
                    files.Insert(file.FileOrder, file);

                    SetFilePriorities(files);

                    foreach (IFileData fileUpdate in files)
                    {
                        DataSourceAdapter.UpdateFile(fileUpdate);
                    }

                    return(true);
                }
            }

            return(false);
        }