Ejemplo n.º 1
0
        private async Task <NotificationDataModel> BuildNotificationTemplate(bool isArabic, int TemplateId, NotificationArguments notificationArguments)
        {
            var OperationCodes = await _cache.GetOrCreateAsync("OperationCodesList", async entry =>
            {
                int seconds             = int.Parse(_configuration.ChachingConfiguration.CachingMinutes);
                entry.SlidingExpiration = TimeSpan.FromSeconds(seconds);
                return(await _iNotificationQuerie.FindAllNotificationOperationCode());
            });

            var Template = OperationCodes.FirstOrDefault(w => w.NotificationOperationCodeId == TemplateId);
            NotificationDataModel notificationDataModel = new NotificationDataModel();

            notificationDataModel.Email.Body   = ReplaceKeysWithValues((isArabic ? Template.EmailBodyTemplateAr : Template.EmailBodyTemplateEn), notificationArguments.BodyEmailArgs);
            notificationDataModel.Email.Title  = ReplaceKeysWithValues((isArabic ? Template.EmailSubjectTemplateAr : Template.EmailSubjectTemplateEn), notificationArguments.SubjectEmailArgs);
            notificationDataModel.SMS.Body     = ReplaceKeysWithValues((isArabic ? Template.SmsTemplateAr : Template.SmsTemplateEn), notificationArguments.SMSArgs);
            notificationDataModel.PanelMessage = ReplaceKeysWithValues((isArabic ? Template.PanelTemplateAr : Template.PanelTemplateEn), notificationArguments.PanelArgs);
            return(notificationDataModel);
        }