Skip to content

Commit e2c7df3

Browse files
committed
Migrate to filescoped nammespaces
1 parent f37f916 commit e2c7df3

11 files changed

+424
-426
lines changed
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
using System;
22
using System.Globalization;
33

4-
namespace MbSoftLab.TemplateEngine.Core
4+
namespace MbSoftLab.TemplateEngine.Core;
5+
6+
interface IPlaceholderValueRaplacer
57
{
6-
interface IPlaceholderValueRaplacer
7-
{
8-
void ReplacePlaceholderWithValue(Type valueType, string placeholderValueName, object value);
9-
string OutputString { get; }
10-
CultureInfo CultureInfo { get; set; }
11-
}
12-
}
8+
void ReplacePlaceholderWithValue(Type valueType, string placeholderValueName, object value);
9+
string OutputString { get; }
10+
CultureInfo CultureInfo { get; set; }
11+
}
Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
using System.Globalization;
22

3-
namespace MbSoftLab.TemplateEngine.Core
3+
namespace MbSoftLab.TemplateEngine.Core;
4+
5+
public interface ITemplateEngine<T>
46
{
5-
public interface ITemplateEngine<T>
6-
{
7-
string CloseingDelimiter { get; set; }
8-
ITemplateEngineConfig<T> Config { get; set; }
9-
CultureInfo CultureInfo { get; set; }
10-
string NullStringValue { get; set; }
11-
string OpeningDelimiter { get; set; }
12-
T TemplateDataModel { get; set; }
13-
string TemplateString { get; set; }
14-
string CreateStringFromTemplate(string stringTemplate = null);
15-
string CreateStringFromTemplate(T templateDataModel);
16-
string CreateStringFromTemplate(T templateDataModel, string stringTemplate);
17-
}
7+
string CloseingDelimiter { get; set; }
8+
ITemplateEngineConfig<T> Config { get; set; }
9+
CultureInfo CultureInfo { get; set; }
10+
string NullStringValue { get; set; }
11+
string OpeningDelimiter { get; set; }
12+
T TemplateDataModel { get; set; }
13+
string TemplateString { get; set; }
14+
string CreateStringFromTemplate(string stringTemplate = null);
15+
string CreateStringFromTemplate(T templateDataModel);
16+
string CreateStringFromTemplate(T templateDataModel, string stringTemplate);
1817
}
Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
11
using System.Globalization;
22

3-
namespace MbSoftLab.TemplateEngine.Core
3+
namespace MbSoftLab.TemplateEngine.Core;
4+
5+
/// <summary>
6+
///
7+
/// </summary>
8+
public interface ITemplateEngineConfig : ITemplateEngineConfig<object> { }
9+
/// <summary>
10+
///
11+
/// </summary>
12+
/// <typeparam name="T"></typeparam>
13+
public interface ITemplateEngineConfig<T>
414
{
5-
/// <summary>
6-
///
7-
/// </summary>
8-
public interface ITemplateEngineConfig : ITemplateEngineConfig<object> { }
9-
/// <summary>
10-
///
11-
/// </summary>
12-
/// <typeparam name="T"></typeparam>
13-
public interface ITemplateEngineConfig<T>
14-
{
15-
string OpeningDelimiter { get; set; }
16-
string CloseingDelimiter { get; set; }
17-
string TemplateString { get; set; }
18-
T TemplateDataModel { get; set; }
19-
string NullStringValue { get; set; }
20-
CultureInfo CultureInfo { get; set; }
21-
}
22-
}
15+
string OpeningDelimiter { get; set; }
16+
string CloseingDelimiter { get; set; }
17+
string TemplateString { get; set; }
18+
T TemplateDataModel { get; set; }
19+
string NullStringValue { get; set; }
20+
CultureInfo CultureInfo { get; set; }
21+
}
Lines changed: 54 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,61 @@
11
using System;
22
using System.Globalization;
33

