Ejemplo n.º 1
0
        /// <summary>
        /// Does the export.
        /// </summary>
        private void DoExport(Guid appId)
        {
            AppContext.Current.ApplicationId = appId;

            try
            {
                string result = String.Empty;

                if (SiteId != Guid.Empty)
                {
                    // export site

                    StringBuilder filePath = new StringBuilder(Server.MapPath(ManagementHelper.GetImportExportFolderPath("site")));
                    filePath.AppendFormat("\\SiteExport_{0}_{1}_{2}.xml", SiteName.Replace(' ', '-'), DateTime.Now.ToString("yyyyMMdd_HHmmss"), System.Environment.MachineName);
                    FileStream fs = new FileStream(filePath.ToString(), FileMode.Create, FileAccess.ReadWrite);

                    try
                    {
                        PageDocument.Init(new SqlPageDocumentStorageProvider(), new SqlTemporaryStorageProvider());
                        _ImportExport = new Mediachase.Cms.ImportExport.ImportExportHelper();
                        _ImportExport.ImportExportProgressMessage += new SiteImportExportProgressMessageHandler(ImportExport_ImportExportProgressMessage);
                        _ImportExport.ExportSite(SiteId, fs);
                    }
                    catch (SiteImportExportException ex)
                    {
                        throw ex;
                    }
                    finally
                    {
                        if (fs != null)
                        {
                            fs.Close();
                        }

                        // refresh files grid
                        //FilesControl.DataBind();
                        //FilesPanel.Update();
                    }
                }
                else
                {
                    throw new Exception("SiteId is empty!");
                }
            }
            catch (Exception ex)
            {
                ProgressControl1.AddProgressMessageText(ex.Message, true, -1);
            }
            finally
            {
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Processes the import button event.
        /// </summary>
        protected void DoImport()
        {
            // save current MetaDataContext
            MetaDataContext currentContext = OrderContext.MetaDataContext;

            try
            {
                string filePath = SelectedFilePath;

                if (String.IsNullOrEmpty(filePath))
                {
                    throw new Exception("No selected file.");
                }

                // import taxes
                try
                {
                    _ImportExport.ImportExportProgressMessage += new Mediachase.Commerce.Orders.ImportExport.TaxImportExportProgressMessageHandler(ImportExport_ImportExportProgressMessage);

                    // perform import operation
                    _ImportExport.Import(SelectedFilePath, GetCurrentApplicationId(), null, ',');

                    SelectedFilePath = null;
                }
                catch (Mediachase.Commerce.Orders.ImportExport.OrdersImportExportException ex)
                {
                    throw ex;
                }
                catch (Exception ex1)
                {
                    throw ex1;
                }
                finally
                {
                }
            }
            catch (Exception ex)
            {
                ProgressControl1.AddProgressMessageText(ex.Message, true, -1);
            }
            finally
            {
            }
        }
Ejemplo n.º 3
0
        private void DoImport(Guid siteId, Guid appId)
        {
            try
            {
                AppContext.Current.ApplicationId = appId;
                _ImportExport = new Mediachase.Cms.ImportExport.ImportExportHelper();                 //ImportExportHelper.Current;

                string filePath = SelectedFilePath;

                if (String.IsNullOrEmpty(filePath))
                {
                    throw new Exception("No selected file.");
                }

                // import site
                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);

                try
                {
                    _ImportExport.ImportExportProgressMessage += new SiteImportExportProgressMessageHandler(ImportExport_ImportExportProgressMessage);
                    _ImportExport.ImportSite(fs, appId, siteId, false);

                    SelectedFilePath = null;
                }
                catch (SiteImportExportException ex)
                {
                    throw ex;
                }
                finally
                {
                    if (fs != null)
                    {
                        fs.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                ProgressControl1.AddProgressMessageText(ex.Message, true, -1);
            }
            finally
            {
            }
        }
Ejemplo n.º 4
0
        private void StartIndexing2()
        {
            try
            {
                string result = String.Empty;

                _SearchManager.SearchIndexMessage += new Mediachase.Search.SearchIndexHandler(_SearchManager_SearchIndexMessage);
                _SearchManager.BuildIndex(false);

                // set status to 100, meaning that operation completed
                //Session[_ProgressStatus] = 100;
            }
            catch (Exception ex)
            {
                ProgressControl1.AddProgressMessageText(ex.Message, true, -1);
            }
            finally
            {
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Processes the import button event.
        /// </summary>
        protected void DoImport(Guid appId)
        {
            AppContext.Current.ApplicationId = appId;

            // save current MetaDataContext
            MetaDataContext currentContext = null;

            try
            {
                // set md context
                if (String.Compare(AppId, "Catalog", true) == 0)
                {
                    currentContext = Mediachase.Commerce.Catalog.CatalogContext.MetaDataContext;
                }
                else if (String.Compare(AppId, "Order", true) == 0)
                {
                    currentContext = Orders.OrderContext.MetaDataContext;
                }
                else if (String.Compare(AppId, "Profile", true) == 0)
                {
                    currentContext = Mediachase.Commerce.Profile.ProfileContext.MetaDataContext;
                }

                if (currentContext == null)
                {
                    throw new ArgumentNullException("currentContext");
                }

                string filePath = SelectedFilePath;

                if (String.IsNullOrEmpty(filePath))
                {
                    throw new Exception("No selected file.");
                }

                // import
                try
                {
                    // perform import operation
                    ProgressControl1.AddProgressMessageText("Starting import.", 0);

                    MetaInstaller.RestoreFromFile(currentContext, SelectedFilePath);

                    SelectedFilePath = null;

                    ProgressControl1.AddProgressMessageText("Import completed successfully.", 100);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                }
            }
            catch (Exception ex)
            {
                ProgressControl1.AddProgressMessageText(ex.Message, true, -1);
            }
            finally
            {
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Imports the export_ import export progress message.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="args">The <see cref="Mediachase.Commerce.Orders.ImportExport.TaxImportExportEventArgs"/> instance containing the event data.</param>
 void ImportExport_ImportExportProgressMessage(object sender, TaxImportExportEventArgs args)
 {
     ProgressControl1.AddProgressMessageText(args.Message, false, Convert.ToInt32(args.CompletedPercentage));
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Processes the import button event.
        /// </summary>
        protected void DoImport(Guid appId)
        {
            AppContext.Current.ApplicationId = appId;

            // save current MetaDataContext
            MetaDataContext currentContext = CatalogContext.MetaDataContext;

            try
            {
                string filePath = SelectedFilePath;

                if (String.IsNullOrEmpty(filePath))
                {
                    throw new Exception("No selected file.");
                }

                // import site

                ProgressControl1.AddProgressMessageText("Preparing to unpack zip file.", false, 0);

                // get folder name where to extract files from uploaded zip archive
                StringBuilder sbDirName = new StringBuilder(Path.GetTempPath());
                sbDirName.Append(Path.GetFileNameWithoutExtension(filePath));
                string destDir = sbDirName.ToString();

                // delete folder if it already exists
                if (Directory.Exists(destDir))
                {
                    Directory.Delete(destDir, true);
                }

                DirectoryInfo dir = Directory.CreateDirectory(destDir);

                // unpack archive
                ZipHelper.ExtractZip(filePath, dir.FullName);

                ProgressControl1.AddProgressMessageText("Unpacked zip file.", false, 0);

                FileStream fs = new FileStream(Path.Combine(dir.FullName, "Catalog.xml"), FileMode.Open, FileAccess.Read);

                try
                {
                    _ImportExport.ImportExportProgressMessage += new Mediachase.Commerce.Catalog.ImportExport.ImportExportProgressMessageHandler(ImportExport_ImportExportProgressMessage);

                    // perform import operation
                    _ImportExport.Import(fs, appId, dir.FullName);

                    if (fs != null)
                    {
                        fs.Close();
                        fs = null;
                    }

                    SelectedFilePath = null;
                }
                catch (Mediachase.Commerce.Catalog.ImportExport.ImportExportException ex)
                {
                    throw ex;
                }
                catch (Exception ex1)
                {
                    throw ex1;
                }
                finally
                {
                    if (fs != null)
                    {
                        fs.Close();
                    }

                    // delete temporary folder
                    if (Directory.Exists(dir.FullName))
                    {
                        Directory.Delete(dir.FullName, true);
                    }
                }
            }
            catch (Exception ex)
            {
                ProgressControl1.AddProgressMessageText(ex.Message, true, -1);
            }
            finally
            {
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Processes the import button event.
        /// </summary>
        protected void DoImport(Guid appId)
        {
            AppContext.Current.ApplicationId = appId;

            try
            {
                string filePath        = SelectedFilePath;
                string mappingFilePath = SelectedMappingFilePath;

                if (String.IsNullOrEmpty(filePath))
                {
                    throw new Exception("No selected file.");
                }

                if (!String.IsNullOrEmpty(mappingFilePath))
                {
                    MetaDataPlus.Import.Rule mapping = MetaDataPlus.Import.Rule.XmlDeserialize(CatalogContext.MetaDataContext, mappingFilePath);
                    char chTextQualifier             = '\0';
                    if (mapping.Attribute["TextQualifier"].ToString() != "")
                    {
                        chTextQualifier = char.Parse(mapping.Attribute["TextQualifier"]);
                    }

                    string sEncoding = "Default";
                    try
                    {
                        sEncoding = mapping.Attribute["Encoding"];
                    }
                    catch { }
                    IIncomingDataParser parser  = null;
                    DataSet             rawData = null;
                    try
                    {
                        parser  = new CsvIncomingDataParser(SourcePath, true, char.Parse(mapping.Attribute["Delimiter"].ToString()), chTextQualifier, true, GetEncoding(sEncoding));
                        rawData = parser.Parse(Path.GetFileName(filePath), null);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                    DataTable dtSource = rawData.Tables[0];

                    MappingMetaClass mc = null;
                    try
                    {
                        int        CatalogId = 0;
                        FillResult fr        = null;
                        switch (mapping.Attribute["TypeName"])
                        {
                        case "Category":
                            if (!String.IsNullOrEmpty(ListCatalogs.SelectedValue))
                            {
                                CatalogId = Int32.Parse(ListCatalogs.SelectedValue);
                            }

                            CatalogContext.MetaDataContext.UseCurrentUICulture = false;
                            CatalogContext.MetaDataContext.Language            = mapping.Attribute["Language"];

                            mc = new CategoryMappingMetaClass(CatalogContext.MetaDataContext, mapping.ClassName, CatalogId);

                            fr = ((CategoryMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow);

                            CatalogContext.MetaDataContext.UseCurrentUICulture = true;
                            break;

                        case "Entry":
                            if (!String.IsNullOrEmpty(ListCatalogs.SelectedValue))
                            {
                                CatalogId = Int32.Parse(ListCatalogs.SelectedValue);
                            }

                            CatalogContext.MetaDataContext.UseCurrentUICulture = false;
                            CatalogContext.MetaDataContext.Language            = mapping.Attribute["Language"];

                            mc = new EntryMappingMetaClass(CatalogContext.MetaDataContext, mapping.ClassName, CatalogId);

                            fr = ((EntryMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow);

                            CatalogContext.MetaDataContext.UseCurrentUICulture = true;
                            break;

                        case "EntryRelation":
                            mc = new EntryRelationMappingMetaClass(CatalogContext.MetaDataContext, CatalogId);
                            fr = ((EntryRelationMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow);
                            break;

                        case "EntryAssociation":
                            mc = new EntryAssociationMappingMetaClass(CatalogContext.MetaDataContext, CatalogId);
                            fr = ((EntryAssociationMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow);
                            break;

                        case "Variation":
                            mc = new VariationMappingMetaClass(CatalogContext.MetaDataContext, CatalogId);
                            fr = ((VariationMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow);
                            break;

                        case "SalePrice":
                            mc = new PricingMappingMetaClass(CatalogContext.MetaDataContext, CatalogId);
                            fr = ((PricingMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow);
                            break;
                        }

                        if (fr != null)
                        {
                            if (fr.ErrorRows > 0)
                            {
                                foreach (Exception expt in fr.Exceptions)
                                {
                                    string exMessage = expt.Message;
                                    if (expt is MDPImportException)
                                    {
                                        MDPImportException mdpEx = (MDPImportException)expt;
                                        if (mdpEx.RowIndex > -1)
                                        {
                                            exMessage = String.Format("Import error. Line {0}: {1}", mdpEx.RowIndex + 1, exMessage);
                                        }
                                    }

                                    ProgressControl1.AddProgressMessageText(exMessage, true, 0);
                                }
                            }

                            if (fr.Warnings.Length > 0)
                            {
                                foreach (MDPImportWarning MDPWarn in fr.Warnings)
                                {
                                    ProgressControl1.AddProgressMessageText(String.Format("Line {0}: {1}", MDPWarn.RowIndex + 1, MDPWarn.Message), false, 0);
                                }
                            }

                            string msgSuccessful = RM.GetString("IMPORT_MSG_SUCCESSFUL") + ". " + string.Format(RM.GetString("IMPORT_MSG_RESULT"), fr.SuccessfulRows.ToString(), fr.TotalRows.ToString());
                            ProgressControl1.AddProgressMessageText(msgSuccessful, false, 100);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                ProgressControl1.AddProgressMessageText(ex.Message, true, 100);
            }
            finally
            {
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Processes the export button event.
        /// </summary>
        protected void DoExport(Guid appId)
        {
            AppContext.Current.ApplicationId = appId;

            try
            {
                if (!String.IsNullOrEmpty(CatalogName))
                {
                    // export site

                    StringBuilder sbDirName = new StringBuilder(Path.GetTempPath());
                    sbDirName.AppendFormat("CatalogExport_{0}_{1}_{2}", AppId, CatalogName, DateTime.Now.ToString("yyyyMMdd-HHmmss"));
                    string dirName = sbDirName.ToString();
                    if (Directory.Exists(dirName))
                    {
                        Directory.Delete(dirName, true);
                    }
                    DirectoryInfo dir = Directory.CreateDirectory(dirName);

                    string zipPath = Path.Combine(_CurrentHttpContext.Server.MapPath(ManagementHelper.GetImportExportFolderPath("catalog")), dir.Name);

                    StringBuilder filePath = new StringBuilder(dir.FullName);
                    filePath.AppendFormat("\\Catalog.xml");
                    FileStream fs = new FileStream(filePath.ToString(), FileMode.Create, FileAccess.ReadWrite);

                    try
                    {
                        _ImportExport.ImportExportProgressMessage += new Mediachase.Commerce.Catalog.ImportExport.ImportExportProgressMessageHandler(ImportExport_ImportExportProgressMessage);

                        int startTime = Environment.TickCount;

                        _ImportExport.Export(CatalogName, fs, Path.Combine(_CurrentHttpContext.Server.MapPath(ManagementHelper.GetImportExportFolderPath("catalog")), dirName));//dir.FullName);

                        if (fs != null)
                        {
                            fs.Close();
                            fs = null;
                        }

                        ProgressControl1.AddProgressMessageText("Creating zip file.", 99);

                        ZipHelper.CreateZip(dir.FullName, String.Concat(zipPath, ".zip"));

                        ProgressControl1.AddProgressMessageText("Finished.", 100);
                    }
                    catch (Mediachase.Commerce.Catalog.ImportExport.ImportExportException ex)
                    {
                        throw ex;
                    }
                    catch (Exception ex1)
                    {
                        throw ex1;
                    }
                    finally
                    {
                        if (fs != null)
                        {
                            fs.Close();
                        }

                        // delete temporary folder
                        if (Directory.Exists(dir.FullName))
                        {
                            Directory.Delete(dir.FullName, true);
                        }
                    }
                }                 // if (!String.IsNullOrEmpty(CatalogName))
                else
                {
                    throw new Exception("CatalogName is empty!");
                }
            }
            catch (Exception ex)
            {
                ProgressControl1.AddProgressMessageText(ex.Message, true, -1);
            }
            finally
            {
            }
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Handles the SearchIndexMessage event of the _SearchManager control.
 /// </summary>
 /// <param name="source">The source of the event.</param>
 /// <param name="args">The <see cref="Mediachase.Search.SearchIndexEventArgs"/> instance containing the event data.</param>
 void _SearchManager_SearchIndexMessage(object source, Mediachase.Search.SearchIndexEventArgs args)
 {
     ProgressControl1.AddProgressMessageText(args.Message, false, Convert.ToInt32(args.CompletedPercentage));
 }