< Summary

Information
Class: OzonDomains.Models.OneCNomenclatureMap
Assembly: OzonDomains
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/OneCNomenclatureMap.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 9
Coverable lines: 9
Total lines: 46
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Id()100%210%
get_ArticleNorm()100%210%
get_ProducerNorm()100%210%
get_OneCRefKey()100%210%
get_OneCArticleRaw()100%210%
get_OneCProducerName()100%210%
get_Source()100%210%
get_CreatedAt()100%210%
get_UpdatedAt()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/Models/OneCNomenclatureMap.cs

#LineLine coverage
 1using System.ComponentModel.DataAnnotations;
 2using System.ComponentModel.DataAnnotations.Schema;
 3
 4namespace OzonDomains.Models;
 5
 6/// <summary>
 7/// Соответствие «нормализованный артикул + производитель» → карточка номенклатуры 1С.
 8/// OData 1С умеет сравнивать <c>Артикул</c> только точно и не имеет функции replace, поэтому
 9/// поиск карточки по нормализованному артикулу на стороне 1С невозможен: артикул «OP620/2»
 10/// не находится по фильтру <c>Артикул eq 'OP6202'</c> и интеграция создаёт дубль карточки.
 11/// Эта таблица держит нормализованный ключ на нашей стороне.
 12/// </summary>
 13[Table("OneCNomenclatureMaps")]
 14public class OneCNomenclatureMap
 15{
 16    [Key]
 17    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
 018    public long Id { get; set; }
 19
 20    /// <summary>Артикул после OneCNomenclatureService.NormalizeArticle (только буквы и цифры, верхний регистр).</summar
 21    [MaxLength(128)]
 022    public string ArticleNorm { get; set; } = string.Empty;
 23
 24    /// <summary>Имя производителя после NormalizeProducerName; пустая строка — карточка без производителя.</summary>
 25    [MaxLength(128)]
 026    public string ProducerNorm { get; set; } = string.Empty;
 27
 28    /// <summary>Ref_Key карточки Catalog_Номенклатура.</summary>
 029    public Guid OneCRefKey { get; set; }
 30
 31    /// <summary>Артикул как он хранится в 1С — для аудита и разбора расхождений форматов.</summary>
 32    [MaxLength(191)]
 033    public string? OneCArticleRaw { get; set; }
 34
 35    /// <summary>Имя производителя как оно хранится в 1С.</summary>
 36    [MaxLength(191)]
 037    public string? OneCProducerName { get; set; }
 38
 39    /// <summary>Откуда появилась запись: sync (фоновая сверка), created (создали карточку), probe (нашли запросом в 1С)
 40    [MaxLength(32)]
 041    public string Source { get; set; } = string.Empty;
 42
 043    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
 44
 045    public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
 46}