Skip to content

Instantly share code, notes, and snippets.

@mehmetkurt
Last active February 23, 2023 16:31
Show Gist options
  • Save mehmetkurt/65b1f4d28270ebf74a86a85ade5e14b2 to your computer and use it in GitHub Desktop.
Save mehmetkurt/65b1f4d28270ebf74a86a85ade5e14b2 to your computer and use it in GitHub Desktop.
MAkif-research

Araştır

Git

Temel Linux Terminal Komutları

Bash

Windows Terminal

Sql Local Db

Kestrel Nedir

Deploy Nedir

Dependency Injection & IoC

Repository Pattern Nedir?

Reflection Nedir?

C# Reflection

C# Generics

Migrations & ORM

https://fluentmigrator.github.io/

https://github.com/linq2db/linq2db

Coding Standartds

https://docs.nopcommerce.com/en/developer/tutorials/coding-standards.html

Data Validation

https://docs.fluentvalidation.net/en/latest/

Plugin Tipleri

  1. IPaymentMethod. These plugins are used for payment processing.
  2. IShippingRateComputationMethod. These plugins are used for retrieving accepted delivery methods and appropriate shipping rates. For example, UPS, UPS, FedEx, etc.
  3. IPickupPointProvider. These plugins are used for providing pickup points.
  4. ITaxProvider. Tax providers are used for getting tax rates.
  5. IExchangeRateProvider. Used for getting currency exchange rate.
  6. IDiscountRequirementRule. Allows you to create new discount rules such as "Billing country of a customer should be…"
  7. IExternalAuthenticationMethod. Used for creating external authentication methods such as Facebook, Twitter, OpenID, etc.
  8. IMultiFactorAuthenticationMethod. Used for creating multi-factor authentication methods such as GoogleAuthenticator, etc.
  9. IWidgetPlugin. It allows you to create widgets. Widgets are rendered on some parts of your site. For example, it can be a "Live chat" block on your site's left column.
  10. IMiscPlugin. If your plugin doesn't fit any of the interfaces above.

Plugin Project Template

CHANGE-ME yazan kısım değiştirilmesi yeterlidir.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <OutputPath>..\..\Presentation\Nop.Web\Plugins\CHANGE-ME</OutputPath>
    <OutDir>$(OutputPath)</OutDir>
    <CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
  </PropertyGroup>

  <ItemGroup>
    <ClearPluginAssemblies Include="$(MSBuildProjectDirectory)\..\..\Build\ClearPluginAssemblies.proj" />
  </ItemGroup>

  <!-- This target execute after "Build" target -->
  <Target Name="NopTarget" AfterTargets="Build">
    <!-- Delete unnecessary libraries from plugins path -->
    <MSBuild Projects="@(ClearPluginAssemblies)" Properties="PluginPath=$(MSBuildProjectDirectory)\$(OutDir)" Targets="NopClear" />
  </Target>
</Project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment