/// <summary>
        /// This function is called when StoreCampaignObject("VDB_", ..)
        /// is invoked.
        /// </summary>
        /// <param name="sender">Unused.</param>
        /// <param name="e">Supplies event data.</param>
        public static void CampaignDatabase_StoreItemModifyEvent(object sender, CampaignDatabase.StoreCampaignDatabaseEventArgs e)
        {
            if (!e.CampaignName.StartsWith("ItMod"))
            {
                return;
            }

            if (ALFA.Shared.Modules.InfoStore.ModifiedGff.Keys.Contains(e.VarName))
            {
                ALFA.Shared.Modules.InfoStore.ModifiedGff[e.VarName] = new GFFFile(e.GFF);
            }
            else
            {
                ALFA.Shared.Modules.InfoStore.ModifiedGff.Add(e.VarName, new GFFFile(e.GFF));
            }

            e.Handled = true;
        }
Exemplo n.º 2
0
            /// <summary>
            /// This function is called when StoreCampaignObject("VDB_", ..)
            /// is invoked.
            /// </summary>
            /// <param name="sender">Unused.</param>
            /// <param name="e">Supplies event data.</param>
            void CampaignDatabase_StoreCampaignDatabaseEvent(object sender, CampaignDatabase.StoreCampaignDatabaseEventArgs e)
            {
                //
                // Interested only in VDB_File_<Campaign>.
                //

                if (!e.CampaignName.StartsWith("File_"))
                {
                    return;
                }

                string DirectoryName = e.CampaignName.Substring(5);

                if (!SystemInfo.IsSafeFileName(DirectoryName))
                {
                    return;
                }
                if (!SystemInfo.IsSafeFileName(e.VarName))
                {
                    return;
                }

                try
                {
                    DirectoryName = DatabaseStoreDirectory + DirectoryName;
                    Directory.CreateDirectory(DirectoryName);

                    string FileName = String.Format("{0}{1}{2}.GFF", DirectoryName, Path.DirectorySeparatorChar, e.VarName);

                    File.WriteAllBytes(FileName, e.GFF);
                }
                catch (Exception ex)
                {
                    ALFA.Shared.Logger.Log("CampaignObjectFileStore.CampaignDatabase_RetrieveCampaignDatabaseEvent({0}): Exception: {1}", DirectoryName, ex);
                    return;
                }
                catch
                {
                    return;
                }

                e.Handled = true;
            }