예제 #1
0
        private void btnImportFolder_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog dlg = new FolderBrowserDialog();

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                if (MessageForm.ShowYesNo("您正在导入数据到数据库,如果有相同的主键,将会替换数据库数据,是否确认?"))
                {
                    foreach (string fileName in System.IO.Directory.GetFiles(dlg.SelectedPath))
                    {
                        ADUtils.ImportFromXmlFile(fileName);
                    }
                }
            }
        }
예제 #2
0
        public void ProcessRequest(HttpContext context)
        {
            //context.Response.ContentType = "text/plain";
            //context.Response.Write("Done!");
            string fileName = HttpContext.Current.Server.MapPath("UploadData\\") + context.Request.QueryString["fileName"];
            Stream raw      = context.Request.InputStream;

            if (!string.IsNullOrEmpty(fileName) && raw.Length > 0)
            {
                byte[] b = new byte[raw.Length];
                raw.Read(b, 0, b.Length);
                using (FileStream fs = new FileStream(fileName, FileMode.Create))
                {
                    fs.Write(b, 0, b.Length);
                }

                string tempDir = HttpContext.Current.Server.MapPath("UploadData\\Temp\\");
                if (!System.IO.Directory.Exists(tempDir))
                {
                    System.IO.Directory.CreateDirectory(tempDir);
                }
                foreach (string s in System.IO.Directory.GetFiles(tempDir))
                {
                    System.IO.File.Delete(s);
                }

                Feng.Utils.CompressionHelper.UnzipToFolder(fileName, tempDir);

                ADUtils.DisableFKConstraint();
                foreach (string s in System.IO.Directory.GetFiles(tempDir))
                {
                    ADUtils.ImportFromXmlFile(s);
                    System.IO.File.Delete(s);
                }
                ADUtils.EnableFKConstraint();

                context.Response.ContentType = "text/plain";
                context.Response.Write("Done!");
            }
            else
            {
                context.Response.ContentType = "text/plain";
                context.Response.Write("Error!");
            }
        }
예제 #3
0
        private void btnImportYwsj_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.RestoreDirectory = true;
            dlg.Filter           = "Excel Xml(*.xml)|*.xml";
            //saveFileDialog1.Title = "保存";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                if (MessageBox.Show("您正在导入数据到数据库,如果有相同的主键,将会替换数据库数据,是否确认?", "确认", MessageBoxButtons.YesNo)
                    == DialogResult.Yes)
                {
                    ADUtils.DisableFKConstraint();

                    ADUtils.ImportFromXmlFile(dlg.FileName);

                    ADUtils.EnableFKConstraint();
                }
            }
        }
예제 #4
0
        private void btnImport_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.RestoreDirectory = true;
            dlg.Filter           = "Excel Xml(*.xml)|*.xml";
            dlg.Multiselect      = true;
            //saveFileDialog1.Title = "保存";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                if (MessageForm.ShowYesNo("您正在导入数据到数据库,如果有相同的主键,将会替换数据库数据,是否确认?"))
                {
                    foreach (string fileName in dlg.FileNames)
                    {
                        ADUtils.ImportFromXmlFile(fileName, true);
                        ADUtils.ImportFromXmlFile(fileName);
                    }
                }
            }
        }
예제 #5
0
        /// <summary>
        /// 安装Module
        /// </summary>
        /// <param name="moduleName"></param>
        public static void InstallModule(string moduleName)
        {
            CreateNecessaryDirectories(moduleName);

            string dir = System.IO.Directory.GetCurrentDirectory() + "\\" + moduleName;

            //// CheckModuleDependency
            //IList<ModuleDependencyInfo> moduleDependencyInfos = ADInfoBll.Instance.GetInfos<ModuleDependencyInfo>(
            //    "from ModuleDependencyInfo where Module.Name = :moduleName", new Dictionary<string, object> { { "moduleName", moduleName } });
            //foreach (ModuleDependencyInfo dependency in moduleDependencyInfos)
            //{
            //    if (dependency.DependentModule
            //}
            //// No use now
            ////ModuleByClientInfo moduleByClientInfo = null;
            ////ModuleByOrgInfo moduleByOrgInfo = null;

            IList <ModuleInfo> moduleInfos = ADInfoBll.Instance.GetInfos <ModuleInfo>("from Feng.ModuleInfo where Id = '" + moduleName + "'");

            if (moduleInfos.Count == 0)
            {
                throw new ArgumentException("There is no module named " + moduleName);
            }
            CompressionHelper.DecompressToFolder(moduleInfos[0].ModuleData, System.IO.Directory.GetCurrentDirectory());

            // ReferenceData
            foreach (string file in System.IO.Directory.GetFiles(dir + "\\referencedata\\standard\\"))
            {
                ADUtils.ImportFromXmlFile(file);
            }
            // ApplicationDictionaryData
            foreach (string file in System.IO.Directory.GetFiles(dir + "\\src-db\\database\\sourcedata\\"))
            {
                string s = System.IO.Path.GetFileNameWithoutExtension(file);
                if (s.StartsWith("AD_Module"))
                {
                    continue;
                }
                ADUtils.ImportFromXmlFile(file);
            }

            //// DbTable
            //foreach (string file in System.IO.Directory.GetFiles(dir + "src-db\\database\\model\\tables\\"))
            //{
            //}

            // DbView
            foreach (string file in System.IO.Directory.GetFiles(dir + "\\src-db\\database\\model\\views\\"))
            {
                using (System.IO.StreamReader sr = new System.IO.StreamReader(file))
                {
                    string script = sr.ReadToEnd();
                    DbHelper.Instance.ExecuteNonQuery(script);
                }
            }
            // DbFunction
            foreach (string file in System.IO.Directory.GetFiles(dir + "\\src-db\\database\\model\\functions\\"))
            {
                using (System.IO.StreamReader sr = new System.IO.StreamReader(file))
                {
                    string script = sr.ReadToEnd();
                    DbHelper.Instance.ExecuteNonQuery(script);
                }
            }
            // DbTrigger
            foreach (string file in System.IO.Directory.GetFiles(dir + "\\src-db\\database\\model\\triggers\\"))
            {
                using (System.IO.StreamReader sr = new System.IO.StreamReader(file))
                {
                    string script = sr.ReadToEnd();
                    DbHelper.Instance.ExecuteNonQuery(script);
                }
            }
            // DbProcedure
            foreach (string file in System.IO.Directory.GetFiles(dir + "\\src-db\\database\\model\\procedures\\"))
            {
                using (System.IO.StreamReader sr = new System.IO.StreamReader(file))
                {
                    string script = sr.ReadToEnd();
                    DbHelper.Instance.ExecuteNonQuery(script);
                }
            }

            //// SourceModel
            //foreach (string file in System.IO.Directory.GetFiles(dir + "\\src\\model\\"))
            //{
            //}

            //// SourceScript
            //foreach (string file in System.IO.Directory.GetFiles(dir + "\\src\\script\\"))
            //{
            //}

            //// SourceReport
            //foreach (string file in System.IO.Directory.GetFiles(dir + "\\src\\report\\"))
            //{
            //}
        }