public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); Entity entity = (Entity)sender; UserConnection userConnection = entity.UserConnection; string newName = entity.GetTypedColumnValue <string>("Name"); string oldName = entity.GetTypedOldColumnValue <string>("Name"); EntityValidationMessage evm = new EntityValidationMessage { Column = entity.Schema.Columns.FindByName("Name"), MassageType = Terrasoft.Common.MessageType.Error, Text = "Error validation from clio" }; entity.ValidationMessages.Add(evm); if (newName.Contains("Andrew ")) { e.IsCanceled = true; } //entity.SetColumnValue("Notes", $"Old:{oldName} - New:{newName}"); }
public override void OnUpdating(object sender, EntityBeforeEventArgs e) { base.OnUpdating(sender, e); _zoomAccounts = (Entity)sender; _userConnection = _zoomAccounts.UserConnection; string ApiKey = _zoomAccounts.GetTypedColumnValue <String>("ApiKey"); string ApiSecret = _zoomAccounts.GetTypedColumnValue <String>("ApiSecret"); if (ApiSecret.Length < 17) { LocalizableString s = GetLocalizableString("ExceptionErrorMessage"); throw new Exception(s); } else { Guid Id = _zoomAccounts.GetTypedColumnValue <Guid>("Id"); GetAccountUsers(ApiKey, ApiSecret); var delete = new Delete(_userConnection) .From("ZoomAccountUser") .Where("ZoomAccountId").IsEqual(Column.Parameter(Id)) .Execute(); InsertZoomUsers(Id); if (ErrorCode != 0) { e.IsCanceled = true; //throw new Exception(GetLocalizableString("NoNewUsersWereAdded")); } } }
/// <inheritdoc /> public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); var entity = (Entity)sender; SetOpportunityWinner(entity); }
public override void OnDeleting(object sender, EntityBeforeEventArgs e) { base.OnDeleting(sender, e); var entity = (Entity)sender; ClearStageLookupCache(entity); }
public override void OnSaving(object sender, EntityBeforeEventArgs e) { //Calling CreateSOAPWebRequest method test123 HttpWebRequest request = CreateSOAPWebRequest(); string val = ""; //Geting response from request using (WebResponse Serviceres = request.GetResponse()) { using (StreamReader rd = new StreamReader(Serviceres.GetResponseStream())) { //reading stream var ServiceResult = rd.ReadToEnd(); //var myDetails = JsonConvert.DeserializeObject<MyDetail>(ServiceResult); var myDetails = JObject.Parse(ServiceResult); val = (string)myDetails["rates"]["AED"]; } } base.OnSaving(sender, e); Entity entity = (Entity)sender; entity.SetColumnValue("UsrNotes1", $"Currency Value {val}"); entity.Save(); }
public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); Entity entity = (Entity)sender; UserConnection userConnection = entity.UserConnection; string oldValue = entity.GetTypedOldColumnValue <string>("Name"); string newValue = entity.GetTypedColumnValue <string>("Name"); if (!newValue.StartsWith("A")) { newValue = "A" + newValue; entity.SetColumnValue("Name", newValue); entity.Save(); string msg = "Name did not start with an A, so I prefixed an A"; //e.IsCanceled = true; //string msg = "Save canceled because name did not start with an A"; _log.Info(msg); } string message = $"Changing name from {oldValue} to {newValue}"; _log.Info(message); }
/// <summary> /// Handles entity Saving event. /// </summary> /// <param name="sender">Event sender.</param> /// <param name="e">The <see cref="T:Terrasoft.Core.Entities.EntityBeforeEventArgs" /> instance containing the /// event data.</param> public override void OnSaving(object sender, EntityBeforeEventArgs e) { var entity = (Entity)sender; FlushDataIsolationHelperCache(entity.UserConnection); base.OnSaving(sender, e); }
/// <summary>Hadles entity Deleting event.</summary> /// <param name="sender">Event sender.</param> /// <param name="e">The <see cref="T:Terrasoft.Core.Entities.EntityBeforeEventArgs" /> /// instance containing the event data.</param> public override void OnDeleting(object sender, EntityBeforeEventArgs e) { base.OnDeleting(sender, e); var entity = (Entity)sender; ClearCache(entity.UserConnection, entity.PrimaryColumnValue); }
public override void OnInserting(object sender, EntityBeforeEventArgs e) { base.OnInserting(sender, e); var entity = (Entity)sender; var userConnection = entity.UserConnection; SetContactNameAndEmail(entity, userConnection); }
/// <inheritdoc /> public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); var entity = (Entity)sender; _userConnection = entity.UserConnection; UpdateMainContactColumn(entity); }
public override void OnDeleting(object sender, EntityBeforeEventArgs e) { base.OnDeleting(sender, e); Entity entity = (Entity)sender; UserConnection userConnection = entity.UserConnection; e.IsCanceled = true; }
/// <inheritdoc cref="BaseEntityEventListener.OnUpdating"/> public override void OnUpdating(object sender, EntityBeforeEventArgs e) { base.OnUpdating(sender, e); var productEntity = (Entity)sender; UserConnection userConnection = productEntity.UserConnection; HandleEntitiesMerge(userConnection, productEntity, GetBasePrices, FindBasePrice); HandleEntitiesMerge(userConnection, productEntity, GetBaseUnits, FindBaseUnit); }
public override void OnDeleting(object sender, EntityBeforeEventArgs e) { base.OnDeleting(sender, e); var entity = (Entity)sender; var userConnection = entity.UserConnection; //TODO your business logic }
/// <summary> /// <see cref="BaseEntityEventListener.OnDeleting"/> /// </summary> public override void OnDeleting(object sender, EntityBeforeEventArgs e) { base.OnDeleting(sender, e); var entity = (Entity)sender; var userConnection = entity.UserConnection; var managerFactory = ClassFactory.Get <IListenerManagerFactory>(); var manager = managerFactory.GetExchangeListenerManager(userConnection); manager.StopListener(entity.PrimaryColumnValue); }
public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); var entity = (Entity)sender; var userConnection = entity.UserConnection; // Канал направления ответа //SetDirectionChannel(entity); SetICLActualResolutionTime(entity); }
public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); Entity activity = (Entity)sender; UserConnection = activity.UserConnection; bool IsZoom = activity.GetTypedColumnValue <bool>("CreateZoomMeeting"); string M = activity.GetTypedColumnValue <String>("MeetingId"); if (IsZoom && String.IsNullOrEmpty(M)) { ZoomMeetingApi zm = new ZoomMeetingApi(UserConnection); DateTime startDate = activity.GetTypedColumnValue <DateTime>("StartDate"); TimeSpan offset = UserConnection.CurrentUser.TimeZone.GetUtcOffset(startDate); /* * DateTime Return in Users LocalTime this need to convert to UTC */ string zoomStart = startDate.Add(-offset).ToString("yyyy-MM-ddTHH:mm:ssZ"); DateTime Due = activity.GetTypedColumnValue <DateTime>("DueDate"); int Duration = (int)Due.Subtract(startDate).TotalMinutes; Guid TimeZoneId = activity.GetTypedColumnValue <Guid>("TimeZoneId"); if (TimeZoneId == Guid.Empty) { // _userConnection.CurrentUser.TimeZoneId = "Eastern" Guid g = IdValue("TimeZone", "Code", UserConnection.CurrentUser.TimeZoneId); TimeZoneId = g; } string ZoomTimeZone = FindZoomTimeZone(TimeZoneId); string topic = activity.GetTypedColumnValue <String>("Title"); string agenda = activity.GetTypedColumnValue <String>("Notes"); MeetingRequest mr = new MeetingRequest(PredifinedMeetings.Certification, topic, agenda, zoomStart, Duration, ZoomTimeZone); zm.CreateZoomMeeting(mr); /* * Update activity after creating a meeting */ activity.SetColumnValue("MeetingId", zm.mResponse.Id); activity.SetColumnValue("MeetingUUID", zm.mResponse.Uuid); activity.SetColumnValue("StartUrl", zm.mResponse.StartUrl); activity.SetColumnValue("JoinUrl", zm.mResponse.JoinUrl); activity.SetColumnValue("RegistrationUrl", zm.mResponse.RegistrationUrl); activity.SetColumnValue("HostId", zm.mResponse.HostId); activity.SetColumnValue("AlternativeHosts", zm.mResponse.Settings.AlternativeHosts); SendMessageToUi(activity.GetTypedColumnValue <Guid>("Id"), "Meeting Created"); } }
public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); Entity entity = (Entity)sender; UserConnection UserConnection = entity.UserConnection; var descOld = entity.GetTypedOldColumnValue <string>("Description"); var descNew = entity.GetTypedColumnValue <string>("Description"); _log.Info($"Old Value:{descOld}\tNew Value:{descNew}"); }
/// <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 OnInserting(object sender, EntityBeforeEventArgs e) { base.OnInserting(sender, e); var entity = (Entity)sender; var userConnection = entity.UserConnection; Dictionary <string, string> requiredSettings = CheckAndLoadRequiredSysSettings(userConnection, new string[] { IdentityAddressSettingsName, ClientIdSettingsName, ClientSecretSettingsName }); var resourceName = entity.PrimaryColumnValue.ToString(); var expirationDate = entity.GetTypedColumnValue <DateTime>("DueDate"); var endOfExpirationDateDay = expirationDate.Date.AddDays(1).AddTicks(-1); var userContactId = entity.GetTypedColumnValue <Guid>("GrantorId"); var userId = LoadUserId(userConnection, userContactId); CheckGrantor(userConnection, userId); EntitySchemaColumn grantorColumn = entity.Schema.FindSchemaColumnByPath("Grantor"); EntitySchemaColumn accessClientColumn = entity.Schema.FindSchemaColumnByPath("ExternalAccessClient"); entity.LoadLookupDisplayValues(new EntitySchemaColumn[] { grantorColumn, accessClientColumn }); string granteeClientId = entity.GetColumnDisplayValue(accessClientColumn); var userName = entity.GetColumnDisplayValue(grantorColumn); var reason = entity.GetTypedColumnValue <string>("AccessReason"); var reasonMessage = $"Granted by: {userName}, reason: {reason}"; ITempAccessProxy tempAccessProxy = GetTempAccessProxy(requiredSettings); string errorMessage = null; Exception accessGrantException = null; try { tempAccessProxy.GrantAccess(resourceName, reasonMessage, endOfExpirationDateDay, userId, new[] { granteeClientId }); _log.Info($"Succesfully granted access by userId {userContactId} with reason: {reason}"); } catch (ApiServerException ex) { errorMessage = new LocalizableString(userConnection.ResourceStorage, "ExternalAccessListener", "LocalizableStrings.AccessServerErrorMessage.Value").ToString(); accessGrantException = ex; } catch (ApiServerConnectivityException ex) { var errorTemplate = new LocalizableString(userConnection.ResourceStorage, "ExternalAccessListener", "LocalizableStrings.ConnectivityErrorMessage.Value").ToString(); errorMessage = string.Format(errorTemplate, requiredSettings[IdentityAddressSettingsName]); accessGrantException = ex; } catch (Exception ex) { errorMessage = $"Unexpected error during grant access by userId {userContactId}"; accessGrantException = ex; } if (accessGrantException != null) { e.IsCanceled = true; _log.Error($"Error during grant access by userId {userContactId}: {accessGrantException}"); NotifyClientAboutException(userConnection, accessGrantException); throw new GrantExternalAccessException(errorMessage); } }
/// <summary> /// <see cref="BaseEntityEventListener.OnInserting"/> /// </summary> public override void OnInserting(object sender, EntityBeforeEventArgs e) { base.OnInserting(sender, e); var entity = (Entity)sender; if (IsNumberEmpty(entity)) { var sequenseNumber = GenerateSequenseNumber(entity); entity.SetColumnValue("Number", sequenseNumber); } }
/// <summary> /// Handles entity Saving 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 OnSaving(object sender, EntityBeforeEventArgs e) { Entity prmTransactionEntity = (Entity)sender; Guid partnershipId = prmTransactionEntity.GetTypedColumnValue <Guid>("PartnershipId"); if (partnershipId == Guid.Empty) { TransactionEnricher transactionEnricher = new TransactionEnricher(prmTransactionEntity.UserConnection); transactionEnricher.EnrichTransactionWithPartnership(prmTransactionEntity); } base.OnSaving(sender, e); }
// Обработчик события перед сохранением записи. public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); // Экземпляр класса для асинхронного выполнения. var asyncExecutor = ClassFactory.Get <IEntityEventAsyncExecutor>(); // Параметры для асинхронного выполнения. var operationArgs = new EntityEventAsyncOperationArgs((Entity)sender, e); // Выполнение в асинхронном режиме. asyncExecutor.ExecuteAsync <OnSavingAsync>(operationArgs); }
public override void OnInserting(object sender, EntityBeforeEventArgs e) { var entity = (Entity)sender; var userConnection = entity.UserConnection; var entitySchema = entity.Schema; var numberGeneration = GenerateCode(userConnection); if (string.IsNullOrEmpty(entity.GetTypedColumnValue <string>("UsrCodeString"))) { entity.SetColumnValue("UsrCodeString", numberGeneration); } base.OnInserting(sender, e); }
public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); var entity = (Entity)sender; if (!(entity is null)) { var userConnection = entity?.UserConnection; if (!CheckRulesDbExecutor(userConnection, entity)) { e.IsCanceled = true; } } }
/// <summary> /// <see cref="BaseEntityEventListener.OnDeleting"/> /// </summary> public override void OnDeleting(object sender, EntityBeforeEventArgs e) { base.OnDeleting(sender, e); var entity = (Entity)sender; 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 OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); Entity entity = (Entity)sender; UserConnection userConnection = entity.UserConnection; string oldValue = entity.GetTypedOldColumnValue <string>("Name"); string newValue = entity.GetTypedColumnValue <string>("Name"); if (oldValue != newValue) { //e.IsCanceled = true; } }
/// <summary> /// Handles entity Saving event. /// </summary> /// <param name="sender">Event sender.</param> /// <param name="e">The <see cref="T:Terrasoft.Core.Entities.EntityBeforeEventArgs" /> instance containing the event data.</param> public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); var entity = (Entity)sender; var userConnection = entity.UserConnection; if (!userConnection.GetIsFeatureEnabled("CalcFormulaOnSave")) { return; } var columnType = entity.GetTypedColumnValue <Guid>("TypeId"); _isSettingsChanged = IsSettingsChanged(entity); _isFormulaColumn = columnType.Equals(ForecastConsts.FormulaColumnTypeId); }
public override void OnDeleting(object sender, EntityBeforeEventArgs e) { base.OnDeleting(sender, e); Entity activity = (Entity)sender; UserConnection = activity.UserConnection; bool IsZoom = activity.GetTypedColumnValue <bool>("CreateZoomMeeting"); if (IsZoom) { ZoomMeetingApi zm = new ZoomMeetingApi(UserConnection); string MeetingId = activity.GetTypedColumnValue <String>("MeetingId"); zm.DeleteZoomMeeting(MeetingId); } }
public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); Entity entity = (Entity)sender; UserConnection userConnection = entity.UserConnection; var oldName = entity.GetTypedColumnValue <string>("Name"); if (oldName.Contains("Kirill")) { e.IsCanceled = true; MsgChannelUtilities.PostMessage(userConnection, this.GetType().FullName, "I am cancelling this, because ...."); } entity.SetColumnValue("Name", $"{oldName} - test listener"); }
public override void OnUpdating(object sender, EntityBeforeEventArgs e) { base.OnUpdating(sender, e); ZoomAccountUser = (Entity)sender; UserConnection = ZoomAccountUser.UserConnection; string Email = ZoomAccountUser.GetTypedColumnValue <string>("Email"); Guid ContactId = ColumnIdValue("ContactCommunication", "ContactId", "Number", Email); if (ContactId != Guid.Empty) { ZoomAccountUser.SetColumnValue("ContactId", ContactId); ZoomAccountUser.Save(false); } SendMessageToUi( ZoomAccountUser.GetTypedColumnValue <Guid>("ContactId"), "OnUpdating", (ZoomAccountUser.GetTypedColumnValue <Guid>("ContactId") == Guid.Empty) ? false : true); }
public override void OnSaving(object sender, EntityBeforeEventArgs e) { base.OnSaving(sender, e); Contact contact = (Contact)sender; List<string> interestingColumns = new List<string>() { nameof(contact.Name), nameof(contact.Email) }; UserConnection userConnection = contact.UserConnection; string oldName = contact.GetTypedOldColumnValue<string>(nameof(contact.Name)); foreach(var item in contact.GetChangedColumnValues()) { if(interestingColumns.Contains(item.Name)) { if (oldName.Contains("Random")) { e.IsCanceled = true; } } } }