public override void Persist() { if (Header.Cache.IsDirty && Detail.Select().Count == 0 && Header.Current != null) { throw new PXException(Messages.DimensionIsEmpty); } var dimension = Header.Current; if (dimension == null) { base.Persist(); } else { try { using (PXTransactionScope tscope = new PXTransactionScope()) { if (Header.Cache.GetStatus(dimension) != PXEntryStatus.Deleted) { InsertNumberingValue(Header.Current); CorrectChildDimensions(); } var oldLength = (short?)Header.Cache.GetValueOriginal <Dimension.length>(dimension); if (dimension.Length < oldLength) { if (dimension.DimensionID == "SUBACCOUNT") { CheckLongerSubKeysDoNotExist(dimension.Length); PXUpdate <Set <Sub.subCD, Substring <Sub.subCD, int1, CurrentValue <Dimension.length> > >, Sub> .Update(this); } ValidateDimensionForKeyDuplication(dimension); } PXDimensionAttribute.Clear(); base.Persist(); Header.Current = dimension; PXDimensionAttribute.Clear(); tscope.Complete(); } } catch (PXDatabaseException e) { if (e.ErrorCode == PXDbExceptions.DeleteForeignKeyConstraintViolation) { throw new PXException(Messages.SegmentHasValues, e.Keys[1]); } throw; } } PXPageCacheUtils.InvalidateCachedPages(); }
public void Persist(PersistDelegate baseMethod) { baseMethod(); // We need to reset Slots and Cache after the values may change. PXDatabase.ResetSlots(); PXPageCacheUtils.InvalidateCachedPages(); }
public override void Persist() { WebDialogResult result = Setup.Ask(ActionsMessages.Warning, PXMessages.LocalizeFormatNoPrefix("Saving will modify instance behavior"), MessageButtons.OKCancel, MessageIcon.Warning, true); // //checking answer if (result == WebDialogResult.OK) { base.Persist(); PXDatabase.ResetSlots(); PXPageCacheUtils.InvalidateCachedPages(); this.Clear(); throw new PXRefreshException(); } }
public virtual void GLWorkBook_RowPersisting(PXCache sender, PXRowPersistingEventArgs e) { GLWorkBook row = e.Row as GLWorkBook; if (row != null) { if (!IsSupported(row)) { sender.RaiseExceptionHandling <GLWorkBook.docType>(row, row.DocType, new PXSetPropertyException(Messages.DocumentTypeIsNotSupportedYet, PXErrorLevel.Error)); } Boolean result = _screenToSiteMapAddHelper.DeleteObsoleteSiteMapNode(row, e.Operation); IsSiteMapAltered = result ? result : IsSiteMapAltered; PXPageCacheUtils.InvalidateCachedPages(); } }
public override void Persist() { if (Header.Cache.IsDirty && Detail.Select().Count == 0 && Header.Current != null) { throw new PXException(Messages.DimensionIsEmpty); } var current = Header.Current; if (current == null) { base.Persist(); } else { try { if (Header.Cache.GetStatus(current) != PXEntryStatus.Deleted) { InsertNumberingValue(Header.Current); CorrectChildDimensions(); } if (Header.Current.DimensionID == IN.SubItemAttribute.DimensionName) { ValidateSubItems(); } PXDimensionAttribute.Clear(); base.Persist(); Header.Current = current; PXDimensionAttribute.Clear(); } catch (PXDatabaseException e) { if (e.ErrorCode == PXDbExceptions.DeleteForeignKeyConstraintViolation) { throw new PXException(Messages.SegmentHasValues, e.Keys[1]); } throw; } } PXPageCacheUtils.InvalidateCachedPages(); }
public IEnumerable requestValidation(PXAdapter adapter) { foreach (FeaturesSet feature in adapter.Get()) { if (feature.Status == 3) { FeaturesSet update = PXCache <FeaturesSet> .CreateCopy(feature); update.Status = 0; update = this.Features.Update(update); this.Features.Delete(feature); if (update.Status != 1) { this.Features.Delete(new FeaturesSet() { Status = 1 }); } this.Persist(); yield return(update); } else { yield return(feature); } } PXDatabase.ResetSlots(); PXPageCacheUtils.InvalidateCachedPages(); this.Clear(); throw new PXRedirectToUrlException(@"~\Main.aspx$target=_top", PXBaseRedirectException.WindowMode.Same, Messages.RefreshSettings); }
public override void ClearDependencies() { PXDatabase.SelectTimeStamp(); PXPageCacheUtils.InvalidateCachedPages(); }
protected virtual void _(Events.FieldUpdated <PMSetup, PMSetup.costCommitmentTracking> e) { PXPageCacheUtils.InvalidateCachedPages(); }
public IEnumerable requestValidation(PXAdapter adapter) { foreach (FeaturesSet feature in adapter.Get()) { if (feature.Status == 3) { bool? customerDiscountsOld = PXAccess.FeatureInstalled <FeaturesSet.customerDiscounts>(); bool? branchOld = PXAccess.FeatureInstalled <FeaturesSet.branch>(); PXCache cache = new PXCache <FeaturesSet>(this); FeaturesSet update = PXCache <FeaturesSet> .CreateCopy(feature); update.Status = 0; update = this.Features.Update(update); this.Features.Delete(feature); if (update.Status != 1) { this.Features.Delete(new FeaturesSet() { Status = 1 }); } this.Persist(); PXAccess.Version++; var tasks = PXSelect <WZTask> .Select(this); WZTaskEntry taskGraph = CreateInstance <WZTaskEntry>(); foreach (WZTask task in tasks) { bool disableTask = false; bool enableTask = false; foreach ( WZTaskFeature taskFeature in PXSelectReadonly <WZTaskFeature, Where <WZTaskFeature.taskID, Equal <Required <WZTask.taskID> > > > .Select( this, task.TaskID)) { bool featureInstalled = (bool?)cache.GetValue(update, taskFeature.Feature) == true; if (!featureInstalled) { disableTask = true; enableTask = false; break; } enableTask = true; } if (disableTask) { task.Status = WizardTaskStatusesAttribute._DISABLED; taskGraph.TaskInfo.Update(task); taskGraph.Save.Press(); } if (enableTask && task.Status == WizardTaskStatusesAttribute._DISABLED) { bool needToBeOpen = false; WZScenario scenario = PXSelect <WZScenario, Where <WZScenario.scenarioID, Equal <Required <WZTask.scenarioID> > > > .Select(this, task.ScenarioID); if (scenario != null && scenario.Status == WizardScenarioStatusesAttribute._ACTIVE) { WZTask parentTask = PXSelect <WZTask, Where <WZTask.taskID, Equal <Required <WZTask.parentTaskID> > > > .Select( this, task.ParentTaskID); if (parentTask != null && (parentTask.Status == WizardTaskStatusesAttribute._OPEN || parentTask.Status == WizardTaskStatusesAttribute._ACTIVE)) { needToBeOpen = true; } foreach ( PXResult <WZTaskPredecessorRelation, WZTask> predecessorResult in PXSelectJoin <WZTaskPredecessorRelation, InnerJoin <WZTask, On <WZTask.taskID, Equal <WZTaskPredecessorRelation.predecessorID> > >, Where <WZTaskPredecessorRelation.taskID, Equal <Required <WZTask.taskID> > > > . Select(this, task.TaskID)) { WZTask predecessorTask = (WZTask)predecessorResult; if (predecessorTask != null) { if (predecessorTask.Status == WizardTaskStatusesAttribute._COMPLETED) { needToBeOpen = true; } else { needToBeOpen = false; break; } } } } task.Status = needToBeOpen ? WizardTaskStatusesAttribute._OPEN : WizardTaskStatusesAttribute._PENDING; taskGraph.TaskInfo.Update(task); taskGraph.Save.Press(); } } if (customerDiscountsOld == true && update.CustomerDiscounts != true) { PXUpdate <Set <ARSetup.applyLineDiscountsIfCustomerPriceDefined, True>, ARSetup> .Update(this); PXUpdate <Set <ARSetup.applyLineDiscountsIfCustomerClassPriceDefined, True>, ARSetup> .Update(this); PXUpdate <Set <SOOrderType.recalculateDiscOnPartialShipment, False, Set <SOOrderType.postLineDiscSeparately, False> >, SOOrderType> .Update(this); } if (branchOld != update.Branch) { PXUpdate <Set <ListEntryPoint.isActive, Required <ListEntryPoint.isActive> >, ListEntryPoint, Where <ListEntryPoint.entryScreenID, Equal <Required <ListEntryPoint.entryScreenID> > > > .Update(this, update.Branch == true, "CS101500"); } yield return(update); } else { yield return(feature); } } bool needRefresh = !(ActivationBehaviour.Current != null && ActivationBehaviour.Current.Refresh == false); PXDatabase.ResetSlots(); PXPageCacheUtils.InvalidateCachedPages(); this.Clear(); if (needRefresh) { throw new PXRefreshException(); } }