поменяла списки

This commit is contained in:
Галина Федоренко 2024-05-28 03:11:22 +04:00
parent 6b7bddc831
commit b306b67320
10 changed files with 59 additions and 58 deletions

View File

@ -17,8 +17,8 @@ namespace LawFirmBusinessLogic.BusinessLogics
private readonly ILawyerStorage _lawyerStorage;
private readonly IConsultationStorage _consultationStorage;
private readonly AbstractSaveToExcelClientsHearing _saveToExcelClientsHearing;
private readonly AbstractSaveToWordClientsHearing _saveToWordClientsHearing;
private readonly AbstractSaveToExcelClientsConsultation _saveToExcelClientsConsultation;
private readonly AbstractSaveToWordClientsConsultation _saveToWordClientsConsultation;
private readonly AbstractSaveToPdfClients _saveToPdfClients;
private readonly AbstractSaveToExcelVisitsLawyer _saveToExcelVisitLawyer;
@ -29,8 +29,8 @@ namespace LawFirmBusinessLogic.BusinessLogics
IVisitStorage visitStorage, ICaseStorage caseStorage,
ILawyerStorage lawyerStorage, IConsultationStorage consultationStorage,
AbstractSaveToExcelClientsHearing saveToExcelClientsHearing,
AbstractSaveToWordClientsHearing saveToWordClientsHearing,
AbstractSaveToExcelClientsConsultation saveToExcelClientsConsultation,
AbstractSaveToWordClientsConsultation saveToWordClientsConsultation,
AbstractSaveToPdfClients saveToPdfClients,
AbstractSaveToExcelVisitsLawyer saveToExcelVisitLawyer,
@ -44,36 +44,36 @@ namespace LawFirmBusinessLogic.BusinessLogics
_caseStorage = caseStorage;
_lawyerStorage = lawyerStorage;
_consultationStorage = consultationStorage;
_saveToExcelClientsHearing = saveToExcelClientsHearing;
_saveToWordClientsHearing = saveToWordClientsHearing;
_saveToExcelClientsConsultation = saveToExcelClientsConsultation;
_saveToWordClientsConsultation = saveToWordClientsConsultation;
_saveToPdfClients = saveToPdfClients;
_saveToExcelVisitLawyer = saveToExcelVisitLawyer;
_saveToWordVisitLawyer = saveToWordVisitLawyer;
_saveToPdfConsultationHearing = saveToPdfConsultationHearing;
}
public List<ReportClientsHearingViewModel> GetClientsHearing(ReportBindingModel model)
public List<ReportClientsConsultationViewModel> GetClientsConsultation(ReportBindingModel model)
{
var clients = _clientStorage.GetFilteredList(new ClientSearchModel { Id = model.ClientId, ExecutorId = model.ExecutorId });
var hearings = _hearingStorage.GetFullList();
var visits = _visitStorage.GetFilteredList(new VisitSearchModel { ExecutorId = model.ExecutorId });
var clients = _clientStorage.GetFilteredList(new ClientSearchModel { Id = model.ClientId });
var cases = _caseStorage.GetFullList();
var consultations = _consultationStorage.GetFullList();
var list = new List<ReportClientsHearingViewModel>();
var list = new List<ReportClientsConsultationViewModel>();
foreach (var client in clients)
{
var record = new ReportClientsHearingViewModel
var record = new ReportClientsConsultationViewModel
{
ClientFIO = client.FIO,
};
foreach (var vis in visits)
foreach (var cas in cases)
{
if (vis.VisitClients.ContainsKey(client.Id))
if (cas.CaseClients.ContainsKey(client.Id))
{
foreach (var hear in hearings)
foreach (var cons in consultations)
{
if (vis.HearingId.Equals(hear.Id))
if (cons.CaseId.Equals(cas.Id))
{
record.Visits.Add(vis.VisitDate.ToString());
record.HearingDate = hear.HearingDate;
record.ConsultationDate = cons.ConsultationDate;
record.ConsultationCost = cons.Cost;
}
}
}
@ -207,23 +207,23 @@ namespace LawFirmBusinessLogic.BusinessLogics
return list;
}
public void SaveClientsHearingToExcelFile(ReportBindingModel model)
public void SaveClientsConsultationToExcelFile(ReportBindingModel model)
{
_saveToExcelClientsHearing.CreateReport(new ExcelClientsHearingInfo
_saveToExcelClientsConsultation.CreateReport(new ExcelClientsConsultationInfo
{
FileName = model.FileName,
Title = "Слушания по клиентам",
ClientsHearing = GetClientsHearing(model)
ClientsConsultation = GetClientsConsultation(model)
});
}
public void SaveClientsHearingToWordFile(ReportBindingModel model)
public void SaveClientsConsultationToWordFile(ReportBindingModel model)
{
_saveToWordClientsHearing.CreateDoc(new WordClientsHearingInfo
_saveToWordClientsConsultation.CreateDoc(new WordClientsConsultationInfo
{
FileName = model.FileName,
Title = "Слушания по клиентам",
ClientsHearing = GetClientsHearing(model)
ClientsConsultation = GetClientsConsultation(model)
});
}

View File

@ -3,13 +3,13 @@ using LawFirmBusinessLogic.OfficePackages.HelperModels;
namespace LawFirmBusinessLogic.OfficePackages
{
public abstract class AbstractSaveToExcelClientsHearing
public abstract class AbstractSaveToExcelClientsConsultation
{
/// <summary>
/// Создание отчета
/// </summary>
/// <param name="info"></param>
public void CreateReport(ExcelClientsHearingInfo info)
public void CreateReport(ExcelClientsConsultationInfo info)
{
CreateExcel(info);
InsertCellInWorksheet(new ExcelCellParameters
@ -25,7 +25,7 @@ namespace LawFirmBusinessLogic.OfficePackages
CellToName = "C1"
});
uint rowIndex = 2;
foreach (var ch in info.ClientsHearing)
foreach (var ch in info.ClientsConsultation)
{
InsertCellInWorksheet(new ExcelCellParameters
{
@ -63,7 +63,7 @@ namespace LawFirmBusinessLogic.OfficePackages
/// Создание excel-файла
/// </summary>
/// <param name="info"></param>
protected abstract void CreateExcel(ExcelClientsHearingInfo info);
protected abstract void CreateExcel(ExcelClientsConsultationInfo info);
/// <summary>
/// Добавляем новую ячейку в лист
/// </summary>
@ -79,6 +79,6 @@ namespace LawFirmBusinessLogic.OfficePackages
/// Сохранение файла
/// </summary>
/// <param name="info"></param>
protected abstract void SaveExcel(ExcelClientsHearingInfo info);
protected abstract void SaveExcel(ExcelClientsConsultationInfo info);
}
}

View File

@ -3,9 +3,9 @@ using LawFirmBusinessLogic.OfficePackages.HelperModels;
namespace LawFirmBusinessLogic.OfficePackages
{
public abstract class AbstractSaveToWordClientsHearing
public abstract class AbstractSaveToWordClientsConsultation
{
public void CreateDoc(WordClientsHearingInfo info)
public void CreateDoc(WordClientsConsultationInfo info)
{
CreateWord(info);
CreateParagraph(new WordParagraph
@ -19,16 +19,16 @@ namespace LawFirmBusinessLogic.OfficePackages
JustificationType = WordJustificationType.Center
}
});
foreach (var clientsHearing in info.ClientsHearing)
foreach (var clientsConsultation in info.ClientsConsultation)
{
foreach (var hearing in clientsHearing.Hearings)
foreach (var hearing in clientsConsultation.Hearings)
{
CreateParagraph(new WordParagraph
{
Texts = new List<(string, WordTextProperties)> {
(clientsHearing.ClientFIO, new WordTextProperties
(clientsConsultation.ClientFIO, new WordTextProperties
{ Size = "24", Bold=true}), (" " + hearing.Court, new WordTextProperties { Size = "24"}),
(" " + hearing.HearingDate.ToString(), new WordTextProperties { Size = "24"})
},
@ -46,7 +46,7 @@ namespace LawFirmBusinessLogic.OfficePackages
/// Создание doc-файла
/// </summary>
/// <param name="info"></param>
protected abstract void CreateWord(WordClientsHearingInfo info);
protected abstract void CreateWord(WordClientsConsultationInfo info);
/// <summary>
/// Создание абзаца с текстом
/// </summary>
@ -57,6 +57,6 @@ namespace LawFirmBusinessLogic.OfficePackages
/// Сохранение файла
/// </summary>
/// <param name="info"></param>
protected abstract void SaveWord(WordClientsHearingInfo info);
protected abstract void SaveWord(WordClientsConsultationInfo info);
}
}

View File

@ -2,11 +2,11 @@
namespace LawFirmBusinessLogic.OfficePackages.HelperModels
{
public class ExcelClientsHearingInfo
public class ExcelClientsConsultationInfo
{
public string FileName { get; set; } = string.Empty;
public string Title { get; set; } = string.Empty;
public List<ReportClientsHearingViewModel> ClientsHearing
public List<ReportClientsConsultationViewModel> ClientsConsultation
{
get;
set;

View File

@ -2,10 +2,10 @@
namespace LawFirmBusinessLogic.OfficePackages.HelperModels
{
public class WordClientsHearingInfo
public class WordClientsConsultationInfo
{
public string FileName { get; set; } = string.Empty;
public string Title { get; set; } = string.Empty;
public List<ReportClientsHearingViewModel> ClientsHearing { get; set; } = new();
public List<ReportClientsConsultationViewModel> ClientsConsultation { get; set; } = new();
}
}

View File

@ -8,7 +8,7 @@ using LawFirmBusinessLogic.OfficePackages.HelperModels;
namespace LawFirmBusinessLogic.OfficePackages.Implements
{
public class SaveToExcelClientsHearing : AbstractSaveToExcelClientsHearing
public class SaveToExcelClientsConsultation : AbstractSaveToExcelClientsConsultation
{
private SpreadsheetDocument? _spreadsheetDocument;
private SharedStringTablePart? _shareStringPart;
@ -205,7 +205,7 @@ namespace LawFirmBusinessLogic.OfficePackages.Implements
_ => 0U,
};
}
protected override void CreateExcel(ExcelClientsHearingInfo info)
protected override void CreateExcel(ExcelClientsConsultationInfo info)
{
_spreadsheetDocument = SpreadsheetDocument.Create(info.FileName,
SpreadsheetDocumentType.Workbook);
@ -337,7 +337,7 @@ namespace LawFirmBusinessLogic.OfficePackages.Implements
};
mergeCells.Append(mergeCell);
}
protected override void SaveExcel(ExcelClientsHearingInfo info)
protected override void SaveExcel(ExcelClientsConsultationInfo info)
{
if (_spreadsheetDocument == null)
{

View File

@ -6,7 +6,7 @@ using LawFirmBusinessLogic.OfficePackages.HelperModels;
namespace LawFirmBusinessLogic.OfficePackages.Implements
{
public class SaveToWordClientsHearing : AbstractSaveToWordClientsHearing
public class SaveToWordClientsConsultation : AbstractSaveToWordClientsConsultation
{
private WordprocessingDocument? _wordDocument;
private Body? _docBody;
@ -74,7 +74,7 @@ namespace LawFirmBusinessLogic.OfficePackages.Implements
properties.AppendChild(paragraphMarkRunProperties);
return properties;
}
protected override void CreateWord(WordClientsHearingInfo info)
protected override void CreateWord(WordClientsConsultationInfo info)
{
_wordDocument = WordprocessingDocument.Create(info.FileName,
WordprocessingDocumentType.Document);
@ -111,7 +111,7 @@ namespace LawFirmBusinessLogic.OfficePackages.Implements
}
_docBody.AppendChild(docParagraph);
}
protected override void SaveWord(WordClientsHearingInfo info)
protected override void SaveWord(WordClientsConsultationInfo info)
{
if (_docBody == null || _wordDocument == null)
{

View File

@ -5,13 +5,13 @@ namespace LawFirmContracts.BusinessLogicContracts
{
public interface IReportLogic
{
List<ReportClientsHearingViewModel> GetClientsHearing(ReportBindingModel model);
List<ReportClientsConsultationViewModel> GetClientsConsultation(ReportBindingModel model);
List<ReportClientsViewModel> GetGetClients(ReportBindingModel model);
List<ReportVisitLawyerViewModel> GetVisitLawyer(ReportBindingModel model);
List<ReportConsultationHearingViewModel> GetConsultationHearing(ReportBindingModel model);
void SaveClientsHearingToWordFile(ReportBindingModel model);
void SaveClientsHearingToExcelFile(ReportBindingModel model);
void SaveClientsConsultationToWordFile(ReportBindingModel model);
void SaveClientsConsultationToExcelFile(ReportBindingModel model);
void SaveVisitLawyerToWordFile(ReportBindingModel model);
void SaveVisitLawyerToExcelFile(ReportBindingModel model);
void SaveConsultationHearingToPdfFile(ReportBindingModel model);

View File

@ -0,0 +1,10 @@
namespace LawFirmContracts.ViewModels
{
public class ReportClientsConsultationViewModel
{
public string ClientFIO { get; set; } = string.Empty;
public double? ConsultationCost { get; set; }
public DateTime? ConsultationDate { get; set; }
// public List<(DateTime ConsultationDate, string Cost)> Consultations { get; set; } = new();
}
}

View File

@ -1,9 +0,0 @@
namespace LawFirmContracts.ViewModels
{
public class ReportClientsHearingViewModel
{
public string ClientFIO { get; set; } = string.Empty;
public DateTime? HearingDate { get; set; }
public List<string> Visits { get; set; } = new();
}
}