public void GetFileNameTest()
        {
            List <string> files = new List <string>();

            for (uint i = 0; i < 10; i++)
            {
                BatchRenamedFileName target = new BatchRenamedFileName();
                string sourceFile           = @"C\photos\folder 1\123.jpg";

                ProjectSetting ps = new ProjectSetting();
                ps.OutputDirectory = @"C:\Out";
                ps.RenamingSetting.OutputFileNamePrefix = "travel_";
                ps.RenamingSetting.OutputFileNameSuffix = "_city";
                ps.RenamingSetting.StartNumber          = 0;
                ps.RenamingSetting.FileNameCase         = OutputFileNameCase.None;

                target.PS             = ps;
                target.ImageIndex     = i;
                target.SourceFileName = sourceFile;

                string outputFileName = target.GetFileName();
                if (!files.Contains(outputFileName))
                {
                    files.Add(outputFileName);
                }
            }

            Assert.AreEqual(files.Count, 10);
        }
Example #2
0
        /// <summary>
        /// コンテキストメニュー:EAに反映 のクリックイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void ReflectToEAToolStripMenuItemClick(object sender, EventArgs e)
        {
            EA.Repository repo = ProjectSetting.getVO().eaRepo;

            if (repo != null)
            {
                Control source = contextMenuStrip1.SourceControl;
                if (source != null)
                {
                    if (source.Tag is AttributeVO)
                    {
                        AttributeVO att = (AttributeVO)source.Tag;
                        confirmUpdateAttribute(repo, att);
                    }
                    else if (source.Tag is MethodVO)
                    {
                        MethodVO mth = (MethodVO)source.Tag;
                        confirmUpdateMethod(repo, mth);
                    }
                }
            }
            else
            {
                MessageBox.Show("EAにアタッチしていないため、反映できません");
            }
        }
Example #3
0
        public void Add(ProjectSetting p)
        {
            tv_ProjectSettingViewModel tvp = new tv_ProjectSettingViewModel(p);

            _listProjectSettings.Add(tvp);
            ParentTreeView.treeView.Items.Refresh();
        }
        void view_OpenProject(object sender, ProjectWithFileNameEventArgs e)
        {
            Stream stream = new FileStream(e.ProjectFileName, FileMode.Open, FileAccess.Read, FileShare.Read);

            try {
                IFormatter formatter = new BinaryFormatter();

                ps = (ProjectSetting)formatter.Deserialize(stream);

                // wire events again
                ps.OpenProject();
                View.PS = ps;
                if (ps.WatermarkCollection != null && ps.WatermarkCollection.Count > 0)
                {
                    View.SelectedWatermarkIndex = 0;
                }
                else
                {
                    View.ClearWatermarkArea();
                }

                this.currentProjectFile = e.ProjectFileName;
            } catch (Exception ex) {
                SetErrorMessage(ex);
            } finally {
                stream.Close();
                this.processing = false;
            }
        }
