Ana içeriğe atla

Northwind ve Diğer Örnekleri Serene/StartSharp'tan Kaldırma

 

Proje oluşturma sırasında belirli özelliklerin işaretini kaldırmayı unuttuysanız veya başlangıçta yalnızca örnek modülleri referans olarak tutmak istiyorsanız, üretime dağıtmadan önce modülleri ve bunların yapıtlarını uygulamanızdan kaldırmak isteyebilirsiniz. Bunu nasıl yapacağınız aşağıda açıklanmıştır:

Serenity ve Serene/StartSharp sık sık güncellendiğinden, bu talimatlardan bazılarının güncelliğini yitirebileceğini lütfen unutmayın. Yapılması gereken herhangi bir değişiklik fark ederseniz https://github.com/serenity-is/docs/blob/master/howto/how_to_remove_sample_modules.md adresinden bu belgeyi düzenleyebilir ve bir çekme isteği gönderebilirsiniz.

Northwind, Temel Örnekler ve Gelişmiş Örnekler Modüllerini Kaldırma

Advanced Samplesve modüle Basic Samplesbağlıdır , dolayısıyla diğerlerini de çıkarmadan Northwindkaldıramazsınız .Northwind

Startup.cs'deki Assembly Kayıtlarını Kaldırma:

Startup.csBu modüllerin montaj kaydını kaldırmak için dosyayı düzenleyin :

//<if:Northwind>
typeof(Serenity.Demo.Northwind.CustomerController).Assembly,
//</if:Northwind>
//<if:BasicSamples>
typeof(Serenity.Demo.BasicSamples.BasicSamplesController).Assembly,
//</if:BasicSamples>
//<if:AdvancedSamples>
typeof(Serenity.Demo.AdvancedSamples.AdvancedSamplesController).Assembly,
//</if:AdvancedSamples>
//<if:DataAuditLog>

İle başlayan satırlar, typeofözellik modüllerinin gezinme öğelerini ve diğer şeyleri kaydedebilmesi için oradadır.

Projeyi oluşturmadığınız <if:Northwind>sürece burada yorum stilini göremeyebilirsiniz .serin

Northwind için Bağlantı Dizesini Kaldırma:

Dosyayı düzenleyin appsettings.jsonve Northwindbağlantı dizesini kaldırın:

"Northwind": {
    "ConnectionString": "Server=(localdb)\\MsSqlLocalDB;Database=MyProject_Northwind_v1;...",
    "ProviderName": "System.Data.SqlClient"
}

Ayrıca YourProjectName_Northwind_Default_v1 veritabanını (localdb)\MsSqlLocalDB konumundan da silmek isteyebilirsiniz.

Northwind Paketini şuradan kaldırmak appsettings.bundles.json:

Aşağıdaki satırları dosyadan kaldırın appsettings.bundles.json:

"NorthwindLookups": [
    "dynamic://Lookup.Northwind.Category",
    "dynamic://Lookup.Northwind.Customer",
    "dynamic://Lookup.Northwind.CustomerCountry",
    "dynamic://Lookup.Northwind.CustomerCity",
    "dynamic://Lookup.Northwind.Employee",
    "dynamic://Lookup.Northwind.Shipper",
    "dynamic://Lookup.Northwind.OrderShipCountry",
    "dynamic://Lookup.Northwind.OrderShipCity",
    "dynamic://Lookup.Northwind.Product",
    "dynamic://Lookup.Northwind.Region",
    "dynamic://Lookup.Northwind.Supplier",
    "dynamic://Lookup.Northwind.Territory"
]

Bu, Northwind ile ilgili aramalar için bir paket tanımıdır.

Northwind Toplamalarını Kontrol Panelinden Kaldırma

Dosyayı değiştirmediyseniz DashboardPage.cs, orada aşağıdakine benzer bir şeyle karşılaşabilirsiniz:

