Заготовки реализации

This commit is contained in:
2025-02-19 20:12:55 +04:00
parent 4500aaf8a5
commit 71bdeaee7c
26 changed files with 477 additions and 1 deletions

View File

@@ -0,0 +1,51 @@
using TwoFromTheCasketContracts.BusinessLogicsContracts;
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketBusinessLogic.Implementation;
internal class ComplitedWorkBusinessLogicContract : IComplitedWorkBusinessLogicContract
{
public List<ComplitedWorkDataModel> GetAllComplitedWorks()
{
return [];
}
public List<ComplitedWorkDataModel> GetComplitedWorksByPeriod(DateTime fromDate, DateTime toDate)
{
return [];
}
public List<ComplitedWorkDataModel> GetComplitedWorksByRoomByPeriod(string roomId, DateTime fromDate, DateTime toDate)
{
return [];
}
public List<ComplitedWorkDataModel> GetComplitedWorksByWorkTypeByPeriod(string workId, DateTime fromDate, DateTime toDate)
{
return [];
}
public List<ComplitedWorkDataModel> GetComplitedWorksByWorkerByPeriod(string workerId, DateTime fromDate, DateTime toDate)
{
return [];
}
public ComplitedWorkDataModel GetComplitedWorkByData(string data)
{
return new ComplitedWorkDataModel("", "", "", []);
}
public void InsertComplitedWork(ComplitedWorkDataModel complitedWorkDataModel)
{
}
public void UpdateComplitedWork(ComplitedWorkDataModel complitedWorkDataModel)
{
}
public void DeleteComplitedWork(string id)
{
}
}

View File

@@ -0,0 +1,39 @@
using TwoFromTheCasketContracts.BusinessLogicsContracts;
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketBusinessLogic.Implementation;
internal class RoomBusinessLogicContract : IRoomBusinessLogicContract
{
public List<RoomDataModel> GetAllRooms()
{
return [];
}
public List<RoomDataModel> GetRoomsByOwner(string ownerName)
{
return [];
}
public List<RoomDataModel> GetRoomsByAddress(string address)
{
return [];
}
public RoomDataModel GetRoomByData(string data)
{
return new RoomDataModel("", "", "", 0, TwoFromTheCasketContracts.Enums.TypeRoom.Office);
}
public void InsertRoom(RoomDataModel roomDataModel)
{
}
public void UpdateRoom(RoomDataModel roomDataModel)
{
}
public void DeleteRoom(string id)
{
}
}

View File

@@ -0,0 +1,21 @@
using TwoFromTheCasketContracts.BusinessLogicsContracts;
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketBusinessLogic.Implementation;
internal class RoomHistoryBusinessLogicContract : IRoomHistoryBusinessLogicContract
{
public List<RoomHistoryDataModel> GetRoomHistory(string roomId)
{
return [];
}
public RoomHistoryDataModel GetLatestRoomHistory(string roomId)
{
return new RoomHistoryDataModel("", "", TwoFromTheCasketContracts.Enums.TypeRoom.Office, DateTime.Now);
}
public void AddRoomHistory(RoomHistoryDataModel roomHistoryDataModel)
{
}
}

View File

@@ -0,0 +1,21 @@
using TwoFromTheCasketContracts.BusinessLogicsContracts;
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketBusinessLogic.Implementation;
internal class SalaryBusinessLogicContract : ISalaryBusinessLogicContract
{
public List<SalaryDataModel> GetSalariesByPeriod(DateTime fromDate, DateTime toDate)
{
return [];
}
public List<SalaryDataModel> GetSalariesByWorkerByPeriod(string workerId, DateTime fromDate, DateTime toDate)
{
return [];
}
public void CalculateSalaryByMonth(DateTime date)
{
}
}

View File

@@ -0,0 +1,29 @@
using TwoFromTheCasketContracts.BusinessLogicsContracts;
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketBusinessLogic.Implementation;
internal class SpecializationBusinessLogicContract : ISpecializationBusinessLogicContract
{
public List<Specialization> GetAllSpecializations(bool onlyActual = true)
{
return [];
}
public Specialization GetLatestSpecialization(string specializationId)
{
return new Specialization("", "", "", 0, true, DateTime.Now);
}
public void AddSpecialization(string specializationId, string name, double salary)
{
}
public void DeactivateSpecialization(string specializationId)
{
}
public void RestoreSpecialization(string specializationId)
{
}
}

View File

