Skip to content

chempkovsky/AngularPhonebook

Repository files navigation

AngularPhonebook

ΠœΠΎΠ΄ΡƒΠ»ΠΈ

  • FrontEnd ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
    • Π­Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
    • Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Angular 13 + Angular Material
  • BackEnd ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
    • Находится Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ PhonebookSolution
    • Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Net 6 с использованиСм VS 2022

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ части Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

  • Π’Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ
    • рСализация Π² Ρ€Π°ΠΌΠΊΠ°Ρ… трСбования:
    • Π’ΠΈΠΏΡ‹ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²
    • ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ
    • ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ прСдприятия
    • Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ подраздСлСния
    • Π’Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ сотрудников
  • Админка
    • ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, зарСгистрированными Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
    • ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ рСсурсов прилоТСния (= Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π‘Π”)
    • Π ΠΎΠ»ΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
    • ΠŸΡ€Π°Π²Π° для Π ΠΎΠ»ΠΈ Π½Π° рСсурсы ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
    • ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€ΠΎΠ»Π΅ΠΉ зарСгистрированному ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ… ΠΈ сотрудниках

"ЗарСгистрированныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ" ΠΈ "Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ подраздСлСния" - это Ρ€Π°Π·Π½Ρ‹Π΅ сущности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π°Π·Π°Ρ… ΠΈ Π½ΠΈ ΠΊΠ°ΠΊ Π½Π΅ связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… прилоТСния

  • Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник
  • Identity
    • PΠ΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ AspNet Identity
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π½Π° сСрвСррной сторонС (Role-based security). Π—Π°Ρ‰ΠΈΡ‚Π° сСрвисов ΠΎΡ‚ нСсанкционированного использования.
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    • РСализация бСзопасности Π½Π° клиСтской сторонС (Angular ΠΌΠΎΠ΄ΡƒΠ»ΡŒ)
    • Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ доступа ΠΊ Web-страницам
    • РСализация "бСзопасности" Π½Π° клиСнтской сторонС, носит космСтичСский Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для удобства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    • Удобство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: страница ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π°ΡΡŒ, Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° страницС Π½Π΅Ρ‚Ρƒ, Ρ‚.ΠΊ. сСрвСр ΠΎΡ‚ΠΊΠ°Π·Π°Π» Π² Π΄Π°Π½Π½Ρ‹Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅ происходило, ссылки Π½Π° страницы с Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ нСдоступны.
  • LookUp Resources

ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹

  • Ясно, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ WebApi прилоТСниях. Monolithic app ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ контСрст Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ΄Π½ΠΎ большоС WebApi-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ случаС Π΄Π°Π½Π½ΠΎΠ³ΠΎ Demo прилоТСния ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ ΡˆΠ΅ΡΡ‚ΡŒ контСкстов Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ СстСствСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° микросСрвисы - это WebApi ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ контСкст Π΄Π°Π½Π½Ρ‹Ρ…. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ СстСствСнноС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° микросСрвисы - это вынСсСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Service Bus consumer Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ микроСрвис (Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ WebApi ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅).
  • Π’ силу Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ это Demo ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π±Ρ‹Π»ΠΎ создано Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° WebApi модуля с ассинхронной Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Π­Ρ‚ΠΎΠ³ΠΎ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ.

РСсурсы поиска

  • РСсурсы поиска - это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ
    • ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ поисковый ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, с ΠΎΠ΄Π½ΠΎΠΉ стороны
    • с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π‘Π” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ
      • послСднСС
        • потрСбляСт минимальноС количСство сСрвСрных рСсурсов
        • Π΄Π°Π΅Ρ‚ минимальноС врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°
    • Ссли поисковый рСсурс Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Sql-сСрвСрС, Ρ‚ΠΎ это снимаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с основного Sql-сСрвСра.
      • Основной Sql-сСрвСр ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ запросы Π½Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ
    • ясно, Ρ‡Ρ‚ΠΎ послСднСС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ассинхронной Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основном сСрвСрС Π½Π° сСрвСр РСсурсов поиска
    • Π’ Π΄Π°Π½Π½ΠΎΠΌ Demo-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ с использованиСм ΡˆΠΈΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (MassTransit)
    • РСсурс поиска Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ для
      • ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ прСдприятия
      • Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ² подраздСлСния
      • Π’Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² сотрудников
    • РСсурс поиска НЕ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ для (см. Π½Π°ΡˆΡƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ с пояснСниями)
      • Π’ΠΈΠΏΠΎΠ² Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²
      • ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠΉ
  • ΠœΡ‹ Π½Π΅ обсуТдаСм redis ΠΈΠ»ΠΈ etcd ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ быстрого доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. Если ваша Π‘Π” вырастаСт Π΄ΠΎ ΠΏΠΎΠ»Ρƒ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Π° ΠΈ Π²Ρ‹ΡˆΠ΅, Ρ‚ΠΎ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ даст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.
  • ВСрнСмся ΠΊ рСсурсам поиска
    • Для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ числом записСй ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько рСсурсов поиска
    • НазовСм Ρ‚Π°ΠΊΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ
    • Для Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, РСсурс поиска всСгда рСализуСтся ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° Π΄Π²ΡƒΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…
      • пСрвая Ρ‚Π°Π±Π»ΠΈΡ†Π° рСсурса - это ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ столбца Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
      • вторая Ρ‚Π°Π±Π»ΠΈΡ†Π° рСсурса - это Ρ‚Π°Π±Π»ΠΈΡ†Π° ссылок
        • ΠΎΠ΄Π½Π° Π³Ρ€ΡƒΠΏΠΏΠ° ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ссылок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ словарСй ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
        • вторая Π³Ρ€ΡƒΠΏΠΏΠ° ΠΏΠΎΠ»Π΅ΠΉ Π΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
    • Π’Π°ΠΆΠ½Ρ‹Π΅ свойства Ρ‚Π°Π±Π»ΠΈΡ† рСсурса поиска
      • ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… - это всСгда Π΄Π²Π° столбца
        • ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡
        • столбСц ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
      • Ρ‚Π°Π±Π»ΠΈΡ†Π° ссылок
        • ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС поля этой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
    • Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС РСсурс поиска ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π»ΡŽΡ‡Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ словаря ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ссылок
      • К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π² нашСм Demo app, поиск ΠΏΠΎ Π€Π°ΠΌΠΈΠ»ΠΈΠΈ, ИмСни ΠΈ ΠžΡ‚Ρ‡Π΅Ρ‚Π²Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ
        • Ρ‚Ρ€ΠΈ словаря ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
        • Π΄Π²Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ссылок
          • ΠΎΠ΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для поиска сотрудников Π±Π΅Π· привязки ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ
          • вторая Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для поиска сотрудников Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ ΠΏΠΎ подраздСлСниям
  • ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΉ (взаимодСйствия с шиной), ΠΊΠΎΠ΄ WebApi ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², ΠΊΠΎΠ΄ UI интСрфСйса ΠΈ Ρ‚.ΠΏ. ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ:
    • НСобходимо Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅ΠΉ для создания рСсурса поиска ΠΈ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ классы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.
  • Π’Π°ΠΊ, ΠΊΠ°ΠΊ Full scan-запросы ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступны для систСмного администратора, Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ(запрСщСния) использования Full scan-запросов для Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ€ΠΎΠ»ΠΈ.
  • Π’ нашСм Demo app Full scan-запросы Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ для Guest-Ρ€ΠΎΠ»ΠΈ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ для Admin-Ρ€ΠΎΠ»ΠΈ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…
    • ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ прСдприятия
    • Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ² подраздСлСния
    • Π’Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² сотрудников
  • ПослС старта прилоТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ доступ для любой Ρ€ΠΎΠ»ΠΈ прилоТСния.
  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ с использованиСм РСсурсов поиска , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ домонстрируСт использованиС поискового рСсурса.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

  • По Ρ„Π°ΠΊΡ‚Ρƒ Angular ΠΌΠΎΠ΄ΡƒΠ»ΡŒ состоит ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ сдСлано для дСмонстрации возмоТностСй инструмСнтария, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ использовался для построСния Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

  • Form-based интСрфСйс: каТдая функция ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ страницС. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 1

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 1

picture

  • Dialog-based интСрфСйс: каТдая функция ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊΠ° Π΄ΠΈΠ°Π»ΠΎΠ³Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 2
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2

picture

Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ производства

  • Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ производства выраТСнная Π² чСловСкочасах являСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹
    • ΠΈΠ»ΠΈ для Form-based
    • ΠΈΠ»ΠΈ для Dialog-based
    • ΠΈΠ»ΠΈ для Form-based ΠΈ Dialog-based ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

  • Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΠ»ΠΎΡ…ΠΎ спроСктированныС ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ SPA прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ станицу. ВрСмя расходуСтся Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ java-ΠΊΠΎΠ΄Π°.
  • LazyLoading Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Π’ нашСм случа ΠΈΠΌΠ΅Π½Π½ΠΎ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ см. Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ см. ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.
  • Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π΅ просто большиС, Π½ΠΎ позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ Π½Π΅ ΡƒΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Decktop-прилоТСниям.
  • Π’ сухом остаткС: Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ каТдая страница открываСтся ΠΎΡ‡Π΅Π½ΡŒ быстро, Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько этих страниц Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (ΠΈΠ»ΠΈ Π΄Π΅ΡΡΡ‚ΡŒ ΠΈΠ»ΠΈ сто ΠΈΠ»ΠΈ тысячи). А Π²ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° страницу ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ. Π­Ρ‚ΠΎ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ SQL-сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится ΠΏΠΎΠ·Π°Π΄ΠΈ WebApi-сСрвСр. Π’ нашСм случаС, это BackEnd ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