4-
namespace MbSoftLab.TemplateEngine.Core
5-
{
6-
class PlaceholderValueRaplacer : IPlaceholderValueRaplacer
7-
{
8-
string _outputString;
9-
readonly string _nullStringValue;
10-
public string OutputString => _outputString;
11-
public CultureInfo CultureInfo { get; set; } = CultureInfo.CreateSpecificCulture("en-US");
4+
namespace MbSoftLab.TemplateEngine.Core;
125

13-
private ReplacementActionCollection _replacementActionCollection = new ReplacementActionCollection();
14-
public PlaceholderValueRaplacer(string outputString, string nullStringValue)
15-
{
16-
_outputString = outputString;
17-
_nullStringValue = nullStringValue;
18-
RegisterReplacementActions();
19-
}
20-
private void RegisterReplacementActions()
21-
{
22-
_replacementActionCollection
23-
.AddReplacementAction(typeof(string), (placeholderValueName, value) => ReplaceNullableStringValueInOutputString(placeholderValueName, (string)value))
24-
.AddReplacementAction(typeof(byte), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (byte)value))
25-
.AddReplacementAction(typeof(short), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (short)value))
26-
.AddReplacementAction(typeof(ushort), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (ushort)value))
27-
.AddReplacementAction(typeof(long), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (long)value))
28-
.AddReplacementAction(typeof(ulong), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (ulong)value))
29-
.AddReplacementAction(typeof(sbyte), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (sbyte)value))
30-
.AddReplacementAction(typeof(char), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (char)value))
31-
.AddReplacementAction(typeof(UInt16), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (UInt16)value))
32-
.AddReplacementAction(typeof(UInt32), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (UInt32)value))
33-
.AddReplacementAction(typeof(UInt64), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (UInt64)value))
34-
.AddReplacementAction(typeof(Int16), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (Int16)value))
35-
.AddReplacementAction(typeof(Int32), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (Int32)value))
36-
.AddReplacementAction(typeof(Int64), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (Int64)value))
37-
.AddReplacementAction(typeof(Decimal), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (Decimal)value))
38-
.AddReplacementAction(typeof(Double), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (double)value))
39-
.AddReplacementAction(typeof(DateTime), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (DateTime)value))
40-
.AddReplacementAction(typeof(Boolean), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, ((bool)value)));
41-
}
42-
private void ReplaceValueInOutputString(string placeholderValueName, object value)
43-
{
44-
string replacementForCulture = Convert.ToString(value, CultureInfo);
45-
_outputString = _outputString.Replace(placeholderValueName, replacementForCulture);
46-
}
47-
private void ReplaceNullableStringValueInOutputString(string placeholderValueName, object value)
48-
{
49-
if (value == null)
50-
_outputString = _outputString.Replace(placeholderValueName, _nullStringValue);
51-
else
52-
_outputString = _outputString.Replace(placeholderValueName, (String)value);
53-
}
54-
public void ReplacePlaceholderWithValue(Type valueType, string placeholderValueName, object value)
55-
{
56-
if (IsNoCollection(valueType))
57-
_replacementActionCollection.InvokeReplacementActionForType(valueType, placeholderValueName, value);
58-
}
6+
class PlaceholderValueRaplacer : IPlaceholderValueRaplacer
7+
{
8+
string _outputString;
9+
readonly string _nullStringValue;
10+
public string OutputString => _outputString;
11+
public CultureInfo CultureInfo { get; set; } = CultureInfo.CreateSpecificCulture("en-US");
5912

60-
private bool IsNoCollection(Type valueType) => valueType.FullName.Contains("System.Collections.Generic") == false;
13+
private ReplacementActionCollection _replacementActionCollection = new ReplacementActionCollection();
14+
public PlaceholderValueRaplacer(string outputString, string nullStringValue)
15+
{
16+
_outputString = outputString;
17+
_nullStringValue = nullStringValue;
18+
RegisterReplacementActions();
6119
}
20+
private void RegisterReplacementActions()
21+
{
22+
_replacementActionCollection
23+
.AddReplacementAction(typeof(string), (placeholderValueName, value) => ReplaceNullableStringValueInOutputString(placeholderValueName, (string)value))
24+
.AddReplacementAction(typeof(byte), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (byte)value))
25+
.AddReplacementAction(typeof(short), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (short)value))
26+
.AddReplacementAction(typeof(ushort), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (ushort)value))
27+
.AddReplacementAction(typeof(long), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (long)value))
28+
.AddReplacementAction(typeof(ulong), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (ulong)value))
29+
.AddReplacementAction(typeof(sbyte), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (sbyte)value))
30+
.AddReplacementAction(typeof(char), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (char)value))
31+
.AddReplacementAction(typeof(UInt16), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (UInt16)value))
32+
.AddReplacementAction(typeof(UInt32), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (UInt32)value))
33+
.AddReplacementAction(typeof(UInt64), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (UInt64)value))
34+
.AddReplacementAction(typeof(Int16), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (Int16)value))
35+
.AddReplacementAction(typeof(Int32), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (Int32)value))
36+
.AddReplacementAction(typeof(Int64), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (Int64)value))
37+
.AddReplacementAction(typeof(Decimal), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (Decimal)value))
38+
.AddReplacementAction(typeof(Double), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (double)value))
39+
.AddReplacementAction(typeof(DateTime), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, (DateTime)value))
40+
.AddReplacementAction(typeof(Boolean), (placeholderValueName, value) => ReplaceValueInOutputString(placeholderValueName, ((bool)value)));
41+
}
42+
private void ReplaceValueInOutputString(string placeholderValueName, object value)
43+
{
44+
string replacementForCulture = Convert.ToString(value, CultureInfo);
45+
_outputString = _outputString.Replace(placeholderValueName, replacementForCulture);
46+
}
47+
private void ReplaceNullableStringValueInOutputString(string placeholderValueName, object value)
48+
{
49+
if (value == null)
50+
_outputString = _outputString.Replace(placeholderValueName, _nullStringValue);
51+
else
52+
_outputString = _outputString.Replace(placeholderValueName, (String)value);
53+
}
54+
public void ReplacePlaceholderWithValue(Type valueType, string placeholderValueName, object value)
55+
{
56+
if (IsNoCollection(valueType))
57+
_replacementActionCollection.InvokeReplacementActionForType(valueType, placeholderValueName, value);
58+
}
59+
60+
private bool IsNoCollection(Type valueType) => valueType.FullName.Contains("System.Collections.Generic") == false;
6261
}
Lines changed: 72 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,89 @@
11
using RazorEngineCore;
22
using System;
3-
using System.Collections.Generic;
43
using System.ComponentModel;
54
using System.Globalization;
6-
using System.Text;
75

8-
namespace MbSoftLab.TemplateEngine.Core
6+
namespace MbSoftLab.TemplateEngine.Core;
7+
8+
public class RazorTemplateEngine<T> : ITemplateEngine<T> where T : TemplateDataModel<T>
99
{
10-
public class RazorTemplateEngine<T> : ITemplateEngine<T> where T : TemplateDataModel<T>
10+
public string CloseingDelimiter { get { Console.WriteLine($"RazorTemplateEngine has no {nameof(CloseingDelimiter)}"); return ""; } set => Console.WriteLine($"Can not set {nameof(CloseingDelimiter)} for RazorTemplateEngine"); }
11+
ITemplateEngineConfig<T> _config;
12+
public ITemplateEngineConfig<T> Config
1113
{
12-
public string CloseingDelimiter { get { Console.WriteLine($"RazorTemplateEngine has no {nameof(CloseingDelimiter)}"); return ""; } set => Console.WriteLine($"Can not set {nameof(CloseingDelimiter)} for RazorTemplateEngine"); }
13-
ITemplateEngineConfig<T> _config;
14-
public ITemplateEngineConfig<T> Config
14+
get => _config;
15+
set
1516
{
16-
get => _config;
17-
set
18-
{
19-
_config = value;
20-
this.NullStringValue = _config.NullStringValue;
21-
this.OpeningDelimiter = _config.OpeningDelimiter;
22-
this.CloseingDelimiter = _config.CloseingDelimiter;
23-
this.TemplateDataModel = _config.TemplateDataModel;
24-
this.TemplateString = _config.TemplateString;
25-
this.CultureInfo = _config.CultureInfo;
26-
}
17+
_config = value;
18+
this.NullStringValue = _config.NullStringValue;
19+
this.OpeningDelimiter = _config.OpeningDelimiter;
20+
this.CloseingDelimiter = _config.CloseingDelimiter;
21+
this.TemplateDataModel = _config.TemplateDataModel;
22+
this.TemplateString = _config.TemplateString;
23+
this.CultureInfo = _config.CultureInfo;
2724
}
28-
public CultureInfo CultureInfo { get { Console.WriteLine($"{nameof(RazorTemplateEngine<T>)} can not maipulate {nameof(CultureInfo)}"); return null; } set => Console.WriteLine($"{nameof(RazorTemplateEngine<T>)} can not maipulate {nameof(CultureInfo)}"); }
25+
}
26+
public CultureInfo CultureInfo { get { Console.WriteLine($"{nameof(RazorTemplateEngine<T>)} can not maipulate {nameof(CultureInfo)}"); return null; } set => Console.WriteLine($"{nameof(RazorTemplateEngine<T>)} can not maipulate {nameof(CultureInfo)}"); }
2927

30-
public string NullStringValue
31-
{
32-
get => "String.Empty";
33-
set { Console.WriteLine(new WarningException($"{nameof(RazorTemplateEngine<T>)} can not maipulate {nameof(NullStringValue)}").Message); }
34-
}
35-
public string OpeningDelimiter
36-
{
37-
get
38-
{
39-
Console.WriteLine(new WarningException($"RazorTemplateEngine has no {nameof(OpeningDelimiter)}").Message);
40-
return "";
41-
}
42-
set
43-
{
44-
Console.WriteLine(new WarningException($"Can not set {nameof(OpeningDelimiter)} for RazorTemplateEngine").Message);
45-
}
46-
}
47-
public T TemplateDataModel { get; set; }
48-
public string TemplateString { get; set; }
49-
IRazorEngine razorEngine;
50-
public RazorTemplateEngine(IRazorEngine razorEngine)
51-
{
52-
this.razorEngine = razorEngine;
53-
}
54-
public RazorTemplateEngine()
28+
public string NullStringValue
29+
{
30+
get => "String.Empty";
31+
set { Console.WriteLine(new WarningException($"{nameof(RazorTemplateEngine<T>)} can not maipulate {nameof(NullStringValue)}").Message); }
32+
}
33+
34+
public string OpeningDelimiter
35+
{
36+
get
5537
{
56-
razorEngine = new RazorEngine();
38+
Console.WriteLine(new WarningException($"RazorTemplateEngine has no {nameof(OpeningDelimiter)}").Message);
39+
return "";
5740
}
58-
public RazorTemplateEngine(T dataModel, string templateString)
41+
set
5942
{
60-
razorEngine = new RazorEngine();
61-
TemplateDataModel = dataModel;
62-
TemplateString = templateString;
43+
Console.WriteLine(new WarningException($"Can not set {nameof(OpeningDelimiter)} for RazorTemplateEngine").Message);
6344
}
64-
public string CreateStringFromTemplate(string csHtmlTemplate = null)
65-
{
66-
TemplateString = csHtmlTemplate ?? TemplateString;
67-
IRazorEngineCompiledTemplate template = razorEngine.Compile(TemplateString);
45+
}
46+
47+
public T TemplateDataModel { get; set; }
48+
public string TemplateString { get; set; }
49+
IRazorEngine razorEngine;
50+
51+
public RazorTemplateEngine(IRazorEngine razorEngine)
52+
{
53+
this.razorEngine = razorEngine;
54+
}
55+
56+
public RazorTemplateEngine()
57+
{
58+
razorEngine = new RazorEngine();
59+
}
6860

69-
string result = template.Run(TemplateDataModel);
70-
return result;
71-
}
72-
public string CreateStringFromTemplate(T templateDataModel)
73-
{
74-
TemplateDataModel = templateDataModel;
75-
return CreateStringFromTemplate();
76-
}
61+
public RazorTemplateEngine(T dataModel, string templateString)
62+
{
63+
razorEngine = new RazorEngine();
64+
TemplateDataModel = dataModel;
65+
TemplateString = templateString;
66+
}
67+
68+
public string CreateStringFromTemplate(string csHtmlTemplate = null)
69+
{
70+
TemplateString = csHtmlTemplate ?? TemplateString;
71+
IRazorEngineCompiledTemplate template = razorEngine.Compile(TemplateString);
7772

78-
public string CreateStringFromTemplate(T templateDataModel, string csHtmlTemplate)
79-
{
80-
TemplateDataModel = templateDataModel;
81-
TemplateString = csHtmlTemplate;
82-
return CreateStringFromTemplate();
83-
}
73+
string result = template.Run(TemplateDataModel);
74+
return result;
75+
}
76+
77+
public string CreateStringFromTemplate(T templateDataModel)
78+
{
79+
TemplateDataModel = templateDataModel;
80+
return CreateStringFromTemplate();
81+
}
82+
83+
public string CreateStringFromTemplate(T templateDataModel, string csHtmlTemplate)
84+
{
85+
TemplateDataModel = templateDataModel;
86+
TemplateString = csHtmlTemplate;
87+
return CreateStringFromTemplate();
8488
}
85-
}
89+
}

0 commit comments

Comments
 (0)