@@ -0,0 +1,29 @@
using TwoFromTheCasketContracts.BusinessLogicsContracts;
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketBusinessLogic.Implementation;
internal class WorkBusinessLogicContract : IWorkBusinessLogicContract
{
public List<WorkDataModel> GetAllWorks()
{
return [];
}
public WorkDataModel GetWorkByData(string data)
{
return new WorkDataModel("", TwoFromTheCasketContracts.Enums.TypeWork.Carpentry, "", DateTime.Now);
}
public void InsertWork(WorkDataModel workDataModel)
{
}
public void UpdateWork(WorkDataModel workDataModel)
{
}
public void DeleteWork(string id)
{
}
}

View File

@@ -0,0 +1,46 @@

using TwoFromTheCasketContracts.BusinessLogicsContracts;
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketBusinessLogic.Implementation;
internal class WorkerBusinessLogicContract : IWorkerBusinessLogicContract
{
public List<WorkerDataModel> GetAllWorkers(bool onlyActive = true)
{
return [];
}
public List<WorkerDataModel> GetWorkersByBirthDate(DateTime fromDate, DateTime toDate, bool onlyActive = true)
{
return [];
}
public List<WorkerDataModel> GetWorkersByEmploymentDate(DateTime fromDate, DateTime toDate, bool onlyActive = true)
{
return [];
}
public List<WorkerDataModel> GetWorkersBySpecialization(string specializationId, bool onlyActive = true)
{
return [];
}
public WorkerDataModel GetWorkerByData(string data)
{
return new WorkerDataModel("","","", "", DateTime.Now.AddYears(-20));
}
public void InsertWorker(WorkerDataModel workerDataModel)
{
}
public void UpdateWorker(WorkerDataModel workerDataModel)
{
}
public void DeleteWorker(string id)
{
}
}

View File

@@ -0,0 +1,40 @@
using TwoFromTheCasketContracts.BusinessLogicsContracts;
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketBusinessLogic.Implementation;
internal class WorkerComplitedWorkBusinessLogicContract : IWorkerComplitedWorkBusinessLogicContract
{
public List<WorkerComplitedWorkDataModel> GetAllWorkerComplitedWorks()
{
return [];
}
public List<WorkerComplitedWorkDataModel> GetWorkerComplitedWorksByWorker(string workerId)
{
return [];
}
public List<WorkerComplitedWorkDataModel> GetWorkerComplitedWorksByWork(string workId)
{
return [];
}
public WorkerComplitedWorkDataModel GetWorkerComplitedWorkByData(string data)
{
return new WorkerComplitedWorkDataModel("", "", 0);
}
public void InsertWorkerComplitedWork(WorkerComplitedWorkDataModel workerComplitedWorkDataModel)
{
}
public void UpdateWorkerComplitedWork(WorkerComplitedWorkDataModel workerComplitedWorkDataModel)
{
}
public void DeleteWorkerComplitedWork(string id)
{
}
}

View File