MsSQL

  • Π”Π°Π½Π½ΠΎΠ΅ Demo app ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ MsSQL ΠΊΠ°ΠΊ сСрвСр Π‘Π”

PostgreSQL

MySQL

Бтартовая страница прилоТСния

  • ΠΏΡ€ΠΈ запускС прилоТСния открываСтся главная страца прилоТСния с ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ мСню Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° Π΄Π²Π΅ Ρ€Π³ΡƒΠΏΠΏΡ‹. ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ мСню ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΈ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню администратора. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 3.
    • Бтартовая страница ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΈΠ»ΠΈ Π² Английской вСрсии ΠΈΠ»ΠΈ Русской. Π­Ρ‚ΠΎ зависит ΠΎΡ‚ настроСк вашСго Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 3

picture

  • ΠΈΠ»ΠΈ

    picture

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ языков

  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΡƒ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ страницы ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

picture

НСсанкционированный доступ

  • ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мСню Π±Π΅Π· Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, выдаСтся сообщСниС. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 4
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 4

picture

  • ΠΈΠ»ΠΈ

    picture

РСгистрация

  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΡƒ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ страницы ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык "РСгистрация". Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 5
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 5

picture

  • ΠΈΠ»ΠΈ

    picture

  • ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ° для рСгистрации Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 6
    • Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΊΠΉΡ‚Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ z@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Z@gmail.com
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 6

picture

  • ΠΈΠ»ΠΈ

    picture

  • ПослС рСгистрации измСнится содСрТаниС Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 7
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 7

picture

  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π’ΠΈΠΏΡ‹ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ z@gmail.com-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π². Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 8
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 8

picture

  • ΠΈΠ»ΠΈ

    picture

Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· прилоТСния

  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΡƒ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ страницы ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык "РСгистрация". Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 9
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 9

picture

  • ΠΈΠ»ΠΈ

    picture

  • ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ Π±Π»ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³Π° для подтвСрТдСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 10
    • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ OK
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 10

picture

  • ΠΈΠ»ΠΈ

    picture

Π’ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΊ Admin

  • Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
    • Guest@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Guest@gmail.com
  • Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com. Для этого ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΡƒ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ "Π’ΠΎΠΉΡ‚ΠΈ". Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 11
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 11

picture

  • ΠΈΠ»ΠΈ

    picture

  • появится Ρ„ΠΎΡ€ΠΌΠ° для Π²Ρ…ΠΎΠ΄Π° Π² систСму
    • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Admin@gmail.com ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ 5Admin@gmail.com
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 12
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 12

picture

  • ΠΈΠ»ΠΈ

    picture

ПослС Π²Ρ…ΠΎΠ΄Π° ΠΊΠ°ΠΊ Admin

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Admin@gmail.com(5Admin@gmail.com) ΠΈΠΌΠ΅Π΅Ρ‚ всС ΠΏΡ€Π°Π²Π° Π½Π° всС рСсурсы. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 13
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 13

picture

  • ΠΈΠ»ΠΈ

    picture

ПослС Π²Ρ…ΠΎΠ΄Π° ΠΊΠ°ΠΊ Guest

  • Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
    • Guest@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Guest@gmail.com
  • Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Guest@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Guest@gmail.com.
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Guest@gmail.com(5Guest@gmail.com) ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° просмотр рСсурсов. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 14
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 14

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Guest@gmail.com(5Guest@gmail.com) Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π² Π½Π° ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Администратор. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 15
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 15

picture

  • ΠΈΠ»ΠΈ

    picture

Навигация ΠΎΡ‚ Master ΠΊ Detail

  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
    • Guest@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Guest@gmail.com
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ навигация Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚
    • ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ-ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 16
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 16

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ навигация Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚
    • ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ-Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 17
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 17

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ навигация Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚
    • Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ-Π’Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 18
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 18

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ навигация заканчиваСтся Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ…. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 19
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 19

picture

  • ΠΈΠ»ΠΈ

    picture

Один ко многим

  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
    • Guest@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Guest@gmail.com
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Один ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 20

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 20

picture

  • ΠΈΠ»ΠΈ

    picture

Один ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Admin
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹
  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 21
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 21

picture

  • ΠΈΠ»ΠΈ

    picture

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π€ΠΎΡ€ΠΌΠ° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½
    • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ прСдприятиС
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 22
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 22

picture

  • ΠΈΠ»ΠΈ

    picture

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ прСдприятиС
    • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ok
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 23
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 23

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π’Ρ‹ Π²Π΅Ρ€Π½Π΅Ρ‚Π΅ΡΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½
    • ПолС ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
    • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 24
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 24

picture

  • ΠΈΠ»ΠΈ

    picture

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅
    • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ подраздСлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡŽ
    • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ok
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 25
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 25

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π’Ρ‹ Π²Π΅Ρ€Π½Π΅Ρ‚Π΅ΡΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½
    • ПолС ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
    • ПолС ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ
    • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ сотрудника
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 26
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 26

