48 lines
1.3 KiB
C#
48 lines
1.3 KiB
C#
using StructureHelperCommon.Models;
|
|
using StructureHelperCommon.Models.Projects;
|
|
using StructureHelperCommon.Services.FileServices;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DataAccess.Infrastructures
|
|
{
|
|
public class ProjectAccessLogic : IProjectAccessLogic
|
|
{
|
|
private IFileOpenLogic openLogic;
|
|
private IFileSaveLogic saveLogic;
|
|
public IShiftTraceLogger? TraceLogger { get; set; }
|
|
|
|
public ProjectAccessLogic(IFileOpenLogic openLogic, IFileSaveLogic saveLogic)
|
|
{
|
|
this.openLogic = openLogic;
|
|
this.saveLogic = saveLogic;
|
|
}
|
|
|
|
public ProjectAccessLogic() : this(new FileOpenLogic(), new FileSaveLogic())
|
|
{
|
|
|
|
}
|
|
|
|
public OpenProjectResult OpenProject()
|
|
{
|
|
openLogic.TraceLogger = TraceLogger;
|
|
return openLogic.OpenFile();
|
|
}
|
|
|
|
public void SaveProject(IProject project)
|
|
{
|
|
saveLogic.TraceLogger = TraceLogger;
|
|
saveLogic.SaveFile(project);
|
|
}
|
|
|
|
public void SaveProjectAs(IProject project)
|
|
{
|
|
saveLogic.TraceLogger = TraceLogger;
|
|
saveLogic.SaveFileAs(project);
|
|
}
|
|
}
|
|
}
|