Files
StructureHelper/DataAccess/Infrastructures/GetJsonDataByRootObjectLogic.cs
2024-11-09 21:52:05 +05:00

43 lines
1.2 KiB
C#

using DataAccess.DTOs;
using Newtonsoft.Json;
using StructureHelperCommon.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DataAccess.Infrastructures
{
public class GetJsonDataByRootObjectLogic : IGetJsonDataByRootObjectLogic
{
private IGetJsonSettingsLogic getJsonSettingsLogic;
public GetJsonDataByRootObjectLogic(IGetJsonSettingsLogic getJsonSettingsLogic)
{
this.getJsonSettingsLogic = getJsonSettingsLogic;
}
public GetJsonDataByRootObjectLogic(IShiftTraceLogger traceLogger) : this (new GetJsonSettingsLogic(traceLogger))
{
}
public IRootObjectDTO RootObject { get; set; }
public IShiftTraceLogger? TraceLogger { get; set; }
public string GetJsonData()
{
var rootString = Serialize(RootObject);
return rootString;
}
private string Serialize(object obj)
{
JsonSerializerSettings settings = getJsonSettingsLogic.GetSettings();
string serializedObject = JsonConvert.SerializeObject(obj, settings);
return serializedObject;
}
}
}