picture

  • ΠΈΠ»ΠΈ

    picture

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ сотрудника
    • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сотрудники, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ
    • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ok
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 27
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 27

picture

  • ΠΈΠ»ΠΈ

    picture

Валидация

  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Admin
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹
  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 28
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 28

picture

  • ΠΈΠ»ΠΈ

    picture

  • ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ Π€ΠΎΡ€ΠΌΠ° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½
    • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Ok
    • ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ валидация Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 29
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 29

picture

  • ΠΈΠ»ΠΈ

    picture

АвтозаполнСниС

  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Admin
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π’Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ Π² combobox
  • Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΠ΅Π½Π°Π»Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сотрудника Π² combobox
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 30
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 30

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΠ΅Π½Π°Π»Π΅ появится Ρ„ΠΎΡ€ΠΌΠ° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ поля ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ поля ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΈ находятся Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Волько Ρ‡Ρ‚Π΅Π½ΠΈΠ΅
    • Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ
    • ΠŸΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅
    • ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 31
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 31

picture

  • ΠΈΠ»ΠΈ

    picture

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Admin
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΠ΅Π½Π°Π»Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ z@gmail.com
  • Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΠ΅Π½Π°Π»Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт
    • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 32
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 32

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΠ΅Π½Π°Π»Π΅ появится Ρ„ΠΎΡ€ΠΌΠ° Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ GuestRole
  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Ok
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 33
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 33

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅ΠΌ z@gmail.com(5Z@gmail.com)
    • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° Π½Π° просмотр Π΄Π°Π½Π½Ρ‹Ρ…
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 34
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 34

picture

  • ΠΈΠ»ΠΈ

    picture

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ с использованиСм РСсурсов поиска

  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Admin
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ
  • Π’ ΠΏΠΎΠ»Π΅ Ѐамилия Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Pete
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 35
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 35

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· списка Peterson21
  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 36
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 36

picture

  • ΠΈΠ»ΠΈ

    picture

  • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 37
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 37

picture

  • ΠΈΠ»ΠΈ

    picture

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Full Scan

  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Admin
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
  • ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ПолноС сканированиС
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 38
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 38

picture

  • ΠΈΠ»ΠΈ

    picture

  • ПСнал для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° измСнится
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 39
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 39

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ПолС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 40
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 40

picture

  • ΠΈΠ»ΠΈ

    picture

  • Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ примСнСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 41
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 41

picture

  • ΠΈΠ»ΠΈ

    picture

Features

  • Feature позволяСт Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° страницС Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
  • Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Admin
    • Admin@gmail.com с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ 5Admin@gmail.com
  • ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
  • Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 42
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 42

picture

  • ΠΈΠ»ΠΈ

    picture

Как быстро ΠΏΠΎΠ½ΡΡ‚ΡŒ структуру ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Angular ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΠ°ΠΏΠΎΠΊ: components, services ΠΈ shared. (Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 38).
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 38

picture

Папка shared

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ 39

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 39

picture

  • Папка shared содСрТит
    • services
    • interceptors
      • http interceptor. Interceptor подставляСт JwtBearer Ρ‚ΠΎΠΊΠ΅Π½ (Ссли Ρ‚Π°ΠΊΠΎΠΉ имССтся) Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ http ΠΊ WebApi.
    • components
      • Π€ΠΎΡ€ΠΌΡ‹ Login, Logout, ChangePassword, Register, Home, PageNotfound
      • Π€ΠΎΡ€ΠΌΠ° ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ для Π²Ρ‹Π±ΠΎΡ€Π° столбцов ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅
      • Π”ΠΈΠ°Π»ΠΎΠ³ тСкстовых сообщСний прилоТСния с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ "Π”Π°" ΠΈ "НСт"
      • web-service-filter. Об этой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅
ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° WebServiceFilter
  • КаТдая табличная Ρ„ΠΎΡ€ΠΌΠ° содСрТит WebServiceFilter см. ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 40
    • WebServiceFilter позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ см. ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 40
    • Данная ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅ΠΉ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² для примСнСния ΠΊ полям Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ
    • Π’Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ для понимания являСтся hiddenFilter. Если табличная Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΠΎΠ΄ΠΈΠ½-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ Ditail Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ master-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’Π°ΠΊ Π²ΠΎΡ‚, hiddenFilter - это ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ мастСр Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
    • Если Π·Π°Π΄Π°Π½ hiddenFilter, Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π² ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½Π΅ ΠΏΠΎΠ»Π΅ΠΉ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ поля пСрСчислСнныС Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ hiddenFilter.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 40

