Ejemplo n.º 1
0
        /// <summary>
        /// Prepare GetTemplate model
        /// </summary>
        /// <param name="tenantId">tenant Id</param>
        /// <param name="entityname"> emailtemplate or SMS</param>
        /// <param name="contextname">contextname like user,product etc..</param>
        /// <param name="resource">tag replaced value key pair</param>
        /// <returns>EmailTemplate model</returns>
        public EmailTemplate GetWellKnownTemplate(Guid tenantId, string entityname, string contextname, int welknowntype, JObject resource)
        {
            var queryFilter1 = new List <QueryFilter> ();

            queryFilter1.Add(new QueryFilter {
                FieldName = "Context", Operator = "Equal", Value = _iMetadataManager.GetEntityContextByEntityName(contextname)
            });
            queryFilter1.Add(new QueryFilter {
                FieldName = "TenantId", Operator = "Equal", Value = tenantId.ToString()
            });
            queryFilter1.Add(new QueryFilter {
                FieldName = "CommunicationContextType", Operator = "Equal", Value = welknowntype
            });
            var queryContext1 = new QueryContext {
                Fields = "Title,Body,Context,CommunicationContextType", Filters = queryFilter1, PageSize = 100, PageIndex = 1
            };
            DataTable templatedt = _queryManager.GetResult(tenantId, entityname, queryContext1);
            var       template   = EntityMapper <EmailTemplate> .Mapper(templatedt);

            if (template != null)
            {
                if (template.Body != null && !string.IsNullOrEmpty(template.Body.Value))
                {
                    template.Body.Value = _iMetadataManager.GetTemplateBodyWithTagablesValue(template.Body.Value, resource);
                }
            }
            return(template);
        }