public virtual PipeMillSizeType Clone() { PipeMillSizeType clone = new PipeMillSizeType(); var tests = new List <PipeTest>(); foreach (var item in this.PipeTests) { tests.Add(new PipeTest() { Category = item.Category, Code = item.Code, Name = item.Name, MinExpected = item.MinExpected, MaxExpected = item.MaxExpected, StringExpected = item.StringExpected, BoolExpected = item.BoolExpected, IsRequired = item.IsRequired, pipeType = clone, ControlType = item.ControlType, ResultType = item.ResultType, IsActive = item.IsActive }); } clone.Type = this.Type + " Copy"; clone.PipeTests = new BindingList <PipeTest>(tests); clone.IsActive = this.IsActive; clone.Diameter = this.Diameter; clone.Thickness = this.Thickness; clone.Length = this.Length; clone.SeamType = this.SeamType; return(clone); }
public SizeTypeObject(PipeMillSizeType sizeType) { this.Id = sizeType.Id; this.IsActive = sizeType.IsActive; this.Type = sizeType.Type; this.Length = sizeType.Length; this.Diameter = sizeType.Diameter; this.Thickness = sizeType.Thickness; this.SeamType = sizeType.SeamType; this.Project = sizeType.Project; }
private void pipeSize_SelectedIndexChanged(object sender, EventArgs e) { ComboBoxEdit cb = sender as ComboBoxEdit; Prizm.Domain.Entity.Setup.PipeMillSizeType currentPipeType = cb.SelectedItem as Prizm.Domain.Entity.Setup.PipeMillSizeType; RefreshPipeTest(currentPipeType); if (currentPipeType != null) { viewModel.CurrentType = currentPipeType; } }
public virtual PipeMillSizeType Clone() { PipeMillSizeType clone = new PipeMillSizeType(); var tests = new List<PipeTest>(); foreach(var item in this.PipeTests) { tests.Add(new PipeTest() { Category = item.Category, Code = item.Code, Name = item.Name, MinExpected = item.MinExpected, MaxExpected = item.MaxExpected, StringExpected = item.StringExpected, BoolExpected = item.BoolExpected, FrequencyType = item.FrequencyType, pipeType = clone, ControlType = item.ControlType, ResultType = item.ResultType, IsActive = item.IsActive }); } clone.Type = this.Type + " Copy"; clone.PipeTests = new BindingList<PipeTest>(tests); clone.IsActive = this.IsActive; clone.Diameter = this.Diameter; clone.Thickness = this.Thickness; clone.Length = this.Length; clone.SeamType = this.SeamType; clone.IsNative = this.IsNative; clone.Project = this.Project; return clone; }
private void pipesSizeListGridView_InitNewRow(object sender, InitNewRowEventArgs e) { viewModel.ModifiableView.UpdateState(); GridView v = sender as GridView; CurrentPipeMillSizeType = v.GetRow(e.RowHandle) as PipeMillSizeType; CurrentPipeMillSizeType.IsActive = true; CurrentPipeMillSizeType.IsNative = true; CurrentPipeMillSizeType.Project = viewModel.CurrentProjectSettings; CurrentPipeMillSizeType.SeamType = new SeamType() { IsNative = true, Project = viewModel.CurrentProjectSettings }; if (CurrentPipeMillSizeType != null) { viewModel.UpdatePipeTests(CurrentPipeMillSizeType); } foreach (Prizm.Domain.Entity.Mill.Category c in viewModel.CategoryTypes) { if (c.Fixed && c.Type == FixedCategory.Length) { CurrentPipeMillSizeType.PipeTests.Add(new PipeTest { Category = c, ResultType = PipeTestResultType.Diapason, pipeType = CurrentPipeMillSizeType, FrequencyType = InspectionFrequencyType.R }); } } }
private void pipesSizeListGridView_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { //save previous IsModified state bool wasModified = IsModified; GridView view = sender as GridView; object sizeType = view.GetRow(view.FocusedRowHandle); var eArg = new DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs( view.FocusedRowHandle, pipesSizeListGridView.GetDataRow(view.FocusedRowHandle) ); pipesSizeListGridView_ValidateRow(pipesSizeListGridView, eArg); if (sizeType != null) { viewModel.UpdatePipeTests(sizeType); } CurrentPipeMillSizeType = sizeType as PipeMillSizeType; viewModel.CurrentPipeMillSizeType = CurrentPipeMillSizeType; viewModel.ModifiableView.UpdateState(); // IsModified state depends on previous state despite all properties were changed (prevent *) IsModified = (wasModified) ? true : false; }
/// <summary> /// Creates predefined pipe test result for all active required availableTests for concrete pipe mill size type /// </summary> /// <param name="millSizeType"></param> public BindingList<PipeTestResult> GetRequired(PipeMillSizeType millSizeType) { BindingList<PipeTestResult> requiredTestResults = new BindingList<PipeTestResult>(); var criteria = NHibernate.Criterion.DetachedCriteria .For<PipeTest>() .Add(Restrictions.Eq("FrequencyType", InspectionFrequencyType.R)) .Add(Restrictions.Eq("pipeType", millSizeType)) .Add(Restrictions.Eq("IsActive", true)); IList<PipeTest> requiredTests = repoMill.RepoPipeTest.GetByCriteria(criteria); GetAvailableTests(); foreach(var requiredTest in requiredTests) { PipeTestResult requiredResult = new PipeTestResult() { Operation = requiredTest, IsActive = true, Status = PipeTestResultStatus.Scheduled, Pipe = Pipe, Inspectors = new BindingList<Prizm.Domain.Entity.Inspector>() }; requiredTestResults.Add(requiredResult); requiredResult.Order++; } return requiredTestResults; }
public void NewPipe() { try { currentType = new PipeMillSizeType() { IsNative = true, Project = this.Project }; extractPurchaseOrderCommand.Execute(); extractHeatsCommand.Execute(); extractPipeTypeCommand.Execute(); this.Pipe = new Pipe(); this.PipePurchaseOrder = null; this.Heat = null; this.PlateNumber = string.Empty; this.Pipe.IsActive = true; this.Pipe.IsAvailableToJoint = true; this.Pipe.Status = PipeMillStatus.Produced; this.Pipe.ConstructionStatus = Domain.Entity.Construction.PartConstructionStatus.Pending; this.Pipe.InspectionStatus = Domain.Entity.Construction.PartInspectionStatus.Pending; this.Pipe.Project = repoMill.RepoProject.GetSingle(); this.Number = string.Empty; this.Mill = string.Empty; this.WallThickness = 0; this.Weight = 0; this.Length = 0; this.Diameter = 0; this.PipeTestResults = new BindingList<PipeTestResult>(); if(this.FilesFormViewModel != null) { this.FilesFormViewModel.Files = null; } this.Pipe.Mill = mill; this.Pipe.ToExport = false; PipeNotifier = NotificationService.Instance.NotRequiredOperationManager.CreateNotifier(Pipe); SelectiveOperationPipeNotifier = NotificationService.Instance.SelectiveOperationManager.CreateNotifier(Pipe); } catch(RepositoryException ex) { log.Warn(this.GetType().Name + " | " + ex.ToString()); notify.ShowWarning(Program.LanguageManager.GetString(StringResources.Notification_Error_Db_Message), Program.LanguageManager.GetString(StringResources.Notification_Error_Db_Header)); } }
/// <summary> ///Refreshes list of required pipe test /// </summary> private void RefreshPipeTest(PipeMillSizeType currentPipeType) { if(currentPipeType != null && viewModel.Pipe.Type != currentPipeType) { viewModel.PipeMillSizeType = currentPipeType; viewModel.PipeTestResults = viewModel.GetRequired(currentPipeType); viewModel.Pipe.PipeTestResult = viewModel.PipeTestResults; inspectionCodeLookUpEdit.DataSource = viewModel.AvailableTests; viewModel.listOfInspectors = new List<KeyValuePair<string, object>>(); inspections.RefreshDataSource(); } viewModel.PipeMillSizeType = pipeSize.SelectedItem as PipeMillSizeType; commandManager.RefreshVisualState(); }
public void TestSaveSettings() { var notify = new Mock<IUserNotify>(); var repoPipeSize = new Mock<IMillPipeSizeTypeRepository>(); var repoPipeTests = new Mock<IPipeTestRepository>(); var repoWelders = new Mock<IWelderRepository>(); var repoInspectors = new Mock<IInspectorRepository>(); var repoManufacturers = new Mock<IPlateManufacturerRepository>(); var repoProjectSetting = new Mock<IProjectRepository>(); var repoUsers = new Mock<IUserRepository>(); var repoRoles = new Mock<IRoleRepository>(); var repoPerms = new Mock<IPermissionRepository>(); var repoCategory = new Mock<ICategoryRepository>(); var repoJointOperation = new Mock<IJointOperationRepository>(); var repoCertificateType = new Mock<ICertificateTypeRepository>(); var repoComponentType = new Mock<IComponentTypeRepository>(); var repoSeamType = new Mock<ISeamTypeRepository>(); var testProjectSetting = new Project() { IsNative = true}; var testSizeType = new PipeMillSizeType() { IsNative = true, Project = testProjectSetting, Diameter = 10, Thickness = 5, SeamType = new SeamType(), Length = 20, }; foreach (PipeTest t in testSizeType.PipeTests) { t.Code = "Code"; t.Name = "Name"; t.ControlType = PipeTestControlType.Monitor; t.ResultType = PipeTestResultType.Boolean; } var testWelder = new Welder() { Certificate = new Certificate() { ExpirationDate = DateTime.Now} }; var testManufacturer = new PlateManufacturer() { IsNative = true, Project = testProjectSetting}; var testInspector = new Inspector(); var testUser = new User(); var testRole = new Role(); var testPerm = new Permission() { Name = "CreateJoint" }; var modifiableView = new Mock<IModifiable>(); var jointOperations = new JointOperation(); var ctx = new Mock<ISecurityContext>(); repoPipeSize.Setup(_ => _.GetAll()).Returns(new List<PipeMillSizeType>() { testSizeType }); repoWelders.Setup(_ => _.GetAll()).Returns(new List<Welder>() { testWelder }); repoManufacturers.Setup(_ => _.GetAll()).Returns(new List<PlateManufacturer>() { testManufacturer }); repoProjectSetting.Setup(_ => _.GetSingle()).Returns(testProjectSetting); repoInspectors.Setup(_ => _.GetAll()).Returns(new List<Inspector>() { testInspector }); repoUsers.Setup(_ => _.GetAll()).Returns(new List<User>() { testUser }); repoRoles.Setup(_ => _.GetAll()).Returns(new List<Role>() { testRole }); repoPerms.Setup(_ => _.GetAll()).Returns(new List<Permission>() { testPerm }); repoJointOperation.Setup(_ => _.GetAll()).Returns(new List<JointOperation>() { jointOperations }); repoCategory.Setup(x => x.GetAll()).Returns(new List<Category>() { new Category() }); repoCertificateType.Setup(x => x.GetAll()).Returns(new List<InspectorCertificateType>() { new InspectorCertificateType() }); repoComponentType.Setup(x => x.GetAll()).Returns(new List<ComponentType>() { new ComponentType() }); Mock<ISettingsRepositories> settingsRepos = new Mock<ISettingsRepositories>(); settingsRepos.SetupGet(_ => _.PipeSizeTypeRepo).Returns(repoPipeSize.Object); settingsRepos.SetupGet(_ => _.PipeTestRepo).Returns(repoPipeTests.Object); settingsRepos.SetupGet(_ => _.WelderRepo).Returns(repoWelders.Object); settingsRepos.SetupGet(_ => _.PlateManufacturerRepo).Returns(repoManufacturers.Object); settingsRepos.SetupGet(_ => _.ProjectRepo).Returns(repoProjectSetting.Object); settingsRepos.SetupGet(_ => _.InspectorRepo).Returns(repoInspectors.Object); settingsRepos.SetupGet(_ => _.UserRepo).Returns(repoUsers.Object); settingsRepos.SetupGet(_ => _.RoleRepo).Returns(repoRoles.Object); settingsRepos.SetupGet(_ => _.PermissionRepo).Returns(repoPerms.Object); settingsRepos.SetupGet(_ => _.JointRepo).Returns(repoJointOperation.Object); settingsRepos.SetupGet(x => x.СategoryRepo).Returns(repoCategory.Object); settingsRepos.SetupGet(x => x.CertificateTypeRepo).Returns(repoCertificateType.Object); settingsRepos.SetupGet(x => x.ComponentTypeRepo).Returns(repoComponentType.Object); settingsRepos.SetupGet(x => x.SeamTypeRepo).Returns(repoSeamType.Object); var viewModel = new SettingsViewModel(settingsRepos.Object, notify.Object, ctx.Object); viewModel.ModifiableView = modifiableView.Object; viewModel.LoadData(); viewModel.ModifiableView = modifiableView.Object; var validatable = new Mock<IValidatable>(); validatable.Setup(x => x.Validate()).Returns(true); viewModel.validatableView = validatable.Object; var command = new SaveSettingsCommand(viewModel, settingsRepos.Object, notify.Object, ctx.Object); command.Execute(); settingsRepos.Verify(_ => _.BeginTransaction(), Times.Once()); repoPipeSize.Verify(_ => _.SaveOrUpdate(testSizeType), Times.Once()); settingsRepos.Verify(_ => _.Commit(), Times.Once()); repoPipeSize.Verify(_ => _.Evict(testSizeType), Times.Once()); repoWelders.Verify(_ => _.SaveOrUpdate(testWelder), Times.Once()); repoWelders.Verify(_ => _.Evict(testWelder), Times.Once()); repoManufacturers.Verify(_ => _.SaveOrUpdate(testManufacturer), Times.Once()); repoManufacturers.Verify(_ => _.Evict(testManufacturer), Times.Once()); repoProjectSetting.Verify(_ => _.SaveOrUpdate(testProjectSetting), Times.Once()); repoProjectSetting.Verify(_ => _.Evict(testProjectSetting), Times.Once()); repoInspectors.Verify(_ => _.SaveOrUpdate(testInspector), Times.Once()); repoInspectors.Verify(_ => _.Evict(testInspector), Times.Once()); repoUsers.Verify(_ => _.SaveOrUpdate(testUser), Times.Once()); repoUsers.Verify(_ => _.Evict(testUser), Times.Once()); repoRoles.Verify(_ => _.SaveOrUpdate(testRole), Times.Once()); repoRoles.Verify(_ => _.Evict(testRole), Times.Once()); }