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); }
/// <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にアタッチしていないため、反映できません"); } }
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; } }
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; } }
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); }
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); }
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(); }
/// <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()); } }
/// <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()); } }
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++; } }
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); }
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); }
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); }
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()); } }