Example #5
0
        public void Is_Base_Class_Searilzable()
        {
            ProjectSetting ps = new ProjectSetting();
            WatermarkText  wt = new WatermarkText {
                Text = "Hello world",
                WatermarkPosition      = ContentAlignment.MiddleLeft,
                WatermarkRotateAngle   = 12,
                WatermarkTextAlignment = StringAlignment.Center
            };

            ps.WatermarkCollection.Add(wt);

            WatermarkImage wi = new WatermarkImage {
                WatermarkImageFile = @"c:\temp\1.jpg",
                WatermarkPosition  = ContentAlignment.MiddleCenter
            };

            ps.WatermarkCollection.Add(wi);


            MemoryStream stream    = new MemoryStream();
            IFormatter   formatter = new BinaryFormatter();

            formatter.Serialize(stream, ps);

            stream.Position = 0;

            ProjectSetting ps1 = (ProjectSetting)formatter.Deserialize(stream);

            Assert.AreEqual(ps1.WatermarkCollection.Count, 2);
            //Assert.IsNull(ps1.WatermarkCollection[2]);
            //Assert.IsNull(ps1.WatermarkCollection[3]);
            Assert.IsInstanceOfType(ps1.WatermarkCollection[0], typeof(WatermarkText));
            Assert.IsInstanceOfType(ps1.WatermarkCollection[1], typeof(WatermarkImage));
        }
        private void init()
        {
            this.artifacts.Clear();
            this.rootNode = new TreeNode("ルート");
            this.treeView1.Nodes.Clear();
            this.treeNodeMap.Clear();
            if (this.tabControl1.TabPages.Count > 1)
            {
                this.tabControl1.TabPages.Clear();
            }

            if (ProjectSetting.getVO() != null)
            {
                initProject();

                // 使用するIndexDBファイルの存在チェック
                if (!System.IO.File.Exists(ProjectSetting.getVO().projectPath + "\\" + ProjectSetting.getVO().dbName))
                {
                    // 読み込みが終わるまでモーダルでスプラッシュ画面を開く
                    SplashForm splashForm = new SplashForm();

                    splashForm.Show();
                    splashForm.CloseOnLoadComplete(ProjectSetting.getVO().projectPath, ProjectSetting.getVO().dbName);
                }
            }

            AttachEA();
        }
        private void AttachEA()
        {
            EA.App eaapp = null;

            if (ProjectSetting.getVO() == null)
            {
                toolStripStatusLabel1.Text = "[ファイル]メニューの[開く]を選択しプロジェクトをオープンしてください";
                return;
            }

            try {
                eaapp = (EA.App)Microsoft.VisualBasic.Interaction.GetObject(null, "EA.App");

                if (eaapp != null)
                {
                    EA.Repository repo = eaapp.Repository;
//					eaapp.Visible = true;
                    ProjectSetting.getVO().eaRepo = repo;
                    string connStr = repo.ConnectionString;
                    if (connStr.Length > 50)
                    {
                        connStr = connStr.Substring(0, 50);
                    }
                    toolStripStatusLabel1.Text = "EAへのアタッチ成功 EA接続先=" + connStr;
                }
                else
                {
                    toolStripStatusLabel1.Text = "EAにアタッチできなかったため、EAへの反映機能は使えません";
                }
            } catch (Exception ex) {
                toolStripStatusLabel1.Text = "EAが起動していなかったため、EAへの反映機能は使えません : " + ex.Message;
                return;
            }
        }
Example #8
0
        void getElementFromEA( )
        {
            EA.Repository repo  = ProjectSetting.getEARepo();
            EA.ObjectType otype = repo.GetContextItemType();

            if (otype == EA.ObjectType.otElement)
            {
                // Code for when an element is selected
                EA.Element eaElemObj = (EA.Element)repo.GetContextObject();

                if (eaElemObj != null && (eaElemObj.Type == "Class" || eaElemObj.Type == "Enumeration"))
                {
                    ElementVO eaElement = ObjectEAConverter.getElementFromEAObject(eaElemObj);
                    textBoxElementName.Text = eaElement.name;
                    targetElement           = eaElement;
                }
                else
                {
                    textBoxElementName.Text = "(EA上でクラスを選択してください)";
                    targetElement           = null;
                }
            }
            else
            {
                textBoxElementName.Text = "(EA上でクラスを選択してください)";
                targetElement           = null;
            }
        }
        /// <summary>
        /// repositories.xml ファイルを読み、その内容をRepositorySettingVOのリストにセットして返却する
        /// </summary>
        /// <returns>bool: 読み込み成功ならtrue</returns>
        public static List <RepositorySettingVO> load(string repositoryFile)
        {
            //string repositoriesFilename = "repositories.xml";
            //string repositoryFile = basePath + "\\" + repositoriesFilename;

            // XMLテキストをロードする
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(repositoryFile);

            // 返却用のRepositorySettingVOリストを生成
            List <RepositorySettingVO> repositorySettings = new List <RepositorySettingVO>();

            // projectノードに移動する
            XmlNode repositoriesNode = xmlDoc.SelectSingleNode("/repositories");

            if (repositoriesNode != null)
            {
                foreach (XmlNode repoNode in repositoriesNode.ChildNodes)
                {
                    if (repoNode.Name == "repository")
                    {
                        RepositorySettingVO settingvo = readRepositoryNode(repoNode);
                        settingvo.projectSettingVO = ProjectSetting.readProjectSetting(settingvo.projectPath);
                        settingvo.indexDbPath      = settingvo.projectPath + "\\" + settingvo.projectSettingVO.dbName;
                        repositorySettings.Add(settingvo);
                    }
                }
            }

            return(repositorySettings);
        }