picture

  • БущСствуСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π΅Π½ΠΎΠΌΠ΅Π½: программист ΠΈΠ·ΡƒΡ‡ΠΈΠ» всСх всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ вСс Ρ€Π°Π²Π½ΠΎ Π½Π΅ понял ΠΊΠ°ΠΊ этой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ аспСкт этого Ρ„Π΅Π½ΠΎΠΌΠ΅Π½Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ спустся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя (это 30 Π΄Π½Π΅ΠΉ) программист ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‡ΠΈΡ‚Π°Π». Для Π±ΠΎΡ€ΡŒΠ±Ρ‹ с этим Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ заглядываСт Π² Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ Ρƒ Π½Π΅Π³ΠΎ всС всплываСт Π² памяти, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΈ функциям ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. ИмСнно Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ запоминаСтся. Π‘ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Ρ„Ρ€Π°Π·Π° "ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ -- ΠΌΠ°Ρ‚ΡŒ учСния" Π½Π΅ являСтся Π²Π΅Ρ€Π½ΠΎΠΉ, Π½ΠΎ Π²Π΅Ρ€Π½ΠΎΠΉ являСтся Ρ„Ρ€Π°Π·Π° "ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ -- ΠΌΠ°Ρ‚ΡŒ учСния".
    • Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Π΅Ρ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования WebServiceFilter ΠΈ быстро ΡΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΡΡƒΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π»ΡŽΠ±ΡƒΡŽ sform-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ (search-form)

Папки components и services

  • Папки components ΠΈ services ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ структуру (см. ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 41) ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ всСм ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Ρ‚Π° прилоТСния.
    • services содСрТит сСрвисы достура ΠΊ WebApi ΠΈ Datasource
    • components содСрТит UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ прилоТСния.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 41

picture

ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ ViewModel

  • Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. ViewModel - это стрруктура ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ WebApi-сСрвис ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΈ отсылаСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ структура - это коллСкция ViewModel
  • Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… EntityFramework. ViewModel для Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Entity - это подмноТСство ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠΉ Entity ΠΈ подмноТСство ΠΏΠΎΠ»Π΅ΠΉ прямых ΠΈ нСпрямых мастСр Entities.
    • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ прямой ΠΈ нСпрямой мастСр. ΠŸΡƒΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° T1 ΠΈΠΌΠ΅Π΅Ρ‚ foreign key Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ T2. ΠŸΡƒΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° T2 ΠΈΠΌΠ΅Π΅Ρ‚ foreign key Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ T3. Π‘ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° T2 являСтся прямым мастСром для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ T1. Π‘ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° T3 являСтся нСпрямым мастСром для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ T1.
  • Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… Sql. ViewModel для Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ - это подмноТСство ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ подмноТСство ΠΏΠΎΠ»Π΅ΠΉ прямых ΠΈ нСпрямых мастСр Ρ‚Π°Π±Π»ΠΈΡ†. Π’.Π΅. ViewModel - это частный случай Sql View для Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ мастСр Ρ‚Π°Π±Π»ΠΈΡ† (прямых ΠΈ нСпрямых), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ foreign key-Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌ.
  • ВсС ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ WebApi-ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
  • ВсС ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ WebApi-ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
  • ВсС ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ViewModel-интСрфСйсы Angular-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹
БСрвисы для ViewModel
DataSource для ViewModel
Sform для ViewModel
  • Sform - это search Ρ„ΠΎΡ€ΠΌΠ°
  • ЗаглянСм Π² ΠΏΠ°ΠΏΠΊΡƒ
  • КаТдая Sform
    • ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ поиска ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².
    • Sform ΡƒΠΌΠ΅Π΅Π΅Ρ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ запрос ΠΊ WebApi Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка ΠΏΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρƒ с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ сортировкой.
    • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ постраничноС листаниС.
    • ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню уровня ΠΎΠ΄Π½ΠΎΠΉ записи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΉ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ Π½Π° Π²Ρ…ΠΎΠ΄ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это View, Update, Delete, ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Detail)
    • ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню уровня Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΉ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ Π½Π° Π²Ρ…ΠΎΠ΄ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это Add, Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ список ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… столбцов, пакСтная опСрация)
    • ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ hiddenFilter, Ссли ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Sform :
    • sdlg
    • rlist
    • rdlg
sdlg для ViewModel
  • sdlg - это Sform отобраТаСмая Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊΠ° Π΄ΠΈΠ°Π»ΠΎΠ³Π°. sdlg содСрТит Π΄Π²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΊΠΈ "Ok" ΠΈ "Cancel". ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ sdlg - это Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ мастСр запись, ΠΊΠΎΠ³Π΄Π° Π°ΠΊΡ‚ΠΈΠ²Π½Π° AddOne(UpdateOne) Ρ„ΠΎΡ€ΠΌΠ°, для Π΄Π°Π½Π½ΠΎΠΉ ViewModel. Π€ΠΎΡ€ΠΌΡ‹ DeleteOne ΠΈ VieweOne Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.
  • Для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 42 ΠΈ 43 ΠΈ 44.
    • OΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ (см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 42) ΠΈ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ прСдприятиС
    • Π’Ρ‹Π±ΠΈΡ€Π°ΠΌΠ΅ прСдприятиС И Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Ok (см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 43)
    • ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 44)
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 42

