2023-05-26 02:11:24 +04:00
using CarServiceBusinessLogic.OfficePackage.HelperEnums ;
using CarServiceBusinessLogic.OfficePackage.HelperModels ;
2023-05-25 22:31:46 +04:00
2023-05-26 02:11:24 +04:00
namespace CarServiceBusinessLogic.OfficePackage
2023-05-25 22:31:46 +04:00
{
public abstract class AbstractSaveToWord
{
public void CreateDoc ( WordInfo info )
{
CreateWord ( info ) ;
CreateParagraph ( new WordParagraph
{
Texts = new List < ( string , WordTextProperties ) >
{
( info . Title , new WordTextProperties { Bold = true , Size = "24" , } )
} ,
TextProperties = new WordTextProperties
{
Size = "24" ,
JustificationType = WordJustificationType . Center
}
} ) ;
foreach ( var WWR in info . WorksWithRequests )
{
CreateParagraph ( new WordParagraph
{
Texts = new List < ( string , WordTextProperties ) >
{
( WWR . WorkName , new WordTextProperties { Bold = true , Size = "24" , } )
} ,
TextProperties = new WordTextProperties
{
Size = "24" ,
JustificationType = WordJustificationType . Both
}
} ) ;
if ( WWR . RepairRequests . Count = = 0 )
{
CreateParagraph ( new WordParagraph
{
Texts = new List < ( string , WordTextProperties ) >
{
( "Заявок по работе нет" , new WordTextProperties { Size = "24" , } )
} ,
TextProperties = new WordTextProperties
{
Size = "24" ,
JustificationType = WordJustificationType . Both
}
} ) ;
}
foreach ( var RR in WWR . RepairRequests )
{
CreateParagraph ( new WordParagraph
{
Texts = new List < ( string , WordTextProperties ) >
{
( $"Заявка № {RR.RepairRequestId} от {RR.RepairRequestDateCreated}. Заказчик - {RR.CustomerName}. Транспортное средство - {RR.VehicleName}, г о с . номер {RR.Plate}. Количество работ: {RR.WorksCount}" , new WordTextProperties { Size = "24" , } )
} ,
TextProperties = new WordTextProperties
{
Size = "24" ,
JustificationType = WordJustificationType . Both
}
} ) ;
}
}
SaveWord ( info ) ;
}
/// <summary>
/// Создание doc-файла
/// </summary>
/// <param name="info"></param>
protected abstract void CreateWord ( WordInfo info ) ;
/// <summary>
/// Создание абзаца с текстом
/// </summary>
/// <param name="paragraph"></param>
/// <returns></returns>
protected abstract void CreateParagraph ( WordParagraph paragraph ) ;
/// <summary>
/// Сохранение файла
/// </summary>
/// <param name="info"></param>
protected abstract void SaveWord ( WordInfo info ) ;
}
}