Example #10
0
 private GameBuilder()
 {
     _projectSetting = FileHelper.GetProjectSetting();
     _grid           = new Grid(_projectSetting.Size.X, _projectSetting.Size.Y);
     BoardBuilder.Build(_projectSetting.ExitPoint, _projectSetting.StartPoint, _projectSetting.MinePoints, _grid);
     _observer = ObserverBuilder.Build(_grid);
 }
Example #11
0
        private void init()
        {
            this.artifacts.Clear();
            this.rootNode = new TreeNode("ルート");
            this.treeView1.Nodes.Clear();
            this.treeNodeMap.Clear();
            if (this.tabControl1.TabPages.Count > 1)
            {
                this.tabControl1.TabPages.Clear();
            }

            // プロジェクトファイル(.bdprj)が読み込み済みの場合
            if (ProjectSetting.getVO() != null)
            {
                initProject();

                // 使用するIndexDBファイルの存在チェック
                //if ( !System.IO.File.Exists(ProjectSetting.getVO().projectPath + "\\" + ProjectSetting.getVO().dbName) ) {
                //	// 読み込みが終わるまでモーダルでスプラッシュ画面を開く
                //	SplashForm splashForm = new SplashForm();

                //	splashForm.Show();
                //	splashForm.CloseOnLoadComplete(ProjectSetting.getVO().projectPath, ProjectSetting.getVO().dbName);
                //}

                // 展開IndexDBが未作成の場合にここで作成する処理を、一旦、削除する。
                // TODO: IndexDBと要素毎に展開される成果物ファイルの存在が無いと、データ更新処理などで色々とできないことが出てくるため、
                //    ProjectSettingなどでこのフラグを管理して、画面の動作モードを一元的に管理できるようにする。
                //    既に "EAと接続済みか否か" の情報を持っていたりするので、その延長で。
            }

            AttachEA();
        }