picture

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 43

picture

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 44

picture

vform для ViewModel
  • vform (View One Item Form) позволяСт ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ запись Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.
    • vform Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ элСмСнтов ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Кнопки Ok ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Back).
    • Π΄Π΅Π»Π°Π΅Ρ‚ getone-запрос ΠΊ WebApi-сСрвису ΠΈ отрисовываСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ vform:
    • vdlg
    • rvform
vdlg для ViewModel
  • vdlg (View One Item dialog) - это Π±Π»ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ vform
  • vdlg ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Ok ΠΈ Cancel)
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ vdlg:
    • rdlist
  • Для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 45 ΠΈ 46.
    • ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ мСню "Π’Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ Dlg", ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ "View Item"-ΠΏΡƒΠ½ΠΊΡ‚ мСню (см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 45)
    • ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ (см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 45)
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 45

picture

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 46

picture

rvform для ViewModel
  • rvform (Routed View One Item form) - это ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ vform ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Angular.

  • rvform ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (back)

  • Ссли для Π΄Π°Π½Π½ΠΎΠΉ ViewModel Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ созданы Detail-ViewModel, Ρ‚ΠΎ данная ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΎΡ‚Π±Ρ€Π°ΠΆΠ°Π΅Ρ‚ combo-box для Π²Ρ‹Π±ΠΎΡ€Π° Detail-ViewModel

    • Ссли Π²Ρ‹Π±Ρ€Π°Π½Π° Detail-ViewModel, Ρ‚ΠΎ отбраТаСтся табличная Ρ„ΠΎΡ€ΠΌΠ° для Detail
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ rvform:

    • rlist
  • Для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 47 ΠΈ 48 ΠΈ 49.

    • ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ мСню "Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ", ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ "View Item"-ΠΏΡƒΠ½ΠΊΡ‚ мСню (см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 47)
    • ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ rvform. Π’ combo Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π’Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ (см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 48)
    • ΠŸΠΎΡΠ²Π»ΡΠ΅ΡŽΡ‚ΡΡ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ сотрудника (см ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 49)
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 47

picture

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 48

picture

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 49

picture

aform для ViewModel
  • aform (Add One Item Form) позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ запись Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.
    • aform Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ элСмСнтов ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Кнопки Ok ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Back).
    • Π΄Π΅Π»Π°Π΅Ρ‚ addone-запрос ΠΊ WebApi-сСрвису
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ aform:
    • adlg
    • avform
adlg для ViewModel
  • adlg (Add One Item dialog) - это Π±Π»ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ aform
  • adlg ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Ok ΠΈ Cancel)
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ adlg:
    • rdlist
raform для ViewModel
  • raform (Routed Add One Item form) - это ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ aform ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Angular.
  • avform ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Ok ΠΈ Canceel)
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ rvform:
    • rlist
uform для ViewModel
  • uform (Update One Item Form) позволяСт ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ запись Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.
    • uform Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ элСмСнтов ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Кнопки Ok ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Back).
    • Π΄Π΅Π»Π°Π΅Ρ‚ getone-запрос ΠΊ WebApi-сСрвису ΠΈ отрисовываСт
    • Π΄Π΅Π»Π°Π΅Ρ‚ updateone-запрос ΠΊ WebApi-сСрвису
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ uform:
    • udlg
    • uvform
udlg для ViewModel
  • udlg (Update One Item dialog) - это Π±Π»ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ aform
  • udlg ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Ok ΠΈ Cancel)
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠΈΠ½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ udlg:
    • rdlist
ruform для ViewModel
  • ruform (Routed Update One Item form) - это ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ uform ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Angular.
  • ruform ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Ok ΠΈ Canceel)
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ruform:
    • rlist
dform для ViewModel
  • dform (Delete One Item Form) позволяСт ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ запись Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.
    • dform Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ элСмСнтов ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Кнопки Ok ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Back).
    • Π΄Π΅Π»Π°Π΅Ρ‚ getone-запрос ΠΊ WebApi-сСрвису ΠΈ отрисовываСт
    • Π΄Π΅Π»Π°Π΅Ρ‚ deleteone-запрос ΠΊ WebApi-сСрвису
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ dform:
    • ddlg
    • uvform
ddlg для ViewModel
  • ddlg (Delete One Item dialog) - это Π±Π»ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ dform
  • ddlg ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Ok ΠΈ Cancel)
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ddlg:
    • rdlist
rdform для ViewModel
  • rdform (Routed Delete One Item form) - это ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, которая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ dform ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Angular.
  • rdform ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ управлСния (Ok ΠΈ Canceel)
  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ rdform:
    • rlist
