/// <summary>Handles entity Saved event.</summary> /// <param name="sender">Event sender.</param> /// <param name="e">The <see cref="T:Terrasoft.Core.Entities.EntityAfterEventArgs"/> instance containing the event data.</param> public override void OnSaved(object sender, EntityAfterEventArgs e) { base.OnSaved(sender, e); var entity = (Entity)sender; var userConnection = entity.UserConnection; if (!userConnection.GetIsFeatureEnabled("CalcFormulaOnSave")) { return; } if (_isSettingsChanged && _isFormulaColumn) { var forecastId = entity.GetTypedColumnValue <Guid>("SheetId"); IEnumerable <Guid> periodsId = GetPeriodsId(userConnection, forecastId); var calculator = ClassFactory.Get <IForecastCalculator>(ForecastConsts.FormulaColumnTypeName, new ConstructorArgument("userConnection", userConnection)); calculator.Calculate(new ForecastCalcParams(forecastId, periodsId)); } }
/// <summary> /// <see cref="BaseEntityEventListener.OnUpdated"/> /// </summary> public override void OnUpdated(object sender, EntityAfterEventArgs e) { base.OnUpdated(sender, e); var entity = (Entity)sender; Guid oldTokenId = entity.GetTypedOldColumnValue <Guid>("OAuthTokenStorageId"); Guid tokenId = entity.GetTypedColumnValue <Guid>("OAuthTokenStorageId"); string oldPassword = entity.GetTypedOldColumnValue <string>("UserPassword"); string password = entity.GetTypedColumnValue <string>("UserPassword"); if ((oldPassword.IsNotNullOrEmpty() && password.IsNullOrEmpty()) || (oldTokenId.IsNotEmpty() && tokenId.IsEmpty())) { var userConnection = entity.UserConnection; var managerFactory = ClassFactory.Get <IListenerManagerFactory>(); var manager = managerFactory.GetExchangeListenerManager(userConnection); try { manager.StopListener(entity.PrimaryColumnValue); } catch (Exception ex) { SendInfoToClient("SyncMsgLogger", entity, ex); } } }
public override void OnSaved(object sender, EntityAfterEventArgs e) { base.OnSaved(sender, e); var contact = (Entity)sender; var imageId = contact.GetTypedColumnValue <Guid>("PhotoId"); if (imageId == Guid.Empty) { var email = contact.GetTypedColumnValue <string>("Email"); var gravatar = AvatarFactory.CreateAvatarByEmail(email); byte[] gravatarImage = gravatar.GetImage(); var userConnection = contact.UserConnection; if (gravatarImage != null) { var newImage = new SysImage(userConnection); newImage.SetDefColumnValues(); newImage.SetBytesValue("Data", gravatarImage); newImage.SetColumnValue("Name", "FromGravatar"); newImage.Save(); contact.SetColumnValue("PhotoId", newImage.PrimaryColumnValue); contact.Save(); } } }
/// <summary> /// Handles entity Deleted event. /// </summary> /// <param name="sender">Event sender.</param> /// <param name="e">The <see cref="T:Terrasoft.Core.Entities.EntityAfterEventArgs" /> instance containing the /// event data.</param> public override void OnDeleted(object sender, EntityAfterEventArgs e) { base.OnDeleted(sender, e); var entity = (Entity)sender; if (!entity.UserConnection.GetIsFeatureEnabled("BulkESDeduplication")) { return; } try { var duplicatesRuleChecker = ClassFactory.Get <IDuplicatesRuleChecker>( new ConstructorArgument("userConnection", entity.UserConnection), new ConstructorArgument("duplicatesRuleRepository", ClassFactory.Get <IDuplicatesRuleRepository>()) ); if (duplicatesRuleChecker.GetIsDuplicationRuleExist(entity.Schema.UId)) { var deduplicateDeletion = ClassFactory.Get <IDuplicateDeletionManager>( new ConstructorArgument("userConnection", entity.UserConnection)); deduplicateDeletion.Delete(entity.SchemaName, new[] { entity.PrimaryColumnValue }); } } catch (Exception ex) { _log.Error("Deduplication. OnDeleted. Exception. ", ex); } }
public override void OnDeleted(object sender, EntityAfterEventArgs e) { base.OnDeleted(sender, e); Entity entity = (Entity)sender; UserConnection userConnection = entity.UserConnection; }
/// <inheritdoc cref="BaseEntityEventListener.OnDeleted"/> public override void OnDeleted(object sender, EntityAfterEventArgs e) { base.OnDeleted(sender, e); OnWorkplaceRightsChanged((Entity)sender, e); }
public override void OnUpdated(object sender, EntityAfterEventArgs e) { base.OnUpdated(sender, e); ChangeScheduledDuplicatesSearchSettings((Entity)sender); }
/// <summary> /// <see cref="BaseEntityEventListener.OnDeleted"/> /// </summary> public override void OnDeleted(object sender, EntityAfterEventArgs e) { base.OnDeleted(sender, e); Actualize(sender, EntityChangeType.Deleted); }
public override void OnDeleted(object sender, EntityAfterEventArgs e) { base.OnDeleted(sender, e); UpdateDuplicatesSearchJob((Entity)sender, false); }
/// <summary> /// <see cref="BaseEntityEventListener.OnDeleted"/> /// </summary> public override void OnDeleted(object sender, EntityAfterEventArgs e) { base.OnDeleted(sender, e); SyncEntity((Entity)sender, e, SyncAction.Delete); }
/// <inheritdoc cref="BaseEntityEventListener.OnInserted"/> public override void OnInserted(object sender, EntityAfterEventArgs e) { base.OnInserted(sender, e); ClearSectionRepositoryCache((Entity)sender, e); }
/// <inheritdoc /> public override void OnDeleted(object sender, EntityAfterEventArgs e) { base.OnDeleted(sender, e); ResetCache(sender); }
public override void OnSaved(object sender, EntityAfterEventArgs e) { base.OnSaved(sender, e); Store.Cache[CacheLevel.Application].ExpireGroup("ProfileDataCache"); }
public override void OnUpdated(object sender, EntityAfterEventArgs e) { base.OnUpdated(sender, e); ZoomAccountUser = (Entity)sender; UserConnection = ZoomAccountUser.UserConnection; }
/// <summary> /// <see cref="BaseEntityEventListener.OnUpdated(object, EntityAfterEventArgs)"/> /// </summary> public override void OnUpdated(object sender, EntityAfterEventArgs e) { base.OnUpdated(sender, e); RegisterSectionAsSsp((Entity)sender, e); }
private static bool IsChangedColumn(EntityAfterEventArgs entityAfterEventArgs, StageHistorySetting setting) { var column = entityAfterEventArgs?.ModifiedColumnValues?.FindByName(setting.StageColumnName + "Id"); return(column != null); }
public override void OnDeleted(object sender, EntityAfterEventArgs e) { base.OnDeleted(sender, e); Store.Cache[CacheLevel.Application].ExpireGroup("CustomProfileItemsCache"); }