Example #12
0
        /// <summary>
        /// 一時保存ボタンのイベントハンドラ
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void BtnCommitClick(object sender, EventArgs e)
        {
            string outputDir = ProjectSetting.getVO().projectPath;

            StreamWriter swe = null;

            try {
                //BOM無しのUTF8でテキストファイルを作成する
                swe = new StreamWriter(outputDir + @"\elements\" + myElement.guid.Substring(1, 36) + "_changed.xml");
                swe.WriteLine(@"<?xml version=""1.0"" encoding=""UTF-8""?> ");

                ElementXmlWriter.writeElementXml(myElement, 0, swe);
                btnCommit.Enabled = false;
            } catch (Exception exp) {
                MessageBox.Show(exp.Message);
            } finally {
                if (swe != null)
                {
                    swe.Close();
                }
            }

            savedElement = myElement;

            //メッセージボックスを表示する
            MessageBox.Show("クラスの変更内容をローカルファイルに記録しました",
                            "確認",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Information);

//			this.Close();
        }
        public void exportBehaviorText()
        {
            // 出力フォルダはプロジェクトファイルの配置パスとする
            string outputDir = ProjectSetting.getVO().projectPath;

            // 全成果物リストの読み込み
            string      artifactDir  = ProjectSetting.getVO().projectPath + "\\" + ProjectSetting.getVO().artifactsPath;
            ArtifactsVO allArtifacts = ArtifactsXmlReader.readAllArtifacts(artifactDir);

            // 成果物パッケージXMLファイル読み込み
            ArtifactXmlReader atfReader = new ArtifactXmlReader(artifactDir, true);

            for (int i = 0; i < allArtifacts.artifactList.Count; i++)
            {
                ArtifactVO atf = allArtifacts.artifactList[i];

                // 成果物VOのPathNameより出力が必要と判断された場合
                if (artifactPathNameIsValid(atf.pathName))
                {
                    // ルールに従い、GUIDから成果物ファイルの名称を取得
                    string artifactFileName = "atf_" + atf.guid.Substring(1, 36) + ".xml";
                    // 成果物ファイル名と出力フォルダを渡し、ふるまいテキストを出力させる
                    outputIndexedBehaviorText(atfReader, artifactFileName, outputDir);

                    Console.WriteLine("{0}:テキスト出力中 {1}", i + 1, artifactFileName);
                }
            }
        }
        /// <summary>
        /// detail の method XML (/detail/#method_${guid}_${LR}.xml) を読み、得られたVOを返却する
        ///
        /// </summary>
        /// <returns>MethodVO</returns>
        public MethodVO readMethodDiffDetail(string methodGuid, string leftRight)
        {
            string target_dir = ProjectSetting.getVO().projectPath;
            string fileName   = target_dir + "/detail/" + "#method_" + methodGuid.Substring(1, 36) + "_" + leftRight + ".xml";

            // 指定されたfileNameでファイルが存在しなかったらnullを返す
            if (!System.IO.File.Exists(fileName))
            {
                return(null);
            }

            // XMLテキストをロードする
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(fileName);

            // methodノードに移動する
            XmlNode mthNode = xmlDoc.SelectSingleNode("method");

            if (mthNode != null)
            {
                return(ElementsXmlReader.readMethod(mthNode));
            }
            else
            {
                return(new MethodVO());
            }
        }
        /// <summary>
        /// detail の taggedValue XML (/detail/#taggedValue_${guid}_${LR}.xml) を読み、得られたVOを返却する
        ///
        /// </summary>
        /// <returns>MethodVO</returns>
        public TaggedValueVO readTaggedValueDiffDetail(string tagGuid, string leftRight)
        {
            string target_dir = ProjectSetting.getVO().projectPath;
            string fileName   = target_dir + "/detail/" + "#taggedValue_" + tagGuid.Substring(1, 36) + "_" + leftRight + ".xml";

            // 指定されたfileNameでファイルが存在しなかったらnullを返す
            if (!System.IO.File.Exists(fileName))
            {
                return(null);
            }

            // XMLテキストをロードする
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(fileName);

            // taggedValues ノードに移動する
            XmlNode tvNode = xmlDoc.SelectSingleNode("tv");

            if (tvNode != null)
            {
                return(ElementsXmlReader.readTaggedValue(tvNode));
            }
            else
            {
                return(new TaggedValueVO());
            }
        }
Example #16
0
        /// <summary>
        /// 成果物リストの読み込みとAsciidoc出力
        /// </summary>
        /// <param name="elementMode"></param>
        /// <param name="repositoryVO"></param>
        private static void readArtifactsAndWriteAsciidocs(string projectFilePath, bool elementMode, string elementGuid)
        {
            // .bdprjファイルの読み込み
            ProjectSetting.load(projectFilePath);

            // Asciidocの出力モードによる分岐
            if (elementMode)
            {
                // 要素1つ分のAsciidoc出力
            }
            else
            {
                // 全成果物リストの読み込み
                string      artifactDir  = ProjectSetting.getVO().projectPath + "\\" + ProjectSetting.getVO().artifactsPath;
                ArtifactsVO allArtifacts = readAllArtifacts(artifactDir);

                // indexDb作成処理
                // (Asciidoc出力処理の中でElementSearcherやConnectorSearcherを利用するため、
                // indexDb未作成だとここでエラーになってしまっていた)
                makeIndexDbIfNotExist(allArtifacts);

                // 全成果物分のAsciidoc出力
                outputAllArtifactAsciidoc(allArtifacts);

                // asciidocFilePath をセットした結果を AllArtifacts.xml ファイルに記録
                AllArtifactsXmlWriter.outputAllArtifactsFile(artifactDir, allArtifacts);
            }
        }
        /// <summary>
        /// detail の attribute XML (/detail/#attribute_${guid}_${LR}.xml) を読み、得られたVOを返却する
        ///
        /// </summary>
        /// <returns>AttributeVO</returns>
        public AttributeVO readAttributeDiffDetail(string attributeGuid, string leftRight)
        {
            string target_dir = ProjectSetting.getVO().projectPath;

            string fileName = target_dir + "/detail/" + "#attribute_" + attributeGuid.Substring(1, 36) + "_" + leftRight + ".xml";

            // 指定されたfileNameでファイルが存在しなかったらnullを返す
            if (!System.IO.File.Exists(fileName))
            {
                return(null);
            }

            // XMLテキストをロードする
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(fileName);

            // attributeノードに移動する
            XmlNode attrNode = xmlDoc.SelectSingleNode("attribute");

            if (attrNode != null)
            {
                return(ElementsXmlReader.readAttribute(attrNode));
            }
            else
            {
                return(new AttributeVO());
            }
        }
Example #18
0
        private void addElementLabels(ElementVO elem)
        {
            int rowIndex = 0;

            string            artifactsDir = ProjectSetting.getVO().projectPath + "\\" + ProjectSetting.getVO().artifactsPath;
            ArtifactXmlReader reader       = new ArtifactXmlReader(artifactsDir);

            tableLayoutPanel1.RowCount = elem.attributes.Count + elem.methods.Count + elem.taggedValues.Count;

            foreach (AttributeVO attr in elem.attributes)
            {
                addAttributeBox(rowIndex, reader, attr);
                rowIndex++;
            }

            foreach (MethodVO mth in elem.methods)
            {
                addMethodBox(rowIndex, reader, mth);
                rowIndex++;
            }

            foreach (TaggedValueVO tgv in elem.taggedValues)
            {
                addTaggedValueBox(rowIndex, reader, tgv);
                rowIndex++;
            }
        }
Example #19
0
        private void AttachEA()
        {
            EA.App eaapp = null;

            try {
                eaapp = (EA.App)Microsoft.VisualBasic.Interaction.GetObject(null, "EA.App");
            } catch (Exception e) {
                toolStripStatusLabel1.Text = "EAが起動していなかったため、EAへの反映機能は使えません : " + e.Message;
                // MessageBox.Show( e.Message );
                return;
            } finally {
            }

            if (ProjectSetting.getVO() != null)
            {
                if (eaapp != null)
                {
                    EA.Repository repo = eaapp.Repository;
//					eaapp.Visible = true;
                    ProjectSetting.getVO().eaRepo = repo;
                    toolStripStatusLabel1.Text = "EAへのアタッチ成功 EA接続先=" + repo.ConnectionString;
                }
                else
                {
                    toolStripStatusLabel1.Text = "EAにアタッチできなかったため、EAへの反映機能は使えません";
                }
            }
        }
        private static void runOnLocalFileMode(string projectFile, string elemGuid)
        {
            // プロジェクトファイルの存在チェック
            if (System.IO.File.Exists(projectFile))
            {
                // プロジェクト設定ファイルのロード
                ProjectSetting.load(projectFile);
            }
            else
            {
                MessageBox.Show("指定されたプロジェクトファイルが見つかりません");
                return;
            }

            try
            {
                // 要素ファイルからGUIDで検索した結果を読み込む
                ElementVO elemvo = ElementsXmlReader.readElementFile(elemGuid);

                ElementForm elementForm = new ElementForm(ref elemvo);
                Application.Run(elementForm);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "エラー発生");
            }
        }
        /// <summary>
        /// EAから取得したパッケージ情報でartifactXMLを更新し、取得結果を新しいArtifactVOに入れて返却する
        /// </summary>
        /// <returns></returns>
        public ArtifactVO makeArtifactXml()
        {
//			if (eaPackageObj.IsControlled == false) {
//			}
            ArtifactVO atf = new ArtifactVO();

            atf.artifactId  = "";
            atf.changed     = ' ';
            atf.createDate  = rootPackObj.Element.Created.ToString();
            atf.guid        = rootPackObj.PackageGUID;
            atf.name        = rootPackObj.Name;
            atf.notes       = rootPackObj.Notes;
            atf.pathName    = makePackagePathFromEAPackage(rootPackObj);
            atf.projectName = "ASW";
            atf.stereoType  = rootPackObj.StereotypeEx;
            atf.updateDate  = rootPackObj.Element.Modified.ToString();

            atf.package   = ObjectEAConverter.getPackageFromEAObject(rootPackObj);
            atf.packageId = rootPackObj.PackageID;

            string artifactDir = ProjectSetting.getVO().projectPath + ProjectSetting.getVO().artifactsPath;

            ArtifactXmlWriter.outputArtifactXml(artifactDir, atf);
//			writer.outputArtifactXml(@"C:\WORK", atf);

            return(atf);
        }