rlist для ViewModel
  • rlist (routed list form) - это sform c ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Angular ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ функциями Add(Update,Delete,View)-item.

  • rlist ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Angular для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ функциями Add(Update,Delete,View)-item, с использованиСм raform(ruform, rdform, rvform)

  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ rdform:

    • для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ строка Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, аналогичная ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅. см Ρ‚Π°ΠΊΠΆΠ΅ app/app.component.html
 <a mat-list-item [routerLink]="['PhdctEmployeeView']" routerLinkActive="active">Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ</a>
rdlist для ViewModel
  • rdlist (routed list form) - это sform c ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Angular ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ функциями Add(Update,Delete,View)-item.

  • rdlist ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ adlg(udlg, ddlg, vdlg) для Add(Update,Delete,View)-item.

  • Вспоминая Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° использования, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ rdform:

    • для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ строка Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, аналогичная ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅. см Ρ‚Π°ΠΊΠΆΠ΅ app/app.component.html
 <a mat-list-item [routerLink]="['RDLPhdctEmployeeView']" routerLinkActive="active">Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ (Dlg)</a>

Docker compose Ρ„Π°ΠΉΠ» для MsSql

  • создайтС ΠΏΠ°ΠΏΠΊΡƒ Π½Π° дискС
  • сохранитС Π² ΠΏΠ°ΠΊΡƒ docker-compose.yml-Ρ„Π°ΠΉΠ» с содСрТаниСм ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½ΠΈΠΆΠ΅
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ docker-compose.yml
services:
  pbdb:
    image: "mcr.microsoft.com/mssql/server:2019-latest"
    hostname: "pbdb"
    expose:
      - "1433"
#    ports:
#      - "1433:1433"
    environment:
      ACCEPT_EULA: "Y"
      SA_PASSWORD: "myPss@wrd"
    healthcheck:
      test: /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "$${SA_PASSWORD}" -Q "SELECT 1" -b -o /dev/null
      interval: 10s
      timeout: 3s
      retries: 10
      start_period: 10s
  pbrabbit:
    image: "chempkovsky/rabbitmq-phn-bk:latest"
    hostname: "pbrabbit"
    environment:
      RABBITMQ_CONFIG_FILE: '/etc/rabbitmq/rabbitmq.conf'
    expose:
      - "5672"
    healthcheck:
      test: rabbitmq-diagnostics -q ping
      interval: 30s
      timeout: 30s
      retries: 3
      start_period: 10s    