@@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\TwoFromTheCasketContracts\TwoFromTheCasketContracts.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,12 +1,14 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17 # Visual Studio Version 17
VisualStudioVersion = 17.12.35527.113 d17.12 VisualStudioVersion = 17.12.35527.113
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TwoFromTheCasketContracts", "TwoFromTheCasketContracts\TwoFromTheCasketContracts.csproj", "{0498D87C-7F20-4B8D-BC34-040D0CC55BB7}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TwoFromTheCasketContracts", "TwoFromTheCasketContracts\TwoFromTheCasketContracts.csproj", "{0498D87C-7F20-4B8D-BC34-040D0CC55BB7}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TwoFromTheCasketTests", "TwoFromTheCasketTests\TwoFromTheCasketTests.csproj", "{E6FA5F6D-7A09-4576-9447-A1661C214545}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TwoFromTheCasketTests", "TwoFromTheCasketTests\TwoFromTheCasketTests.csproj", "{E6FA5F6D-7A09-4576-9447-A1661C214545}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TwoFromTheCasketBusinessLogic", "TwoFromTheCasketBusinessLogic\TwoFromTheCasketBusinessLogic.csproj", "{5E7BFEF3-EC3F-4EF6-ADB4-DF5D8EB626B5}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -21,6 +23,10 @@ Global
{E6FA5F6D-7A09-4576-9447-A1661C214545}.Debug|Any CPU.Build.0 = Debug|Any CPU {E6FA5F6D-7A09-4576-9447-A1661C214545}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E6FA5F6D-7A09-4576-9447-A1661C214545}.Release|Any CPU.ActiveCfg = Release|Any CPU {E6FA5F6D-7A09-4576-9447-A1661C214545}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E6FA5F6D-7A09-4576-9447-A1661C214545}.Release|Any CPU.Build.0 = Release|Any CPU {E6FA5F6D-7A09-4576-9447-A1661C214545}.Release|Any CPU.Build.0 = Release|Any CPU
{5E7BFEF3-EC3F-4EF6-ADB4-DF5D8EB626B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5E7BFEF3-EC3F-4EF6-ADB4-DF5D8EB626B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5E7BFEF3-EC3F-4EF6-ADB4-DF5D8EB626B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5E7BFEF3-EC3F-4EF6-ADB4-DF5D8EB626B5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@@ -0,0 +1,15 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.BusinessLogicsContracts;
public interface IComplitedWorkBusinessLogicContract
{
List<ComplitedWorkDataModel> GetComplitedWorksByPeriod(DateTime fromDate, DateTime toDate);
List<ComplitedWorkDataModel> GetComplitedWorksByRoomByPeriod(string roomId, DateTime fromDate, DateTime toDate);
List<ComplitedWorkDataModel> GetComplitedWorksByWorkTypeByPeriod(string workId, DateTime fromDate, DateTime toDate);
List<ComplitedWorkDataModel> GetComplitedWorksByWorkerByPeriod(string workerId, DateTime fromDate, DateTime toDate);
ComplitedWorkDataModel GetComplitedWorkByData(string data);
void InsertComplitedWork(ComplitedWorkDataModel complitedWorkDataModel);
void UpdateComplitedWork(ComplitedWorkDataModel complitedWorkDataModel);
void DeleteComplitedWork(string id);
}

View File

@@ -0,0 +1,13 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.BusinessLogicsContracts;
public interface IRoomBusinessLogicContract
{
List<RoomDataModel> GetRoomsByOwner(string ownerName);
List<RoomDataModel> GetRoomsByAddress(string address);
RoomDataModel GetRoomByData(string data);
void InsertRoom(RoomDataModel roomDataModel);
void UpdateRoom(RoomDataModel roomDataModel);
void DeleteRoom(string id);
}

View File

@@ -0,0 +1,9 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.BusinessLogicsContracts;
public interface IRoomHistoryBusinessLogicContract
{
List<RoomHistoryDataModel> GetRoomHistory(string roomId);
RoomHistoryDataModel GetLatestRoomHistory(string roomId);
void AddRoomHistory(RoomHistoryDataModel roomHistoryDataModel);
}

View File

@@ -0,0 +1,9 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.BusinessLogicsContracts;
public interface ISalaryBusinessLogicContract
{
List<SalaryDataModel> GetSalariesByPeriod(DateTime fromDate, DateTime toDate);
List<SalaryDataModel> GetSalariesByWorkerByPeriod(string workerId, DateTime fromDate, DateTime toDate);
void CalculateSalaryByMonth(DateTime date);
}

View File

@@ -0,0 +1,11 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.BusinessLogicsContracts;
public interface ISpecializationBusinessLogicContract
{
List<Specialization> GetAllSpecializations(bool onlyActual = true);
Specialization GetLatestSpecialization(string specializationId);
void AddSpecialization(string specializationId, string name, double salary);
void DeactivateSpecialization(string specializationId);
void RestoreSpecialization(string specializationId);
}

View File

@@ -0,0 +1,12 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.BusinessLogicsContracts;
public interface IWorkBusinessLogicContract
{
List<WorkDataModel> GetAllWorks();
WorkDataModel GetWorkByData(string data);
void InsertWork(WorkDataModel workDataModel);
void UpdateWork(WorkDataModel workDataModel);
void DeleteWork(string id);
}

View File

@@ -0,0 +1,16 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.BusinessLogicsContracts;
public interface IWorkerBusinessLogicContract
{
List<WorkerDataModel> GetAllWorkers(bool onlyActive = true);
List<WorkerDataModel> GetWorkersBySpecialization(string specializationId, bool onlyActive = true);
List<WorkerDataModel> GetWorkersByBirthDate(DateTime fromDate, DateTime toDate, bool onlyActive = true);
List<WorkerDataModel> GetWorkersByEmploymentDate(DateTime fromDate, DateTime toDate, bool onlyActive = true);
WorkerDataModel GetWorkerByData(string data);
void InsertWorker(WorkerDataModel workerDataModel);
void UpdateWorker(WorkerDataModel workerDataModel);
void DeleteWorker(string id);
}

View File

@@ -0,0 +1,13 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.BusinessLogicsContracts;
public interface IWorkerComplitedWorkBusinessLogicContract
{
List<WorkerComplitedWorkDataModel> GetWorkerComplitedWorksByWorker(string workerId);
List<WorkerComplitedWorkDataModel> GetWorkerComplitedWorksByWork(string workId);
WorkerComplitedWorkDataModel GetWorkerComplitedWorkByData(string data);
void InsertWorkerComplitedWork(WorkerComplitedWorkDataModel workerComplitedWorkDataModel);
void UpdateWorkerComplitedWork(WorkerComplitedWorkDataModel workerComplitedWorkDataModel);
void DeleteWorkerComplitedWork(string id);
}

View File

@@ -0,0 +1,9 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.StorageContracts
public interface IComplitedWorkStorageContract
{
List<ComplitedWorkDataModel> GetList(DateTime? startTime, DateTime? endTime, string? RoomId, string? WorkId, string? WorkerId);
ComplitedWorkDataModel? GetElementById(string id);
void AddElement(ComplitedWorkDataModel complitedWorkDataModel);
void DelElement(string id);
}

View File

@@ -0,0 +1,8 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.StorageContracts
public interface IRoomHistoryStorageContract
{
List<RoomHistoryDataModel> GetList(string roomId);
RoomHistoryDataModel? GetLatestByRoomId(string roomId);
void AddElement(RoomHistoryDataModel roomHistoryDataModel);
}

View File

@@ -0,0 +1,14 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.StorageContracts
public interface IRoomStorageContract
{
List<RoomDataModel> GetList();
List<RoomHistoryDataModel> GetHistoryRoomId(string id);
RoomDataModel? GetElementById(string id);
RoomDataModel? GetElementByOwnerFIO(string OwnerFIO);
RoomDataModel? GetElementByAddress(string Address);
void AddElement(RoomDataModel roomDataModel);
void UpdElement(RoomDataModel roomDataModel);
void DelElement(string id);
}

View File

@@ -0,0 +1,8 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.StorageContracts
public interface ISalaryStorageContract
{
List<SalaryDataModel> GetList(DateTime startDate, DateTime endDate, string? workerId = null);
void AddElement(SalaryDataModel salaryDataModel);
}

View File

@@ -0,0 +1,12 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.StorageContracts
public interface ISpecializationStorageContract
{
List<Specialization> GetList(bool onlyActive = true);
Specialization? GetElementById(string id);
Specialization? GetElementByName(string name);
void AddElement(Specialization specialization);
void UpdElement(Specialization specialization);
void DelElement(string id);
void ResElement(string id);
}

View File

@@ -0,0 +1,10 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.StorageContracts
public interface IWorkStorageContract
{
List<WorkDataModel> GetList(DateTime? fromEndDate = null, DateTime? toEndDate = null);
WorkDataModel? GetElementById(string id);
void AddElement(WorkDataModel workDataModel);
void UpdElement(WorkDataModel workDataModel);
void DelElement(string id);
}

View File

@@ -0,0 +1,10 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.StorageContracts
public interface IWorkerComplitedWorkStorageContract
{
List<WorkerComplitedWorkDataModel> GetList();
WorkerComplitedWorkDataModel? GetElementById(string id);
void AddElement(WorkerComplitedWorkDataModel workerComplitedWorkDataModel);
void UpdElement(WorkerComplitedWorkDataModel workerComplitedWorkDataModel);
void DelElement(string id);
}

View File

@@ -0,0 +1,12 @@
using TwoFromTheCasketContracts.DataModels;
namespace TwoFromTheCasketContracts.StorageContracts
public interface IWorkerStorageContract
{
List<WorkerDataModel> GetList(bool onlyActive = true, string? SpecializationId = null, DateTime? fromBirthDate, DateTime? toBirthDate, DateTime? fromEmploymentDate = null, DateTime? toEmploymentDate = null);
WorkerDataModel? GetElementById(string id);
WorkerDataModel? GetElementByFIO(string FIO);
WorkerDataModel? GetElementByPhoneNumber(string PhoneNumber);
void AddElement(WorkerDataModel workerDataModel);
void UpdElement(WorkerDataModel workerDataModel);
void DelElement(string id);
}