Example #22
0
        private void Edit()
        {
            ProjectSetting editItem          = new ProjectSetting();                                             //实例化一个新的model
            ProjectSettingEditViewModel bevm = new ProjectSettingEditViewModel(editItem, _projectService.Items); //实例化一个新的view model

            bevm.Id = _selectedItem.Id;
            bevm.design_capacity_mahr         = _selectedItem.design_capacity_mahr;
            bevm.limited_charge_voltage_mv    = _selectedItem.limited_charge_voltage_mv;
            bevm.fully_charged_end_current_ma = _selectedItem.fully_charged_end_current_ma;
            bevm.fully_charged_ending_time_ms = _selectedItem.fully_charged_ending_time_ms;
            bevm.discharge_end_voltage_mv     = _selectedItem.discharge_end_voltage_mv;
            bevm.threshold_1st_facc_mv        = _selectedItem.threshold_1st_facc_mv;
            bevm.threshold_2nd_facc_mv        = _selectedItem.threshold_2nd_facc_mv;
            bevm.threshold_3rd_facc_mv        = _selectedItem.threshold_3rd_facc_mv;
            bevm.threshold_4th_facc_mv        = _selectedItem.threshold_4th_facc_mv;
            bevm.initial_ratio_fcc            = _selectedItem.initial_ratio_fcc;
            bevm.accumulated_capacity_mahr    = _selectedItem.accumulated_capacity_mahr;
            bevm.dsg_low_volt_mv       = _selectedItem.dsg_low_volt_mv;
            bevm.dsg_low_temp_01dc     = _selectedItem.dsg_low_temp_01dc;
            bevm.initial_soc_start_ocv = _selectedItem.initial_soc_start_ocv;
            bevm.system_line_impedance = _selectedItem.system_line_impedance;
            bevm.is_valid    = _selectedItem.is_valid;
            bevm.extend_cfg  = _selectedItem.extend_cfg;
            bevm.Project     = bevm.AllProjects.SingleOrDefault(i => i.Id == _selectedItem.Project.Id);
            bevm.DisplayName = "Project Setting-Edit";
            bevm.commandType = CommandType.Edit;
            var ProjectSettingViewInstance = new ProjectSettingView();      //实例化一个新的view

            ProjectSettingViewInstance.DataContext = bevm;
            ProjectSettingViewInstance.ShowDialog();
            if (bevm.IsOK == true)
            {
                _ProjectSettingService.SuperUpdate(editItem);
            }
        }
        private void initProject()
        {
            string artifactsFileName = ProjectSetting.getVO().artifactsFile;
            string artifactDir       = ProjectSetting.getVO().projectPath + "\\" + ProjectSetting.getVO().artifactsPath;

            // artifactList.Items.Clear();
            this.artifacts = ArtifactsXmlReader.readArtifactList(artifactDir, artifactsFileName);

            string atfnodename;

            for (int i = 0; i < artifacts.Count; i++)
            {
                ArtifactVO atf         = artifacts[i];
                TreeNode   packageNode = addPackageNodes(atf.pathName);

                if (atf.changed == ' ')
                {
                    atfnodename = atf.name;
                }
                else
                {
                    atfnodename = atf.name + " [" + atf.changed + "]";
                }
                TreeNode atfNode = new TreeNode(atfnodename, 2, 1);
                atfNode.Tag = atf;
                atfNode.ContextMenuStrip = contextMenuStrip1;

                packageNode.Nodes.Add(atfNode);
                treeNodeMap.Add(atf.guid, atfNode);
            }

            this.treeView1.Nodes.Add(rootNode);
        }
