/// <summary> /// Reads basic summary details from the project header. /// </summary> /// <param name="file">project file</param> public static void listProjectHeader(ProjectFile file) { ProjectHeader header = file.ProjectHeader; String formattedStartDate = header.StartDate == null ? "(none)" : header.StartDate.ToDateTime().ToString(); String formattedFinishDate = header.FinishDate == null ? "(none)" : header.FinishDate.ToDateTime().ToString(); System.Console.WriteLine("Project Header: StartDate=" + formattedStartDate + " FinishDate=" + formattedFinishDate); System.Console.WriteLine(); }
private void backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { ProjectHeader header = _mpx.ProjectHeader; try { _progressMax = _wbsOutput.Count - 1; _message = "Creating WBS structure in Aras..."; backgroundWorker1.ReportProgress(0); // create top WBS var wbsRoot = _inn.getNewID(); var projectID = _inn.getNewID(); CreateProject(wbsRoot, projectID, header); CreateWBS(wbsRoot); CreateAssignments(); CreatePredecessors(); if (!_isTemplate) { _progressMax = _wbsOutput.Count - 1; _message = "Scheduling project in Aras..."; backgroundWorker1.ReportProgress(0); var sProj = _inn.newItem("Project"); sProj.setID(projectID); var resProj = sProj.apply("Schedule Project"); if (resProj.isError()) { throw new Exception("Error scheduling project :" + resProj.getErrorDetail()); } backgroundWorker1.ReportProgress(_wbsOutput.Count - 1); Thread.Sleep(300); } } catch (Exception ex) { _backgroundErrorMsg = ex.Message; } }
private void CreateProject(string wbsRoot, string projectID, ProjectHeader header) { var topWbs = _inn.newItem(); topWbs.setID(wbsRoot); topWbs.setType("WBS Element"); topWbs.setProperty("name", _projectTitle); topWbs.setProperty("is_top", "1"); topWbs.setAction("add"); ArasCommit(topWbs, "Top WBS", null); var iProject = _inn.newItem(); iProject.setID(projectID); if (!_isTemplate) // project { iProject.setType("Project"); _innovProjectNumber = _inn.getNextSequence("Project Number"); iProject.setProperty("date_start_target", ArasHelpers.ConvertDate(_inn, header.StartDate)); iProject.setProperty("date_due_target", ArasHelpers.ConvertDate(_inn, header.FinishDate)); iProject.setProperty("project_number", _innovProjectNumber); iProject.setProperty("scheduling_type", "Forward"); iProject.setProperty("scheduling_method", "7DC85B0668134E949B9212D7CE199265"); iProject.setProperty("update_method", "6E1133AB87A44D529DF5F9D1FD740100"); iProject.setProperty("scheduling_mode", "1"); iProject.setProperty("project_update_mode", "1"); } else // template { iProject.setType("Project Template"); } iProject.setProperty("name", _projectTitle); iProject.setProperty("wbs_id", wbsRoot); iProject.setAction("add"); ArasCommit(iProject, "Top Project", null); }
private void ProjectLineGetPreviousAction_Execute(object sender, SimpleActionExecuteEventArgs e) { try { GlobalFunction _globFunc = new GlobalFunction(); IObjectSpace _objectSpace = View is ListView?Application.CreateObjectSpace() : View.ObjectSpace; ArrayList _objectsToProcess = new ArrayList(e.SelectedObjects); DateTime now = DateTime.Now; Session _currSession = null; string _currObjectId = null; ProjectHeader _locProjectHeaderXPO = null; string _locProjectHeaderCode = null; if (this.ObjectSpace != null) { _currSession = ((XPObjectSpace)this.ObjectSpace).Session; } if (_objectsToProcess != null) { foreach (Object obj in _objectsToProcess) { ProjectLine _locProjectLineOS = (ProjectLine)_objectSpace.GetObject(obj); if (_locProjectLineOS != null) { if (_locProjectLineOS.ProjectHeader != null) { if (_locProjectLineOS.ProjectHeader.Code != null) { _locProjectHeaderCode = _locProjectLineOS.ProjectHeader.Code; } } if (_locProjectLineOS.Code != null) { _currObjectId = _locProjectLineOS.Code; ProjectLine _locProjectLineXPO = _currSession.FindObject <ProjectLine> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _currObjectId))); if (_locProjectLineXPO == null) { if (_locProjectHeaderCode != null) { _locProjectHeaderXPO = _currSession.FindObject <ProjectHeader> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _locProjectHeaderCode))); } if (_locProjectHeaderXPO != null) { XPCollection <ProjectLine> _numLines = new XPCollection <ProjectLine> (_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO)), new SortProperty("No", DevExpress.Xpo.DB.SortingDirection.Ascending)); if (_numLines != null && _numLines.Count > 0) { foreach (ProjectLine _numLine in _numLines) { if (_numLine.No == _numLines.Count()) { _locProjectLineOS.Title = _numLine.Title; _locProjectLineOS.Title2 = _numLine.Title2; _locProjectLineOS.Title3 = _numLine.Title3; } } } } } else { ErrorMessageShow("Data Project Line Not Available"); } } else { ErrorMessageShow("Data Project Line Not Available"); } } } } if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) { _objectSpace.CommitChanges(); _objectSpace.Refresh(); } if (View is ListView) { _objectSpace.CommitChanges(); View.ObjectSpace.Refresh(); } } catch (Exception ex) { Tracing.Tracer.LogError(" BusinessObject = ProjectLine " + ex.ToString()); } }
private void ProjectLineMirrorAction_Execute(object sender, SimpleActionExecuteEventArgs e) { try { GlobalFunction _globFunc = new GlobalFunction(); IObjectSpace _objectSpace = View is ListView?Application.CreateObjectSpace() : View.ObjectSpace; ArrayList _objectsToProcess = new ArrayList(e.SelectedObjects); DateTime now = DateTime.Now; Session _currSession = null; string _currObjectId = null; ProjectHeader _locProjectHeaderXPO = null; string _locProjectHeaderCode = null; if (this.ObjectSpace != null) { _currSession = ((XPObjectSpace)this.ObjectSpace).Session; } if (_objectsToProcess != null) { foreach (Object obj in _objectsToProcess) { ProjectLine _locProjectLineOS = (ProjectLine)_objectSpace.GetObject(obj); if (_locProjectLineOS != null) { if (_locProjectLineOS.ProjectHeader != null) { if (_locProjectLineOS.ProjectHeader.Code != null) { _locProjectHeaderCode = _locProjectLineOS.ProjectHeader.Code; } } if (_locProjectLineOS.Code != null) { if (_locProjectHeaderCode != null) { _locProjectHeaderXPO = _currSession.FindObject <ProjectHeader> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _locProjectHeaderCode))); if (_locProjectHeaderXPO != null) { _currObjectId = _locProjectLineOS.Code; ProjectLine _locProjectLineXPO = _currSession.FindObject <ProjectLine> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _currObjectId), new BinaryOperator("ProjectHeader", _locProjectHeaderXPO))); if (_locProjectLineXPO != null) { XPCollection <ProjectLineItem> _numProjectLineItems = new XPCollection <ProjectLineItem> (_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO), new BinaryOperator("ProjectLine", _locProjectLineXPO)), new SortProperty("No", DevExpress.Xpo.DB.SortingDirection.Ascending)); if (_numProjectLineItems != null && _numProjectLineItems.Count > 0) { foreach (ProjectLineItem _numProjectLineItem in _numProjectLineItems) { if (_numProjectLineItem.Item != null && (_numProjectLineItem.Status == Status.Open || _numProjectLineItem.Status == Status.Progress || _numProjectLineItem.Status == Status.Lock)) { #region Mirror ProjectLineItem2 XPCollection <ItemComponent> _locItemComponents = new XPCollection <ItemComponent>(_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("Item", _numProjectLineItem.Item), new BinaryOperator("Active", true))); if (_locItemComponents != null && _locItemComponents.Count > 0) { foreach (ItemComponent _locItemComponent in _locItemComponents) { ProjectLineItem2 _locProjectLineItem2 = _currSession.FindObject <ProjectLineItem2>( new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO), new BinaryOperator("ProjectLine", _locProjectLineXPO), new BinaryOperator("ProjectLineItem", _numProjectLineItem), new BinaryOperator("Item", _locItemComponent.ItemComp) )); if (_locProjectLineItem2 == null) { if (_numProjectLineItem.Item == _locItemComponent.ItemComp) { ProjectLineItem2 _saveDataPLI2 = new ProjectLineItem2(_currSession) { Item = _numProjectLineItem.Item, DUOM = _numProjectLineItem.DUOM, DQty = _numProjectLineItem.DQty, TQty = _numProjectLineItem.TQty, ProjectHeader = _locProjectHeaderXPO, ProjectLine = _locProjectLineXPO, ProjectLineItem = _numProjectLineItem }; _saveDataPLI2.Save(); _saveDataPLI2.Session.CommitTransaction(); } else { ProjectLineItem2 _saveDataPLI2 = new ProjectLineItem2(_currSession) { Item = _locItemComponent.ItemComp, DUOM = _locItemComponent.UOM, DQty = _locItemComponent.Qty, ProjectHeader = _locProjectHeaderXPO, ProjectLine = _locProjectLineXPO, ProjectLineItem = _numProjectLineItem }; _saveDataPLI2.Save(); _saveDataPLI2.Session.CommitTransaction(); } } } } else { ProjectLineItem2 _locProjectLineItem2 = _currSession.FindObject <ProjectLineItem2>( new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO), new BinaryOperator("ProjectLine", _locProjectLineXPO), new BinaryOperator("ProjectLineItem", _numProjectLineItem), new BinaryOperator("Item", _numProjectLineItem.Item) )); if (_locProjectLineItem2 != null) { _locProjectLineItem2.Name = _numProjectLineItem.Name; _locProjectLineItem2.Item = _numProjectLineItem.Item; _locProjectLineItem2.DQty = _numProjectLineItem.DQty; _locProjectLineItem2.DUOM = _numProjectLineItem.DUOM; _locProjectLineItem2.Qty = _numProjectLineItem.Qty; _locProjectLineItem2.UOM = _numProjectLineItem.UOM; _locProjectLineItem2.TQty = _numProjectLineItem.TQty; _locProjectLineItem2.Description = _numProjectLineItem.Description; _locProjectLineItem2.ProjectHeader = _locProjectHeaderXPO; _locProjectLineItem2.ProjectLine = _locProjectLineXPO; _locProjectLineItem2.Save(); _locProjectLineItem2.Session.CommitTransaction(); } else { ProjectLineItem2 _saveDataPLI2 = new ProjectLineItem2(_currSession) { Item = _numProjectLineItem.Item, DUOM = _numProjectLineItem.DUOM, DQty = _numProjectLineItem.DQty, Qty = _numProjectLineItem.Qty, UOM = _numProjectLineItem.UOM, TQty = _numProjectLineItem.TQty, ProjectHeader = _locProjectHeaderXPO, ProjectLine = _locProjectLineXPO, ProjectLineItem = _numProjectLineItem }; _saveDataPLI2.Save(); _saveDataPLI2.Session.CommitTransaction(); } } #endregion Mirror ProjectLineItem2 #region Mirror ProjectLineServices ProjectLineService _locProjectLineService = _currSession.FindObject <ProjectLineService> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO), new BinaryOperator("ProjectLine", _locProjectLineXPO), new BinaryOperator("ProjectLineItem", _numProjectLineItem))); if (_locProjectLineService != null) { _locProjectLineService.Qty = _numProjectLineItem.TQty; _locProjectLineService.UOM = _numProjectLineItem.DUOM; _locProjectLineService.ProjectHeader = _locProjectHeaderXPO; _locProjectLineService.ProjectLine = _locProjectLineXPO; _locProjectLineService.ProjectLineItem = _numProjectLineItem; } if (_locProjectLineService == null) { ProjectLineService _saveDataPLS = new ProjectLineService(_currSession) { Qty = _numProjectLineItem.TQty, UOM = _numProjectLineItem.DUOM, ProjectHeader = _locProjectHeaderXPO, ProjectLine = _locProjectLineXPO, ProjectLineItem = _numProjectLineItem }; _saveDataPLS.Save(); _saveDataPLS.Session.CommitTransaction(); } #endregion Mirror ProjectLineServices } } } } SuccessMessageShow("Project Line Item Has Successfully Mirror to Project Line Item 2"); } } else { ErrorMessageShow("Data Project Line Not Available"); } } else { ErrorMessageShow("Data Project Line Not Available"); } } } } if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) { _objectSpace.CommitChanges(); _objectSpace.Refresh(); } if (View is ListView) { _objectSpace.CommitChanges(); View.ObjectSpace.Refresh(); } } catch (Exception ex) { Tracing.Tracer.LogError(" BusinessObject = ProjectLine " + ex.ToString()); } }
private List <MyWorkItem> GroupProjectsByStatus(List <MyWorkItem> listWork) { //var listWork = new ObservableCollection<MyWorkItem>(Projects.OrderByDescending(x => x.IsActive)); List <ProjectHeader> PositionsForInsert = new List <ProjectHeader>(); bool?previousState = null; for (int x = 0; x < listWork.Count(); x++) { if (listWork[x].TitleColor == null) { listWork[x].TitleColor = "#000000"; } if (x < listWork.Count() - 1) { if (listWork[x].IsActive != previousState) { ProjectHeader header = new ProjectHeader(); header.Position = x; //header.ProjectState = listWork[x].ProjectState; if (listWork[x].IsActive) { header.ProjectState = 0; } else { header.ProjectState = 2; } PositionsForInsert.Add(header); previousState = listWork[x].IsActive; //previousState = listWork[x].ProjectState; } } } int counter = 0; foreach (ProjectHeader header in PositionsForInsert) { MyWorkItem head = new MyWorkItem(); switch (header.ProjectState) { case 0: head.TitleColor = ConvertColorToHex((Color)Application.Current.Resources["GreenTextColor"]); //head.TitleColor = "#07aa07"; head.Title = "Active"; break; case 1: head.TitleColor = ConvertColorToHex((Color)Application.Current.Resources["LightGrayTextColor"]); head.Title = "Archive"; break; case 2: head.TitleColor = ConvertColorToHex((Color)Application.Current.Resources["LightGrayTextColor"]); //head.TitleColor = "#828282"; head.Title = "Planning"; break; case 3: head.TitleColor = ConvertColorToHex((Color)Application.Current.Resources["LightGrayTextColor"]); head.Title = "Template"; break; case 4: head.TitleColor = ConvertColorToHex((Color)Application.Current.Resources["LightGrayTextColor"]); head.Title = "Project Baseline"; break; case 5: head.TitleColor = ConvertColorToHex((Color)Application.Current.Resources["LightGrayTextColor"]); head.Title = "To Be Deleted"; break; case 6: head.TitleColor = ConvertColorToHex((Color)Application.Current.Resources["LightGrayTextColor"]); head.Title = "Change Order"; break; } head.isHeader = true; head.isItem = false; listWork.Insert(header.Position + counter, head); counter++; } return(listWork); }
private void LoadPrjBtn_Click(object sender, EventArgs e) { listBox1.Items.Clear(); listBox2.Items.Clear(); listBox3.Items.Clear(); OpenFileDialog openFileDialog1 = new OpenFileDialog { Filter = "GO Project File |*.prj", Title = "Select a Map Project File" }; if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string fullpath = openFileDialog1.FileName; string directoryPath = Path.GetDirectoryName(fullpath); string filename = Path.GetFileName(fullpath); ProjectHeader Project = new ProjectHeader(); try { string path = fullpath; FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); BinaryReader reader = new BinaryReader(fs, Encoding.GetEncoding("EUC-KR")); ReadString str = new ReadString(); CurrentEditLabel.Visible = true; CurrentEditLabel.Text = "Current Editing : " + filename; str.FiersRead = reader.ReadBytes(0x50); str.Decode(); reader.ReadInt32(); Project.MapName = str.Name; Project.Theme = reader.ReadInt32(); Project.Region = reader.ReadInt32(); Project.MapType = reader.ReadInt32(); //sub_96FFE0 str.FiersRead = reader.ReadBytes(0x80); str.Decode(); Project.BackgroundFile = str.Name; str.FiersRead = reader.ReadBytes(0x80); str.Decode(); Project.TileFile = str.Name; str.FiersRead = reader.ReadBytes(0x80); str.Decode(); Project.MapFile = str.Name; MapName.Text = Project.MapName; ThemeMap.Text = Project.Theme.ToString(); RegionMap.Text = Project.Region.ToString(); BackgroundFile.Text = Project.BackgroundFile; TileFile.Text = Project.TileFile; MapFile.Text = Project.MapFile; //////// OBJ Project.ObjectCount = reader.ReadInt32(); SprResourceCountLabel.Text = "Spr Resource Count : " + Project.ObjectCount.ToString(); SprResourceCountLabel.Visible = true; for (int i = 0; i < Project.ObjectCount; i++) { string SprFile = ""; char ch1; while ((int)(ch1 = reader.ReadChar()) != 0) { SprFile = SprFile + ch1; } reader.ReadBytes(127 - SprFile.Length);// acc 128 Console.WriteLine(SprFile); listBox1.Items.Insert(i, SprFile); } Project.MotCount = reader.ReadInt32(); for (int i = 0; i < Project.MotCount; i++) { string MotFile = ""; char ch2; while ((int)(ch2 = reader.ReadChar()) != 0) { MotFile = MotFile + ch2; } reader.ReadBytes(127 - MotFile.Length);// acc 128 Console.WriteLine(MotFile); listBox2.Items.Insert(i, MotFile); } reader.ReadInt32(); reader.ReadInt32(); reader.ReadInt32(); for (int i = 0; i < Project.MotCount; i++) { string MotTFile = ""; char ch3; while ((int)(ch3 = reader.ReadChar()) != 0) { MotTFile = MotTFile + ch3; } reader.ReadBytes(127 - MotTFile.Length);// acc 128 Console.WriteLine(MotTFile); listBox3.Items.Insert(i, MotTFile); } MotResourceCountLabel.Text = "Mot Resource Count : " + Project.MotCount.ToString(); MotResourceCountLabel.Visible = true; } catch { MessageBox.Show("Failed to read file", ""); } } }
private void PurchaseOrderReceiptAction_Execute(object sender, SimpleActionExecuteEventArgs e) { try { GlobalFunction _globFunc = new GlobalFunction(); IObjectSpace _objectSpace = View is ListView?Application.CreateObjectSpace() : View.ObjectSpace; ArrayList _objectsToProcess = new ArrayList(e.SelectedObjects); DateTime now = DateTime.Now; Session _currSession = null; string _currObjectId = null; string _locDocCode = null; ProjectHeader _locProjectHeader = null; if (this.ObjectSpace != null) { _currSession = ((XPObjectSpace)this.ObjectSpace).Session; } if (_objectsToProcess != null) { foreach (Object obj in _objectsToProcess) { PurchaseOrder _locPurchaseOrderOS = (PurchaseOrder)_objectSpace.GetObject(obj); if (_locPurchaseOrderOS != null) { if (_locPurchaseOrderOS.Code != null) { _currObjectId = _locPurchaseOrderOS.Code; PurchaseOrder _locPurchaseOrderXPO = _currSession.FindObject <PurchaseOrder> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _currObjectId), new BinaryOperator("Status", Status.Progress))); if (_locPurchaseOrderXPO != null) { if (_locPurchaseOrderXPO.ProjectHeader != null) { _locProjectHeader = _locPurchaseOrderXPO.ProjectHeader; } DocumentType _locDocumentTypeXPO = _currSession.FindObject <DocumentType> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("DirectionType", DirectionType.External), new BinaryOperator("InventoryMovingType", InventoryMovingType.Receive), new BinaryOperator("ObjectList", ObjectList.InventoryTransfer), new BinaryOperator("DocumentRule", DocumentRule.Vendor), new BinaryOperator("Active", true), new BinaryOperator("Default", true))); if (_locDocumentTypeXPO != null) { _locDocCode = _globFunc.GetDocumentNumberingUnlockOptimisticRecord(_currSession.DataLayer, _locDocumentTypeXPO); if (_locDocCode != null) { InventoryTransfer _saveDataIT = new InventoryTransfer(_currSession) { DirectionType = _locDocumentTypeXPO.DirectionType, InventoryMovingType = _locDocumentTypeXPO.InventoryMovingType, ObjectList = _locDocumentTypeXPO.ObjectList, DocumentType = _locDocumentTypeXPO, DocNo = _locDocCode, EstimatedDate = _locPurchaseOrderXPO.EstimatedDate, PurchaseOrder = _locPurchaseOrderXPO, ProjectHeader = _locProjectHeader }; _saveDataIT.Save(); _saveDataIT.Session.CommitTransaction(); InventoryTransfer _locInventoryTransfer = _currSession.FindObject <InventoryTransfer> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("DocNo", _locDocCode), new BinaryOperator("PurchaseOrder", _locPurchaseOrderXPO), new BinaryOperator("ProjectHeader", _locProjectHeader))); if (_locInventoryTransfer != null) { XPCollection <PurchaseOrderLine> _locPurchaseOrderLines = new XPCollection <PurchaseOrderLine> (_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("PurchaseOrder", _locPurchaseOrderXPO), new BinaryOperator("Status", Status.Progress))); if (_locPurchaseOrderLines != null && _locPurchaseOrderLines.Count > 0) { foreach (PurchaseOrderLine _locPurchaseOrderLine in _locPurchaseOrderLines) { InventoryTransferLine _saveDataInventoryTransferLine = new InventoryTransferLine(_currSession) { Item = _locPurchaseOrderLine.Item, MxDQty = _locPurchaseOrderLine.DQty, MxDUOM = _locPurchaseOrderLine.DUOM, MxQty = _locPurchaseOrderLine.Qty, MxUOM = _locPurchaseOrderLine.UOM, MxTQty = _locPurchaseOrderLine.TQty, DQty = _locPurchaseOrderLine.DQty, DUOM = _locPurchaseOrderLine.DUOM, Qty = _locPurchaseOrderLine.Qty, UOM = _locPurchaseOrderLine.UOM, TQty = _locPurchaseOrderLine.TQty, EstimatedDate = _locInventoryTransfer.EstimatedDate, InventoryTransfer = _locInventoryTransfer }; _saveDataInventoryTransferLine.Save(); _saveDataInventoryTransferLine.Session.CommitTransaction(); //Change Status POL From Progress To Posted _locPurchaseOrderLine.Status = Status.Posted; _locPurchaseOrderLine.StatusDate = now; _locPurchaseOrderLine.Save(); _locPurchaseOrderLine.Session.CommitTransaction(); } } } } } //Change Status PO From Progress To Posted _locPurchaseOrderXPO.Status = Status.Posted; _locPurchaseOrderXPO.StatusDate = now; _locPurchaseOrderXPO.Save(); _locPurchaseOrderXPO.Session.CommitTransaction(); SuccessMessageShow(_locPurchaseOrderXPO, "Inventory Transfer"); } else { ErrorMessageShow("Data Purchase Order Not Available"); } } else { ErrorMessageShow("Data Purchase Order Not Available"); } } } } if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) { _objectSpace.CommitChanges(); _objectSpace.Refresh(); } if (View is ListView) { _objectSpace.CommitChanges(); View.ObjectSpace.Refresh(); } } catch (Exception ex) { Tracing.Tracer.LogError(" BusinessObject = PurchaseOrder " + ex.ToString()); } }