#    ports:
#      - 15672:15672
  webapiphnlkup:
    image: "chempkovsky/webapi-phn-lkup:latest"
    hostname: "webapiphnlkup"
    environment:
      ConnectionStrings:LpPhnPhBkConnection: "Data Source=pbdb;Initial Catalog=LpPhnPhBkDbDef;Persist Security Info=True;User ID=sa;Password=myPss@wrd" 
      ConnectionStrings:LpEmpPhBkConnection: "Data Source=pbdb;Initial Catalog=LpEmpPhBkDbDef;Persist Security Info=True;User ID=sa;Password=myPss@wrd" 
      ConnectionStrings:LpPhBkConnection: "Data Source=pbdb;Initial Catalog=LpPhBkDbDef;Persist Security Info=True;User ID=sa;Password=myPss@wrd" 
      JWT:ValidAudience: "PhBkAudience" 
      JWT:ValidIssuer: "PhBkIssuer" 
      JWT:Secret": "JWTAuthenticationHIGHsecuredPasswordVVVp1OH7Xzyr" 
      PhbkDivisionViewExtForLkUpConf:HostName: "pbrabbit" 
      PhbkDivisionViewExtForLkUpConf:Username: "admin" 
      PhbkDivisionViewExtForLkUpConf:Password: "admin" 
      PhbkDivisionViewExtForLkUpConf:VirtualHostName: "phbkhost" 
      PhbkDivisionViewExtForLkUpConf:ClusterIpAddresses: null
      PhbkEmployeeViewExtForLkUpConf:HostName: "pbrabbit" 
      PhbkEmployeeViewExtForLkUpConf:Username: "admin" 
      PhbkEmployeeViewExtForLkUpConf:Password: "admin" 
      PhbkEmployeeViewExtForLkUpConf:VirtualHostName: "phbkhost" 
      PhbkEmployeeViewExtForLkUpConf:ClusterIpAddresses: null
      PhbkPhoneViewExtForLkUpConf:HostName: "pbrabbit" 
      PhbkPhoneViewExtForLkUpConf:Username: "admin" 
      PhbkPhoneViewExtForLkUpConf:Password: "admin" 
      PhbkPhoneViewExtForLkUpConf:VirtualHostName: "phbkhost" 
      PhbkPhoneViewExtForLkUpConf:ClusterIpAddresses: null
    links:
      - pbdb
      - pbrabbit
    ports:
      - 91:80
    depends_on:
      pbdb:
        condition: service_healthy
      pbrabbit:
        condition: service_healthy
  webapiphnbk:
    image: "chempkovsky/webapi-phn-bk:latest"
    hostname: "webapiphnbk"
    environment:
      ConnectionStrings:PhBkConnection: "Data Source=pbdb;Initial Catalog=PhBkDbDef;Persist Security Info=True;User ID=sa;Password=myPss@wrd" 
      ConnectionStrings:AuthConnection: "Data Source=pbdb;Initial Catalog=PhBkDbAuth;Persist Security Info=True;User ID=sa;Password=myPss@wrd" 
      ConnectionStrings:AspNetRegConnection: "Data Source=pbdb;Initial Catalog=PhBkAspNet;Persist Security Info=True;User ID=sa;Password=myPss@wrd" 
      JWT:ValidAudience: "PhBkAudience" 
      JWT:ValidIssuer: "PhBkIssuer" 
      JWT:Secret: "JWTAuthenticationHIGHsecuredPasswordVVVp1OH7Xzyr" 
      PhbkDivisionViewExtForLkUpConf:HostName: "pbrabbit" 
      PhbkDivisionViewExtForLkUpConf:Username: "admin" 
      PhbkDivisionViewExtForLkUpConf:Password: "admin" 
      PhbkDivisionViewExtForLkUpConf:VirtualHostName: "phbkhost" 
      PhbkDivisionViewExtForLkUpConf:ClusterIpAddresses: null
      PhbkEmployeeViewExtForLkUpConf:HostName: "pbrabbit" 
      PhbkEmployeeViewExtForLkUpConf:Username: "admin" 
      PhbkEmployeeViewExtForLkUpConf:Password: "admin" 
      PhbkEmployeeViewExtForLkUpConf:VirtualHostName: "phbkhost" 
      PhbkEmployeeViewExtForLkUpConf:ClusterIpAddresses: null
      PhbkPhoneViewExtForLkUpConf:HostName: "pbrabbit" 
      PhbkPhoneViewExtForLkUpConf:Username: "admin" 
      PhbkPhoneViewExtForLkUpConf:Password: "admin" 
      PhbkPhoneViewExtForLkUpConf:VirtualHostName: "phbkhost" 
      PhbkPhoneViewExtForLkUpConf:ClusterIpAddresses: null
    links:
      - pbdb
      - pbrabbit
    ports:
      - 92:80
    depends_on:
      pbdb:
        condition: service_healthy
      pbrabbit:
        condition: service_healthy
      webapiphnlkup:
        condition: service_started
  angularphnbk:
    image: "chempkovsky/angular-phn-bk:latest"
    environment:
      PHNLP_URL: "http://localhost:91/"
      EMPLP_URL: "http://localhost:91/"
      DIVLP_URL: "http://localhost:91/"
      WA_URL: "http://localhost:92/" 
      SEC_URL: "http://localhost:92/" 
      PERM_URL: "http://localhost:92/" 
    ports:
      - 93:80
    depends_on:
      pbdb:
        condition: service_healthy
      pbrabbit:
        condition: service_healthy
      webapiphnlkup:
        condition: service_started
      webapiphnbk:
        condition: service_started

  • ЗапуститС Command Prompt ΠΈ сдСлайтС Π²Π°ΡˆΡƒ ΠΏΠ°ΠΏΠΊΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ
  • Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для старта прилоТСния:
docker-compose -f "docker-compose.yml" up -d

Π’ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ URL=http://localhost:93/

  • Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для удалСния прилоТСния
docker-compose -f "docker-compose.yml" down

ПослС Π‘ΠΠœΠžΠ“Πž ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π²Ρ…ΠΎΠ΄Π° ΠΊΠ°ΠΊ Admin ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌ мСню ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠΉ, Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ², ... Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС

Доступ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½
  • Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запросС ΠΊ вСбсСрвисам ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΈ Π½Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

    • Оснавная
    • Π’Ρ€ΠΈ Π±Π°Π·Ρ‹ РСсурсов поиска
    • AspNet
    • Π‘Π°Π·Π° УправлСния ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • ΠŸΠΎΠΊΠ»ΠΈΠΊΠ°ΠΉΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню, с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠΎΠΌ Π² 5-10 сСкунд:

    • Π’Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹
    • ΠΏΠΎΡ‚ΠΎΠΌ Π’Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ DLg
    • ΠΎΠΏΡΡ‚ΡŒ Π’Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹

Proxy ΠΈ Балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

  • Π’ Π΄Π°Π½Π½ΠΎΠΌ Demo всС WebApi сСрвисы "смотрят" Π½Π°Ρ€ΡƒΠΆΡƒ, Ρ‚.Π΅. Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°.
  • ΠœΡ‹ продСмонстрировали ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages