Помогите правильно прочитать код и разобраться с кодом C#
Цитата: Удаленный пользователь от 07.08.2022, 12:41Есть функция FillName для формирование имени документа.
базовая функция кода:public virtual void FillName() { _obj.Name = _obj.DocumentKind + " " + _obj.Id.ToString(); }Затем есть переопределенная функция которая наследует от базового FillName() для нового типа документа.[spoiler title=""]
public override void FillName() { var documentKind = _obj.DocumentKind; if (documentKind != null && !documentKind.GenerateDocumentName.Value && _obj.Name == Docflow.Resources.DocumentNameAutotext) _obj.Name = string.Empty; if (documentKind == null || !documentKind.GenerateDocumentName.Value) return; var name = string.Empty; /* Имя в формате: <Вид документа> №<номер> от <дата> для <Кому выдана> "<содержание>". */ using (TenantInfo.Culture.SwitchTo()) { if (!string.IsNullOrWhiteSpace(_obj.RegistrationNumber)) name += OfficialDocuments.Resources.Number + _obj.RegistrationNumber; if (_obj.RegistrationDate != null) name += OfficialDocuments.Resources.DateFrom + _obj.RegistrationDate.Value.ToString("d"); if (_obj.IssuedTo != null) name += PowerOfAttorneys.Resources.DocumentnameFor + Company.PublicFunctions.Employee.GetShortName(_obj.IssuedTo, DeclensionCase.Genitive, true); if (!string.IsNullOrWhiteSpace(_obj.Subject)) name += " \"" + _obj.Subject + "\""; } if (string.IsNullOrWhiteSpace(name)) name = Docflow.Resources.DocumentNameAutotext; else if (documentKind != null) name = documentKind.ShortName + name; name = Functions.Module.TrimSpecialSymbols(name); _obj.Name = Functions.OfficialDocument.AddClosingQuote(name, _obj); }[/spoiler]
Задача изменить формат формирования имени документа на следующий:
Заявка №<номер> от <дата> <Вид документа> для <Кому выдана> "<содержание>"фраза "Заявка" я добавил как ресурс к сущности - PowerOfAttorneys.Resources.Request.
"Кому выдана" в этом коде - _obj.IssuedTo
"№" - ресурс OfficialDocuments.Resources.Number
"для" - ресурс PowerOfAttorneys.Resources.DocumentnameForПрошу не банить, курс Хачатура по C# изучаю. Благодаря его курсу.. у меня идут продвижения по чтение кода C#.. но здесь не получается разобраться(
Есть функция FillName для формирование имени документа.
базовая функция кода:
public virtual void FillName()
{
_obj.Name = _obj.DocumentKind + " " + _obj.Id.ToString();
}
Затем есть переопределенная функция которая наследует от базового FillName() для нового типа документа.
public override void FillName()
{
var documentKind = _obj.DocumentKind;
if (documentKind != null && !documentKind.GenerateDocumentName.Value && _obj.Name == Docflow.Resources.DocumentNameAutotext)
_obj.Name = string.Empty;
if (documentKind == null || !documentKind.GenerateDocumentName.Value)
return;
var name = string.Empty;
/* Имя в формате:
<Вид документа> №<номер> от <дата> для <Кому выдана> "<содержание>".
*/
using (TenantInfo.Culture.SwitchTo())
{
if (!string.IsNullOrWhiteSpace(_obj.RegistrationNumber))
name += OfficialDocuments.Resources.Number + _obj.RegistrationNumber;
if (_obj.RegistrationDate != null)
name += OfficialDocuments.Resources.DateFrom + _obj.RegistrationDate.Value.ToString("d");
if (_obj.IssuedTo != null)
name += PowerOfAttorneys.Resources.DocumentnameFor + Company.PublicFunctions.Employee.GetShortName(_obj.IssuedTo, DeclensionCase.Genitive, true);
if (!string.IsNullOrWhiteSpace(_obj.Subject))
name += " \"" + _obj.Subject + "\"";
}
if (string.IsNullOrWhiteSpace(name))
name = Docflow.Resources.DocumentNameAutotext;
else if (documentKind != null)
name = documentKind.ShortName + name;
name = Functions.Module.TrimSpecialSymbols(name);
_obj.Name = Functions.OfficialDocument.AddClosingQuote(name, _obj);
}
Задача изменить формат формирования имени документа на следующий:
Заявка №<номер> от <дата> <Вид документа> для <Кому выдана> "<содержание>"
фраза "Заявка" я добавил как ресурс к сущности - PowerOfAttorneys.Resources.Request.
"Кому выдана" в этом коде - _obj.IssuedTo
"№" - ресурс OfficialDocuments.Resources.Number
"для" - ресурс PowerOfAttorneys.Resources.DocumentnameFor
Прошу не банить, курс Хачатура по C# изучаю. Благодаря его курсу.. у меня идут продвижения по чтение кода C#.. но здесь не получается разобраться(
Цитата: Удаленный пользователь от 12.08.2022, 08:22Привет, всё просто:[spoiler title=""]
public override void FillName() { var documentKind = _obj.DocumentKind; if (documentKind != null && !documentKind.GenerateDocumentName.Value && _obj.Name == Docflow.Resources.DocumentNameAutotext) _obj.Name = string.Empty; if (documentKind == null || !documentKind.GenerateDocumentName.Value) return; var name = string.Empty; /* Имя в формате: <Вид документа> №<номер> от <дата> для <Кому выдана> "<содержание>". */ using (TenantInfo.Culture.SwitchTo()) { if (!string.IsNullOrWhiteSpace(_obj.RegistrationNumber)) name += OfficialDocuments.Resources.Number + _obj.RegistrationNumber; if (_obj.RegistrationDate != null) name += OfficialDocuments.Resources.DateFrom + _obj.RegistrationDate.Value.ToString("d"); name += documentKind.ShortName; //magic if (_obj.IssuedTo != null) name += PowerOfAttorneys.Resources.DocumentnameFor + Company.PublicFunctions.Employee.GetShortName(_obj.IssuedTo, DeclensionCase.Genitive, true); if (!string.IsNullOrWhiteSpace(_obj.Subject)) name += " \"" + _obj.Subject + "\""; } if (string.IsNullOrWhiteSpace(name)) name = Docflow.Resources.DocumentNameAutotext; /*else if (documentKind != null) name = documentKind.ShortName + name;*/ name = Functions.Module.TrimSpecialSymbols(name); _obj.Name = Functions.OfficialDocument.AddClosingQuote(name, _obj); }[/spoiler]
Привет, всё просто:
public override void FillName()
{
var documentKind = _obj.DocumentKind;
if (documentKind != null && !documentKind.GenerateDocumentName.Value && _obj.Name == Docflow.Resources.DocumentNameAutotext)
_obj.Name = string.Empty;
if (documentKind == null || !documentKind.GenerateDocumentName.Value)
return;
var name = string.Empty;
/* Имя в формате:
<Вид документа> №<номер> от <дата> для <Кому выдана> "<содержание>".
*/
using (TenantInfo.Culture.SwitchTo())
{
if (!string.IsNullOrWhiteSpace(_obj.RegistrationNumber))
name += OfficialDocuments.Resources.Number + _obj.RegistrationNumber;
if (_obj.RegistrationDate != null)
name += OfficialDocuments.Resources.DateFrom + _obj.RegistrationDate.Value.ToString("d");
name += documentKind.ShortName; //magic
if (_obj.IssuedTo != null)
name += PowerOfAttorneys.Resources.DocumentnameFor + Company.PublicFunctions.Employee.GetShortName(_obj.IssuedTo, DeclensionCase.Genitive, true);
if (!string.IsNullOrWhiteSpace(_obj.Subject))
name += " \"" + _obj.Subject + "\"";
}
if (string.IsNullOrWhiteSpace(name))
name = Docflow.Resources.DocumentNameAutotext;
/*else if (documentKind != null)
name = documentKind.ShortName + name;*/
name = Functions.Module.TrimSpecialSymbols(name);
_obj.Name = Functions.OfficialDocument.AddClosingQuote(name, _obj);
}
Цитата: Удаленный пользователь от 12.08.2022, 09:19Добрый 🖐
Ребята, убирайте код под спойлер.
Как оформлять свои темы и комментарии | Как делать крутые скриншоты
Добрый 🖐
Ребята, убирайте код под спойлер.
Как оформлять свои темы и комментарии | Как делать крутые скриншоты