Example #24
0
        public static bool outputElementXmlFile(ElementVO elem)
        {
            string       outputDir = ProjectSetting.getVO().projectPath;
            bool         retFlg    = false;
            StreamWriter swe       = null;

            try {
                // 要素XMLを出力するフォルダ (projectDir + /elements/ 配下) が存在するかを調べ、なければ作る
                string edir = outputDir + @"\elements\" + elem.guid.Substring(1, 1) + @"\" + elem.guid.Substring(2, 1);
                checkAndMakeElementDir(edir);

                //BOM無しのUTF8でテキストファイルを作成する
                swe = new StreamWriter(outputDir + @"\elements\" + elem.guid.Substring(1, 1) + @"\" + elem.guid.Substring(2, 1) + @"\" + elem.guid.Substring(1, 36) + ".xml");
                swe.WriteLine(@"<?xml version=""1.0"" encoding=""UTF-8""?> ");

                // このStreamに対象の要素をXML出力する
                writeElementXml(elem, 0, swe);
                retFlg = true;
            } catch (Exception exp) {
                Console.WriteLine(exp.Message);
            } finally {
                if (swe != null)
                {
                    swe.Close();
                }
            }

            return(retFlg);
        }
Example #25
0
        public Image ProcessImage(Image input, ProjectSetting ps)
        {
            try {
                int    innerBorderWidth = 1;
                int    borderWidth      = (int)ps.BorderSetting.BorderWidth;
                Bitmap bmp = new Bitmap(input.Width + (borderWidth + innerBorderWidth) * 2,
                                        input.Height + (borderWidth + innerBorderWidth) * 2);
                Graphics g = Graphics.FromImage(bmp);
                Color    c = Color.FromArgb(ps.BorderSetting.BorderColor.A,
                                            ps.BorderSetting.BorderColor.R,
                                            ps.BorderSetting.BorderColor.G,
                                            ps.BorderSetting.BorderColor.B);
                SolidBrush brush = new SolidBrush(c);
                g.FillRectangle(brush, 0, 0, bmp.Width, bmp.Height);

                brush = new SolidBrush(Color.White);
                g.FillRectangle(brush, borderWidth, borderWidth,
                                input.Width + innerBorderWidth * 2,
                                input.Height + innerBorderWidth * 2);

                g.DrawImage(input, borderWidth + innerBorderWidth, borderWidth + innerBorderWidth);
                g.Dispose();
                return((Image)bmp);
            } catch (Exception ex) {
                Trace.TraceError(ex.ToString());
                return(input);
            }
        }
        public void DownloadMessages()
        {
            try
            {
                db = new VehicleDBEntities(Connection.GetConnectionString());
                var ps = db.ProjectSettings.FirstOrDefault();
                if (ps == null)
                    ps = new ProjectSetting() { StopSmsLogService = false, SmsLogUpdateDate = DateTime.Now.AddYears(-1), SmsLogRefreshTime = 1, };
                if (!ps.StopSmsLogService)
                {
                    var d = ps.SmsLogUpdateDate.Value;
                    var twilio = new TwilioRestClient(ConfigHelper.AppSetting("Twilio_AccountSid"), ConfigHelper.AppSetting("Twilio_AuthToken"));
                    var NowDate = DateTime.Now;
                    string resource = string.Format("Accounts/{0}/SMS/Messages.json?DateSent>={1}", ConfigHelper.AppSetting("Twilio_AccountSid"), d.ToString("yyyy-MM-dd HH:mm:ss"));
                    RestSharp.RestRequest rs = new RestSharp.RestRequest();
                    rs.Resource = resource;

                    var smsResult = twilio.Execute<SmsMessageResult>(rs);
                    var smsList = new List<Message>();
                    if (smsResult != null)
                        AutoMapper.Mapper.Map(smsResult.SMSMessages, smsList);
                    if (smsList.Count > 0)
                    {
                        foreach (var item in smsList)
                        {
                            if (!db.Messages.Any(p => p.Sid == item.Sid))
                                db.Messages.AddObject(item);
                        }
                        db.SaveChanges();
                    }
                    ps.SmsLogUpdateDate = NowDate;
                    if (ps.ID == 0)
                        db.ProjectSettings.AddObject(ps);
                    db.SaveChanges();
                    WriteLog(smsList.Count + " Sms read");
                }
                int interval = ps.SmsLogRefreshTime * 60 * 1000;
                if (timer1.Interval != interval)
                {
                    timer1.Stop();
                    timer1.Interval = interval;
                    timer1.Start();
                }
            }
            catch (Exception ex)
            {
                WriteLog(ex.ToString());
            }
        }