public ActionResult Index(
    //<if:Northwind>
    [FromServices] ITwoLevelCache cache,
    [FromServices] ISqlConnections sqlConnections
    //</if:Northwind>
    )
{
    //<if:Northwind>
    if (cache is null)
        throw new ArgumentNullException(nameof(cache));

    if (sqlConnections is null)
        throw new ArgumentNullException(nameof(sqlConnections));

    var o = Serenity.Demo.Northwind.OrderRow.Fields;
    //...

Northwind kümelerini kontrol panelinden kaldırmak için bloğun tamamını aşağıdakiyle değiştirin:

[PageAuthorize, HttpGet, Route("~/")]
public ActionResult Index()
{
    return View(MVC.Views.Common.Dashboard.DashboardIndex, 
        new DashboardPageModel());
}

Kodlarınızın hiçbirini silmediğinizden emin olun!

Ayrıca DashboardIndex.cshtmlaşağıdakine benzeyen satırları düzenleyin ve değiştirin:

<!--<if:Northwind>-->
<a href="~/Northwind/Order?shippingState=0" 
    class="card-footer">More info 
    <i class="fa fa-arrow-circle-right"></i></a>
<!--</if:Northwind>-->

ile:

<a href="" class="card-footer">More info 
    <i class="fa fa-arrow-circle-right"></i></a>

Örnek Gezinme Öğelerini Kaldırma

NavigationItems.csAşağıdakileri kaldırmak için dosyayı düzenleyin :

[assembly: NavigationSection("MyProject/Demo Modules",
    Include = new[] { "Northwind", "Basic Samples", "Advanced Samples", "Theme Samples" })]

Dosyayı düzenleyin DataMigrations.csve Northwind'e başvuran satırları kaldırın:

private static readonly string[] databaseKeys = new[] { // dont remove this!
    "Default" // don't remove this!
    //<if:Northwind> // remove this
    , "Northwind" // remove this
    //</if:Northwind> // remove this
};

//<if:Northwind> // remove all these
if (databaseKey.Equals("Northwind", StringComparison.OrdinalIgnoreCase))
{
    migrationNamespace = typeof(Serenity.Demo.Northwind.Migrations.MigrationAttribute).Namespace;
    migrationAssemblies = new[] { typeof(Serenity.Demo.Northwind.Migrations.MigrationAttribute).Assembly };
}
//</if:Northwind>

Paket Referanslarını Kaldırma

Proje dosyasını ( YourProjectName.Web.csproj) düzenleyin ve aşağıdaki paket referanslarını kaldırın:

    <!--<if:Northwind>-->
    <PackageReference Include="Serenity.Demo.Northwind" 
        Version="6.4.3.1" />
    <!--</if:Northwind>-->
    <!--<if:BasicSamples>-->
    <PackageReference Include="Serenity.Demo.BasicSamples" 
        Version="6.4.3.1" />
    <!--</if:BasicSamples>-->
    <PackageReference Include="Serenity.Pro.UI" 
        Version="6.4.3.2" />
    <!--<if:AdvancedSamples>-->
    <PackageReference Include="Serenity.Demo.AdvancedSamples" 
        Version="6.4.3.2" />
    <!--</if:AdvancedSamples>-->

<!--if:Northwind>-->Yine, eğer kullanmadıysanız gibi görünen çizgiler orada olmayacak serin.

Yazımları Kaldırma

Aşağıdaki klasörlerden herhangi birine sahipseniz bunları silin:

typings/serenity.demo.advancedsamples
typings/serenity.demo.basicsamples
typings/serenity.demo.northwind

Lütfen ES modülleri kullanıyorsanız, örneğin 6.4.3+ sürümünden oluşturulan herhangi bir projede, yalnızca eski stil kodu typingsiçin kullanıldığından klasöre hiç ihtiyacınız olmadığını unutmayın. NamespacesTüm klasörü güvenle kaldırabilirsiniz.

Projeyi Yeniden Oluşturun

Bu noktadan itibaren projenizde Northwind ve örnek modüllerle ilgili herhangi bir yapıtın bulunmaması gerekmektedir. Düzgün çalışıp çalışmadığını görmek için projenizi yeniden oluşturun ve çalıştırın.

Diğer Pro Özelliklerini Kaldırma

DataAuditLog'u Kaldırma

Lütfen Veri Denetim Günlüğü işlevini kullanmadığınızdan ve kaldırmadan önce varlıklarınızda herhangi bir [AuditLog] özelliğinin bulunmadığından emin olun.

Aşağıdaki satırları dosyadan silin Startup.cs:

//<if:DataAuditLog>
typeof(Serenity.Pro.DataAuditLog.DataAuditLogController).Assembly,
//</if:DataAuditLog>

Dosyayı silin Migrations/DefaultDB/DefaultDB_20180513_2014_DataAuditLog.cs.

Aşağıdaki satırları dosyadan silin AdministrationNavigation.cs:

//<if:DataAuditLog>
[assembly: NavigationLink(9100, "Administration/Data Audit Log", 
    typeof(Serenity.Pro.DataAuditLog.DataAuditLogController), 
    icon: "fa-history premium-feature")]
//</if:DataAuditLog>

Aşağıdaki paket referansını proje dosyasından kaldırın:

<!--<if:DataAuditLog>-->
<PackageReference Include="Serenity.Pro.DataAuditLog" 
    Version="6.4.3.2" />
<!--</if:DataAuditLog>-->

DataExplorer'ı Kaldırma

DataExplorerYalnızca dinamik veri gezgini sayfasını veya bileşenlerinden herhangi birini kullanmıyorsanız kaldırılmalıdır .

Aşağıdaki satırları dosyadan kaldırın Startup.cs:

//<if:DataExplorer>
typeof(Serenity.Pro.DataExplorer.DataExplorerController).Assembly,
//</if:DataExplorer>

//<if:DataExplorer>
services.Configure<Serenity.Pro.DataExplorer.DataExplorerConfig>(
    Configuration.GetSection(
        Serenity.Pro.DataExplorer.DataExplorerConfig.SectionKey));
//</if:DataExplorer>

Aşağıdaki satırları dosyadan silin AdministrationNavigation.cs:

//<if:DataExplorer>
[assembly: NavigationLink(9200, "Administration/Data Explorer", 
    typeof(Serenity.Pro.DataExplorer.DataExplorerController), 
    icon: "fa-database premium-feature")]
//</if:DataExplorer>

Aşağıdaki paket referansını proje dosyasından kaldırın:

<!--<if:DataExplorer>-->
<PackageReference Include="Serenity.Pro.DataExplorer" Version="6.4.3.2" />
<!--</if:DataExplorer>-->

KaldırılıyorEmailClient

EmailClientIMAP e-posta istemcisi örneğini kullanmıyorsanız kaldırılmalıdır .

Aşağıdaki satırları dosyadan kaldırın Startup.cs:

//<if:EmailClient>
typeof(Serenity.Pro.EmailClient.MailboxController).Assembly,
//</if:EmailClient>

Aşağıdaki paket referansını proje dosyasından kaldırın:

<!--<if:EmailClient>-->
<PackageReference Include="Serenity.Pro.EmailClient" Version="6.4.3.2" />
<!--</if:EmailClient>-->

Serenity.Pro.UIPaket Referansını Kaldırma

öğesini kaldırdıysanız EmailClient, yalnızca şunun tarafından kullanıldığı için bu paket referansını da kaldırabilirsiniz:

<PackageReference Include="Serenity.Pro.UI" Version="6.4.3.2" />

KaldırılıyorEmailQueue

E-posta kuyruğa alma işlevini kullanmıyorsanız (örneğin, e-postaları gönderilmeden önce posta kuyruğuna koymak ve ilk kez başarısız olduklarında göndermeyi yeniden denemek), EmailQueue.

Aşağıdaki satırları dosyadan silin Startup.cs:

//<if:EmailQueue>
typeof(Serenity.Pro.EmailQueue.EmailQueueController).Assembly,
//</if:EmailQueue>

//<if:EmailQueue>
backgroundJobManager.Register(ActivatorUtilities
    .CreateInstance<Serenity.Pro.EmailQueue.EmailQueueJob>(app.ApplicationServices));
//</if:EmailQueue>

Migrations/DefaultDB/DefaultDB_20170211_1527_Mailing.cs, ve dosyaları silin DefaultDB_20210522_1623_MailSerializedMessage.cs.

Aşağıdaki satırları dosyadan silin AdministrationNavigation.cs:

//<if:EmailQueue>
[assembly: NavigationLink(9300, "Administration/Email Queue", 
    typeof(Serenity.Pro.EmailQueue.EmailQueueController), 
    icon: "fa-envelope-o premium-feature")]
//</if:EmailQueue>

Aşağıdaki satırları dosyadan kaldırın appsettings.json:

  "MailingService": {
    "Enabled": true,
    "AutoUse": true,
    //...
  }

Aşağıdaki paket referansını proje dosyasından kaldırın:

<!--<if:EmailQueue>-->
<PackageReference Include="Serenity.Pro.EmailQueue" 
    Version="6.4.3.2" />
<!--</if:EmailQueue>-->

KaldırılıyorOpenIdDict

JWT / Open ID bağlantı kimlik doğrulamasını kullanmıyorsanız, örneğin hizmetlerinize mobil uygulamalar aracılığıyla bağlanıyorsanız, OpenIddict entegrasyonunu kaldırabilirsiniz.

Aşağıdaki satırları dosyadan silin Startup.cs:

//<if:OpenIddict>
var openIdSection = Configuration.GetSection(...)
services.Configure<Serenity.Pro.OpenIddict.OpenIdSettings>(...);
var openIdSettings = openIdSection.Get<...>();
if (openIdSettings.Enabled)
    services.AddOpenIddictLocalServerWithDefaults(...);
//</if:OpenIddict>

//<if:OpenIddict>
var openIdSettings = app.ApplicationServices.GetService<...>>().Value;
if (openIdSettings.Enabled)
    app.UseOpenIddictSchemeFor(...);
//</if:OpenIddict>

Dosyayı silin Migrations/DefaultDB/DefaultDB_20220629_1515_OpenIddict.cs.

Klasörü silin Modules/Administration/OpenId.

Aşağıdaki satırları dosyadan kaldırın appsettings.json:

  "OpenIdSettings": {
    "Enabled": false,
    "Applications": [
      //...
    ]
  },

Aşağıdaki paket referansını proje dosyasından kaldırın:

<!--<if:OpenIddict>-->
<PackageReference Include="Serenity.Pro.OpenIddict" 
    Version="6.4.3.2" />
<!--</if:OpenIddict>-->

KaldırılıyorMeeting

Meetingaltındaki toplantı sayfalarından herhangi birini kullanmıyorsanız modülün kaldırılması gerekir Pro Features/Meeting.

Aşağıdaki satırları dosyadan kaldırın Startup.cs:

//<if:Meeting>
typeof(Serenity.Pro.Meeting.MeetingController).Assembly,
//</if:Meeting>

Dosyayı silin Migrations/DefaultDB/DefaultDB_20161126_2100_Meeting.cs.

"Meeting"Dosyadaki aşağıdaki satırlardan silin NavigationItems.cs:

[assembly: NavigationSection("MyProject/Pro Features",
    Include = new[] { "Meeting", "Organization", "Work Log" })]

Aşağıdaki paket referansını proje dosyasından kaldırın:

<!--<if:Meeting>-->
<PackageReference Include="Serenity.Pro.Meeting" Version="6.4.3.2" />
<!--</if:Meeting>-->

KaldırılıyorOrganization

Modül Meeting, modüle bağlı olduğundan, yalnızca modülü kaldırdıysanız ve altındaki organizasyon sayfalarından hiçbirini kullanmıyorsanız Organizationkaldırılmalıdır .MeetingPro Features/Organization

Aşağıdaki satırları dosyadan kaldırın Startup.cs:

//<if:Organization>
typeof(Serenity.Pro.Organization.BusinessUnitController).Assembly,
//</if:Organization>

Dosyayı silin Migrations/DefaultDB/DefaultDB_20161126_2000_Organization.cs.

"Organization"Dosyadaki aşağıdaki satırlardan silin NavigationItems.cs:

[assembly: NavigationSection("MyProject/Pro Features",
    Include = new[] { "Organization", "Work Log" })]

Aşağıdaki paket referansını proje dosyasından kaldırın:

<!--<if:Organization>-->
<PackageReference Include="Serenity.Pro.Organization" Version="6.4.3.2" />
<!--</if:Organization>-->

WorkLog'u Kaldırma

WorkLogZaman takibi/iş günlüğü sayfalarını kullanmıyorsanız modül kaldırılabilir .

Aşağıdaki satırları dosyadan kaldırın Startup.cs:

//<if:WorkLog>
typeof(Serenity.Pro.WorkLog.WorkLogController).Assembly,
//</if:WorkLog>

Dosyayı silin Migrations/DefaultDB/DefaultDB_20210824_1546_WorkLog.cs.

"Work Log"Dosyadaki aşağıdaki satırlardan silin NavigationItems.cs:

[assembly: NavigationSection("MyProject/Pro Features",
    Include = new[] { "Work Log" })]

Aşağıdaki paket referansını proje dosyasından kaldırın:

<!--<if:WorkLog>-->
<PackageReference Include="Serenity.Pro.WorkLog" Version="6.4.3.2" />
<!--</if:WorkLog>-->

Bu blogdaki popüler yayınlar

Code generetor ile oluşturulan dosyaların açıklamaları

  1. Sunum (Presentation/UI) Katmanı (Kullanıcı arayüzü - HTML, TypeScript, Dialog, Grid) 🔹 XYZPage.ts 📌 Ne İşe Yarar? Kullanıcı arayüzünün TypeScript tarafındaki tanımıdır. Serenity'nin Dialog ve Grid bileşenlerini içeren bir TypeScript sınıfıdır. 📌 Çok Katmanlı Mimarideki Yeri: Sunum Katmanı (Presentation Layer) Kullanıcıdan veri almak ve göstermek için kullanılır. 🔹 XYZGrid.ts 📌 Ne İşe Yarar? Tablo (Grid) yapısını oluşturur ve verileri listeler. Filtreleme, sıralama ve sayfalama işlemleri için kullanılır. columnsKey ile hangi kolonların gösterileceğini belirler. 📌 Çok Katmanlı Mimarideki Yeri: Sunum Katmanı (Presentation Layer) Kullanıcının verileri listelediği ve etkileşimde bulunduğu yerdir. 🔹 XYZDialog.ts 📌 Ne İşe Yarar? CRUD (Create, Read, Update, Delete) işlemlerini yöneten pencere (modal) bileşeni Kullanıcı form aracılığıyla veri ekler, günceller veya siler. XYZForm.cs ile birlikte çalışır. 📌 Çok Katmanlı Mimarideki Yeri: Sunum Katmanı (Presentation Layer) Kull...

Serenity Web Nedir?

   Serenity  , açık kaynak teknolojileri üzerine kurulu bir ASP.NET Core/TypeScript uygulama platformudur. Standart kodlardan kaçınarak, tekrarlanan görevlere harcanan zamanı azaltarak ve en iyi yazılım tasarımı uygulamalarını uygulayarak bakım maliyetlerini düşürürken geliştirmeyi kolaylaştırmayı amaçlamaktadır. Serene  , Serenity platformunu temel alan ücretsiz, açık kaynaklı başlangıç ​​uygulama şablonumuzdur.  Bu dokümantasyon aracılığıyla eğitimimiz ve diğer örnekler için esas olarak Serene'yi kullanacağız. StartSharp  , ücretli müşterilerimize sunduğumuz premium uygulama şablonudur.  Daha gösterişli bir temaya ve bazı ekstra özelliklere  ek olarak Serene'deki her şeyi içerir  .  İkisi de Serenity platformunu temel alıyor. Adında Ne Var Serenity'nin sözlük anlamları  barış  ,  rahatlık  ve  sakinliktir  . Serenity ile bunu başarmaya çalışıyoruz.  Umarız yükledikten ve kullandıktan sonra siz de bu ş...