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); }