< Summary

Information
Class: OzonOrdersWeb.WebServices.Directories.DirectoryGridDefinitions
Assembly: OzonOrdersWeb
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Directories/DirectoryGridDefinitions.cs
Line coverage
97%
Covered lines: 38
Uncovered lines: 1
Coverable lines: 39
Total lines: 54
Line coverage: 97.4%
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
.cctor()100%1197.43%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonOrdersWeb/WebServices/Directories/DirectoryGridDefinitions.cs

#LineLine coverage
 1using OzonDomains.Models;
 2using OzonOrdersWeb.WebServices.Grid;
 3
 4namespace OzonOrdersWeb.WebServices.Directories;
 5
 6/// <summary>
 7/// Серверные гриды больших справочников (десятки тысяч строк): whitelist колонок (colId → выражение EF), поиск и
 8/// порядок по умолчанию. colId совпадают с колонками гридов в Producers/Index и Products/Index.
 9/// </summary>
 10public static class DirectoryGridDefinitions
 11{
 12    /// <summary>Производители ET (et_producers, ~20 тыс.).</summary>
 113    public static readonly ServerGridDefinition<EtProducer> Producers =
 114        new ServerGridDefinition<EtProducer>
 115            {
 116                DefaultOrder = q => q.OrderBy(p => p.Name).ThenBy(p => p.Id),
 117                TieBreaker = p => p.Id
 118            }
 119            .Col("id", p => p.Id)
 120            .Col("realId", p => p.RealId)
 121            .Col("marketPrefix", p => p.MarketPrefix)
 122            .Col("name", p => p.Name)
 123            .Col("prefix", p => p.Prefix)
 124            .Col("address", p => p.Address)
 125            .Col("www", p => p.Www)
 126            .Col("existName", p => p.ExistName)
 127            .Col("existId", p => p.ExistId)
 128            .Col("domain", p => p.Domain)
 129            .Col("rating", p => p.Rating)
 130            .Col("tecdocSupplierId", p => p.TecdocSupplierId)
 131            .Search(p => p.Name, p => p.MarketPrefix, p => p.Prefix, p => p.ExistName, p => p.Domain);
 32
 33    /// <summary>Товары (Products, ~50 тыс.).</summary>
 134    public static readonly ServerGridDefinition<Product> Products =
 135        new ServerGridDefinition<Product>
 136            {
 137                // Новые сначала: у части старых записей артикул пуст, и сортировка по нему открывала пустой экран.
 038                DefaultOrder = q => q.OrderByDescending(p => p.Id),
 139                TieBreaker = p => p.Id
 140            }
 141            .Col("id", p => p.Id)
 142            .Col("article", p => p.Article)
 143            .Col("ozonProductId", p => p.OzonProductId)
 144            .Col("fboOzonSkuId", p => p.FboOzonSkuId)
 145            .Col("fbsOzonSkuId", p => p.FbsOzonSkuId)
 146            .Col("commercialCategory", p => p.CommercialCategory)
 147            .Col("barcode", p => p.Barcode)
 148            .Col("volume", p => p.Volume)
 149            .Col("volumetricWeight", p => p.VolumetricWeight)
 150            .Col("weight", p => p.Weight)
 151            .Col("currentPriceWithDiscount", p => p.CurrentPriceWithDiscount)
 152            .Col("replacementArticle", p => p.ReplacementProduct != null ? p.ReplacementProduct.Article : null)
 153            .Search(p => p.Article, p => p.OzonProductId, p => p.FboOzonSkuId, p => p.FbsOzonSkuId, p => p.Barcode, p =>
 54}

Methods/Properties

.cctor()