/// <summary> /// Creates reminding in case of successfull search. /// </summary> /// <param name="duplicateRecordIds">Collection of duplicate entity id.</param> protected virtual void CreateSuccessReminding() { var esq = new EntitySchemaQuery(_userConnection.EntitySchemaManager, _schemaName); var duplicatesCountColumn = esq.AddColumn(esq.CreateAggregationFunction(AggregationTypeStrict.Count, "Id")); esq.UseAdminRights = false; Select esqSelect = esq.GetSelectQuery(_userConnection); string initialResultsTableName = string.Format("{0}{1}", _schemaName, InitialResultsTableSuffix); string recordIdColumnName = GetRecordIdColumnName(_schemaName); Select initialSelect = new Select(_userConnection) .Column(recordIdColumnName) .From(initialResultsTableName).As(initialResultsTableName) as Select; initialSelect.Where(initialSelect.SourceExpression.Alias, recordIdColumnName) .IsEqual(esqSelect.SourceExpression.Alias, "Id"); esqSelect.Where().Exists(initialSelect); var countEntity = esq.GetEntityCollection(_userConnection)[0]; int duplicatesCount = countEntity.GetTypedColumnValue <int>(duplicatesCountColumn.Name); string message = string.Empty; if (duplicatesCount > 0) { message = string.Format(_userConnection.GetLocalizableString("DeduplicationActionHelper", "SuccessfullDuplicatesSearchMessage"), duplicatesCount); } else { message = _userConnection.GetLocalizableString("DeduplicationActionHelper", "NoDuplicatesFoundMessage"); } CreateReminding(message); }
private string GetRemindingSubject(UserConnection userConnection, DeduplicationTaskStatus?deduplicationTaskStatus) { var localazibleStringName = string.Empty; switch (deduplicationTaskStatus) { case DeduplicationTaskStatus.Canceled: localazibleStringName = "FaildDuplicatesSearchMessage"; break; case DeduplicationTaskStatus.Completed: // TODO: Remove after task CRM-43077 return(userConnection.GetLocalizableString("CheckDeduplicationTaskStatusJobExecutor", "SuccessfullDuplicatesSearchMessage")); case DeduplicationTaskStatus.Failed: case null: localazibleStringName = "FaildDuplicatesSearchMessage"; break; default: return(null); } return(userConnection.GetLocalizableString("DeduplicationActionHelper", localazibleStringName)); }
private string GetDateEvent(DateTime value) { string dateMacros = _userConnection.GetLocalizableString(ClassName, "DateMacros"); string timeMacros = _userConnection.GetLocalizableString(ClassName, "TimeMacros"); string bodyDateEvent = _userConnection.GetLocalizableString(ClassName, "BodyDateEvent"); var date = value.ToString(dateMacros); var time = value.ToString(timeMacros); return(string.Format(bodyDateEvent, date, time)); }
private string GetDate(string datetime) { var dateMacros = UserConnection.GetLocalizableString("OrderVisaNotificationProvider", "DateMacros"); var result = Convert.ToDateTime(datetime); return(result.ToString(dateMacros)); }
public override string GetRecordResult(Dictionary <string, string> dictionaryColumnValues) { var titleTemplate = UserConnection.GetLocalizableString("ForecastNotificationProvider", "TitleTemplate"); var bodyTemplate = UserConnection.GetLocalizableString("ForecastNotificationProvider", "BodyTemplate"); var notificationId = dictionaryColumnValues["Id"]; var createdById = dictionaryColumnValues["CreatedById"]; var body = dictionaryColumnValues["Description"]; var title = dictionaryColumnValues["SubjectCaption"]; var entityId = dictionaryColumnValues["EntityId"]; var schemaName = dictionaryColumnValues["SchemaName"]; var imageId = dictionaryColumnValues["ImageId"]; body = string.Format(bodyTemplate, body); title = string.Format(titleTemplate, title); var popup = new PopupData() { Title = title, Body = body, ImageId = imageId, EntityId = entityId, EntitySchemaName = schemaName }; var serializePopup = popup.Serialize(); return(string.Format(template, notificationId, serializePopup)); }
protected virtual string GetRemindingSubject(UserConnection userConnection, string schemaName, string remindingText) { string caption = userConnection.GetLocalizableString("DeduplicationActionHelper", schemaName + "DuplicatesSearchCaption"); return(string.Format("{0}: {1}", caption, remindingText)); }
/// <inheritdoc cref="IForecastSummaryColumnCalculator.ApplySummaryColumns"/> public void ApplySummaryColumns(UserConnection userConnection, ICollection <TableColumn> columns) { userConnection.CheckArgumentNull(nameof(userConnection)); if (columns.IsEmpty() || columns.Any(c => c.Code == SummaryCode)) { return; } var summaryColumn = new TableColumn { Code = SummaryCode, Caption = userConnection.GetLocalizableString("ForecastLczResources", "SummaryCaption"), Children = new List <TableColumn>() }; var subColumns = columns.ElementAt(0).Children; foreach (TableColumn column in subColumns) { if (!column.IsHide) { summaryColumn.Children.Add(new TableColumn { Caption = column.Caption, Code = column.Code, Id = column.Id }); } } columns.Add(summaryColumn); }
private string GetTitle(Dictionary <string, string> dictionaryColumnValues) { var titleTemplate = UserConnection.GetLocalizableString("ForecastNotificationProvider", "TitleTemplate"); var title = dictionaryColumnValues["SubjectCaption"]; title = string.Format(titleTemplate, title); return(title); }
private string GetBody(Dictionary <string, string> dictionaryColumnValues) { var bodyTemplate = UserConnection.GetLocalizableString("ForecastNotificationProvider", "BodyTemplate"); var body = dictionaryColumnValues["Description"]; body = string.Format(bodyTemplate, body); return(body); }
private void CreateReminding(UserConnection userConnection, DeduplicationTaskStatus?deduplicationTaskStatus, string entityName) { var remindingDescription = userConnection.GetLocalizableString("DeduplicationActionHelper", "RemindingDescription"); var remindingSubject = GetRemindingSubject(userConnection, deduplicationTaskStatus); DeduplicationRemindingRepository.CreateReminding(userConnection, remindingDescription, remindingSubject, entityName); }
private void SetStringValue() { _titleCommented = UserConnection.GetLocalizableString("ESNNotificationProvider", "TitleCommented"); _titleMentioned = UserConnection.GetLocalizableString("ESNNotificationProvider", "TitleMentioned"); _titleNewMessage = UserConnection.GetLocalizableString("ESNNotificationProvider", "TitleNewMessage"); _titleLiked = UserConnection.GetLocalizableString("ESNNotificationProvider", "TitleLiked"); _dateMacros = UserConnection.GetLocalizableString("ESNNotificationProvider", "DateMacros"); _timeMacros = UserConnection.GetLocalizableString("ESNNotificationProvider", "TimeMacros"); _bodyDateEvent = UserConnection.GetLocalizableString("ESNNotificationProvider", "BodyDateEvent"); }
private Dictionary <string, string> GelLczDataDictionary(IEnumerable <string> keys) { var resources = new Dictionary <string, string>(); foreach (string key in keys) { resources[key] = UserConnection.GetLocalizableString(LczResourcesSchemaName, key); } return(resources); }
private void SetResources() { _bodyContact = UserConnection.GetLocalizableString("AnniversaryNotificationProvider", "BodyContact"); _bodyAccount = UserConnection.GetLocalizableString("AnniversaryNotificationProvider", "BodyAccount"); _titleContact = UserConnection.GetLocalizableString("AnniversaryNotificationProvider", "TitleContact"); _titleAccount = UserConnection.GetLocalizableString("AnniversaryNotificationProvider", "TitleAccount"); _th = UserConnection.GetLocalizableString("AnniversaryNotificationProvider", "thOrdinal"); _st = UserConnection.GetLocalizableString("AnniversaryNotificationProvider", "stOrdinal"); _nd = UserConnection.GetLocalizableString("AnniversaryNotificationProvider", "ndOrdinal"); _rd = UserConnection.GetLocalizableString("AnniversaryNotificationProvider", "rdOrdinal"); }
private string GetDate(string datetime) { if (String.IsNullOrEmpty(datetime)) { return(string.Empty); } var dateMacros = UserConnection.GetLocalizableString("ContractVisaNotificationProvider", "DateMacros"); var result = Convert.ToDateTime(datetime); return(result.ToString(dateMacros)); }
public Dictionary <string, string> GetLczData(string keysStr) { string[] keys = keysStr.Split(','); var resources = new Dictionary <string, string>(); foreach (string key in keys) { resources[key] = UserConnection.GetLocalizableString("ForecastResources", key); } return(resources); }
private string FormatDate(string datetime) { DateTime result; string dateMacros = UserConnection.GetLocalizableString(ResourceManagerName, "DateMacros"); if (DateTime.TryParse(datetime, out result)) { return(result.ToString(dateMacros)); } return(datetime ?? string.Empty); }
/// <summary> /// Methods gets HierarchyData and copy records. /// </summary> /// <param name="schemaName"><see cref="string"/> Entity schema name. </param> /// <param name="recordId"><see cref="Guid"/> Main record id. </param> /// <returns><see cref="Guid"/> Id of created record.</returns> public virtual CopyingResult CopyRecord(string schemaName, Guid recordId) { if (!HasRightsToCopyRecord(schemaName, recordId)) { var errorMessage = UserConnection.GetLocalizableString("HierarchyDataCopyingController", "RecordRightsErrorMessage"); return(new CopyingResult(errorMessage)); } HierarchyDataStructure hierarchyData = GetStructure(schemaName); var copyRecordId = CopyHierarchyData(hierarchyData, recordId); return(new CopyingResult(copyRecordId)); }
protected override INotificationInfo GetRecordNotificationInfo(Dictionary <string, string> dictionaryColumnValues) { var title = UserConnection.GetLocalizableString("OrderVisaNotificationProvider", "TitleTemplate"); Guid imageId; Guid.TryParse(dictionaryColumnValues["ImageId"], out imageId); return(new NotificationInfo { Title = title, Body = GetBody(dictionaryColumnValues), ImageId = imageId, EntityId = new Guid(dictionaryColumnValues["VisaObjectId"]), EntitySchemaName = dictionaryColumnValues["VisaSchemaName"], MessageId = new Guid(dictionaryColumnValues["Id"]), SysAdminUnit = new Guid(dictionaryColumnValues["SysAdminUnitId"]), GroupName = Group }); }
private string GetBody(Dictionary <string, string> dictionaryColumnValues) { var bodyTemplate = UserConnection.GetLocalizableString("InvoiceNotificationProvider", "BodyTemplate"); var number = dictionaryColumnValues["Number"]; var startDate = dictionaryColumnValues["StartDate"]; var contactName = dictionaryColumnValues["ContactName"]; var accountName = dictionaryColumnValues["AccountName"]; var date = GetDate(startDate); var body = string.Format(bodyTemplate, number, date); var customer = (new List <string>() { accountName, contactName }) .Where(item => !string.IsNullOrWhiteSpace(item)); body += string.Join(", ", customer); return(body); }
protected override INotificationInfo GetRecordNotificationInfo(Dictionary <string, string> dictionaryColumnValues) { string body = GetBody(dictionaryColumnValues); Guid imageId = NotificationUtilities.GetSysImageBySchemaName(UserConnection, "Invoice"); string titleTemplate = UserConnection.GetLocalizableString("InvoiceNotificationProvider", "TitleTemplate"); return(new NotificationInfo() { Title = titleTemplate, Body = body, ImageId = imageId, EntityId = new Guid(dictionaryColumnValues["InvoiceId"]), EntitySchemaName = "Invoice", MessageId = new Guid(dictionaryColumnValues["Id"]), SysAdminUnit = new Guid(dictionaryColumnValues["SysAdminUnitId"]), GroupName = Group }); }
public override string GetRecordResult(Dictionary <string, string> dictionaryColumnValues) { var body = GetBody(dictionaryColumnValues); var title = UserConnection.GetLocalizableString("ContractVisaNotificationProvider", "TitleTemplate"); var notificationId = dictionaryColumnValues["Id"]; var entityId = dictionaryColumnValues["VisaObjectId"]; var schemaName = dictionaryColumnValues["SchemaName"]; var imageId = dictionaryColumnValues["ImageId"]; var popup = new PopupData() { Title = title, Body = body, ImageId = imageId, EntityId = entityId, EntitySchemaName = schemaName }; var serializePopup = popup.Serialize(); return(string.Format(template, notificationId, serializePopup)); }
public ConfigurationServiceResponse GetIsValidColumn(Guid columnTypeId, string settings) { var response = new ConfigurationServiceResponse(); if (columnTypeId.Equals(ForecastConsts.FormulaColumnTypeId)) { var formulaItems = FormulaUtilities.DeserializeFormula(new ForecastColumn { Settings = settings }); var isValid = FormulaUtilities.Validate(formulaItems); response.Success = isValid; if (!isValid) { var message = UserConnection.GetLocalizableString("ForecastResources", "FormulaNotValidMessage"); response.ErrorInfo = new ErrorInfo { Message = message }; } } return(response); }
private string GetBody(Dictionary <string, string> dictionaryColumnValues) { var body = UserConnection.GetLocalizableString("ContractVisaNotificationProvider", "BodyTemplate"); var number = dictionaryColumnValues["Title"]; var dateTime = dictionaryColumnValues["Date"]; var account = dictionaryColumnValues["Account"]; var contact = dictionaryColumnValues["Contact"]; var date = GetDate(dateTime); var accountContactString = string.Format("{0}, {1}", account, contact); if (String.IsNullOrEmpty(account)) { accountContactString = contact; } if (String.IsNullOrEmpty(contact)) { accountContactString = account; } body = string.Format(body, number, date, accountContactString); return(body); }
public override string GetRecordResult(Dictionary <string, string> dictionaryColumnValues) { var title = UserConnection.GetLocalizableString("ActivityNotificationProvider", "Title"); var id = dictionaryColumnValues["Id"]; var remindTime = dictionaryColumnValues["RemindTime"]; var activityId = dictionaryColumnValues["ActivityId"]; var imageId = dictionaryColumnValues["ImageId"]; string body = GetBody(dictionaryColumnValues); var key = id + "_" + remindTime; var popup = new PopupData() { Title = title, Body = body, ImageId = imageId, EntityId = activityId, EntitySchemaName = "Activity" }; var serializePopup = popup.Serialize(); return(string.Format("\"{0}\": {1}", key, serializePopup)); }
public ConfigurationServiceResponse GetIsValidColumn(Guid columnTypeId, string settings, FormulaSettingType type = FormulaSettingType.Default) { var response = new ConfigurationServiceResponse(); if (columnTypeId.Equals(ForecastConsts.FormulaColumnTypeId)) { var forecastColumn = new ForecastColumn { Settings = settings }; var formulaSetting = forecastColumn.GetColumnSettings <FormulaSetting>(); var isValid = IsFormulaInColumnValid(formulaSetting, type); response.Success = isValid; if (!isValid) { var message = UserConnection.GetLocalizableString(LczResourcesSchemaName, "FormulaNotValidMessage"); response.ErrorInfo = new ErrorInfo { Message = message }; } } return(response); }
/// <summary> /// Returns the record visa notification text. /// </summary> /// <param name="columnValues">Column values.</param> public override string GetRecordResult(Dictionary <string, string> columnValues) { string bodyTemplate = UserConnection.GetLocalizableString(ResourceManagerName, "BodyTemplate"); string titleTemplate = UserConnection.GetLocalizableString(ResourceManagerName, "TitleTemplate"); string notificationId = columnValues["Id"]; string objective = columnValues["Title"]; string dateTime = columnValues["Date"]; string entityId = columnValues["VisaObjectId"]; string schemaName = columnValues["SchemaName"]; string schemaCaption = columnValues["VisaSchemaCaption"]; string body = string.Format(bodyTemplate, schemaCaption, objective, FormatDate(dateTime)); var popup = new PopupData() { Title = titleTemplate, Body = body, ImageId = _vizaPopupIconPngId.ToString(), EntityId = entityId, EntitySchemaName = schemaName }; string serializePopup = popup.Serialize(); return(string.Format(template, notificationId, serializePopup)); }
public override string GetRecordResult(Dictionary <string, string> dictionaryColumnValues) { var bodyTemplate = UserConnection.GetLocalizableString("OrderVisaNotificationProvider", "BodyTemplate"); var titleTemplate = UserConnection.GetLocalizableString("OrderVisaNotificationProvider", "TitleTemplate"); var notificationId = dictionaryColumnValues["Id"]; var number = dictionaryColumnValues["Title"]; var dateTime = dictionaryColumnValues["Date"]; var account = dictionaryColumnValues["Account"]; var contact = dictionaryColumnValues["Contact"]; var entityId = dictionaryColumnValues["VisaObjectId"]; var schemaName = dictionaryColumnValues["SchemaName"]; var imageId = dictionaryColumnValues["ImageId"]; var date = GetDate(dateTime); var accountContactString = string.Format("{0}, {1}", account, contact); if (String.IsNullOrEmpty(account)) { accountContactString = contact; } if (String.IsNullOrEmpty(contact)) { accountContactString = account; } var body = string.Format(bodyTemplate, number, date, accountContactString); var popup = new PopupData() { Title = titleTemplate, Body = body, ImageId = imageId, EntityId = entityId, EntitySchemaName = schemaName }; var serializePopup = popup.Serialize(); return(string.Format(template, notificationId, serializePopup)); }
public ConfigurationServiceResponse DeleteColumn(Guid columnId, Guid sheetId) { var response = new ConfigurationServiceResponse(); var isSuccess = false; IEnumerable <ForecastColumn> columns = ColumnRepository.GetColumns(sheetId); ForecastColumn column = columns.FirstOrDefault(c => c.Id == columnId); if (column != null) { try { var formulaColumns = FormulaUtilities.GetDependColumns(columns, column); if (!formulaColumns.Any()) { var sheet = SheetRepository.GetSheet(sheetId); isSuccess = ColumnRepository.Delete(sheet, columnId); } else { var messageTemplate = UserConnection.GetLocalizableString("ForecastResources", "ColumnUsedInFormula"); var message = string.Format(messageTemplate, formulaColumns.First().Name); response.ErrorInfo = new ErrorInfo { Message = message }; } } catch (Exception ex) { response.Exception = ex; } } else { response.Exception = new KeyNotFoundException(columnId.ToString()); } response.Success = isSuccess; return(response); }
protected virtual string GetRemindingDescription(UserConnection userConnection) { return(userConnection.GetLocalizableString("DeduplicationActionHelper", "RemindingDescription")); }
private string GetLocalizableString(string name) { return(UserConnection.GetLocalizableString(GetType().Name, name) ?? string.Empty); }