Browse Source

промежутки: верстка главной, ссылки на файлы документа в верификации

ganahrhr 3 years ago
parent
commit
5c7e321467
3 changed files with 110 additions and 36 deletions
  1. 11 2
      Pages/Desktop.razor
  2. 46 2
      Pages/Desktop.razor.cs
  3. 53 32
      Pages/Index.razor

+ 11 - 2
Pages/Desktop.razor

@@ -146,6 +146,12 @@
                     }
                 </select>
             </label>
+            <p>Файлы документа</p>
+            @if (_article.Status != Models.ArticleStatus.New)
+            {
+                <div class="upload__input-descr">Исходный файл: <a style="cursor:pointer; color:blue;" @onclick="@(() => GetArticleFile("source"))">@_article.FilenameReal</a></div>
+                <div class="upload__input-descr" style="margin-bottom:20px">Преобразованный файл: <a style="cursor:pointer; color:blue;" @onclick="@(() => GetArticleFile("html"))">@($"{_article.FilenameReal}.html")</a></div>
+            }
             <input type="checkbox" class="checkbox__input" id="radio" @bind="@_verificationPoint.RulesViolation">
             <label class="сheckbox__label" for="radio">
                 Материал сформирован не по правилам
@@ -175,8 +181,11 @@
         </div>
         <div class=@_otherTabClass>
             <p style="margin-bottom:20px;">Файлы документа</p>
-            <div class="upload__input-descr">Исходный файл: <a href="">123.pdf</a></div>
-            <div class="upload__input-descr">Преобразованный файл: <a href="">123.html</a></div>
+            @if (_article.Status != Models.ArticleStatus.New)
+            {
+                <div class="upload__input-descr">Исходный файл: <a style="cursor:pointer; color:blue;" @onclick="@(() => GetArticleFile("source"))">@_article.FilenameReal</a></div>
+                <div class="upload__input-descr">Преобразованный файл: <a style="cursor:pointer; color:blue;" @onclick="@(() => GetArticleFile("html"))">@($"{_article.FilenameReal}.html")</a></div>
+            }
         </div>
     </div>
     <div class="third-block">

+ 46 - 2
Pages/Desktop.razor.cs

@@ -645,6 +645,50 @@ namespace HyperCube.Pages
             }
         }
 
+        async Task GetArticleFile(string option)
+        {
+            string fullpath;
+            string htmldirectorypath;
+            string docdirectorypath;
+#if DEBUG
+            htmldirectorypath = Path.Combine(Environment.CurrentDirectory, "wwwroot", STORAGE_FOLDER_NAME, "html");
+            docdirectorypath = Path.Combine(Environment.CurrentDirectory, "wwwroot", STORAGE_FOLDER_NAME, "source");
+#else
+            htmldirectorypath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot", STORAGE_FOLDER_NAME, "html");
+            docdirectorypath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "wwwroot", STORAGE_FOLDER_NAME, "source");
+#endif
+
+            if (option == "source")
+            {
+                fullpath = Path.Combine(docdirectorypath, $"{_article.ID}_{_article.Filename}");
+                if (fullpath.Length > 0 && File.Exists(fullpath))
+                    NavigationManager.NavigateTo($"{STORAGE_FOLDER_NAME}/source/{_article.ID}_{_article.Filename}", true);
+                else
+                {
+                    Console.WriteLine($"GetArticleFile, file not exists: [{fullpath}].");
+                    _modalInfo.Open("Файл документа не найден.");
+                }                
+            }
+                
+            else if (option == "html")
+            {
+                fullpath = Path.Combine(docdirectorypath, $"{_article.ID}_{_article.Filename}.html");
+
+                if (fullpath.Length > 0 && File.Exists(fullpath))
+                    NavigationManager.NavigateTo($"{STORAGE_FOLDER_NAME}/html/{_article.ID}_{_article.Filename}.html", true);
+                else
+                {
+                    Console.WriteLine($"GetArticleFile, file not exists: [{fullpath}].");
+                    _modalInfo.Open("Файл документа не найден.");
+                }
+            }            
+            else
+            {
+                Console.WriteLine($"GetArticleFile, unknown method option: [{option}].");
+                //return;
+            }            
+        }
+
         void Rejected_OnChange()
         {
             rejectReasonDisable = !_verificationPoint.Rejected;
@@ -741,13 +785,13 @@ namespace HyperCube.Pages
                 var user = authState.User;
 
                 if (user.Identity.IsAuthenticated)
-                {                                        
+                {
                     var currentUser = await UserManager.GetUserAsync(user);
                     var acc = AccountModel.Find(currentUser.Id);
                     if (acc != null)
                     {
                         _currentAccount = AccountModel.Loaded[currentUser.Id];
-                    }                    
+                    }
                     else
                     {
                         Dictionary<string, AccountModel> accounts = await MySQLConnector.Instance().SQLSelectASPUsers();

+ 53 - 32
Pages/Index.razor

@@ -74,34 +74,34 @@
     <div class="wrapmain">
         <h1 class="block__header">Блокчейн Market Place знаний</h1>
         <p class="block__info">
-            <div>
-                Digital Data Hypercube (2DH) – это децентрализованная кибер- физическая система цифровой инженерии знаний, которая включает инструменты создания,
-                продвижения и коммерциализации инклюзивных цифровых активов защищенных сетью блокчейн.
-                Система Digital Data Hypercube создана с целью  построения рынка открытого консалтинга с бессрочной защитой права собственности на использование результатов интеллектуальной
-                деятельности участников системы. Модуль Digital Data Hypercube является частью цифровой децентрализованной платформы Quantinium.
-            </div>
-            <div>
-                Digital Data Hypercube позволяет формировать рабочие и экспертные сообщества пользователей создающих нарративы знаний и цифровые информационные продукты с
-                одновременной коммерциализацией полученных результатов в форме NFT (non-fungible token) через Блокчейн MarketPlace.
-            </div>
-            <div>
-                В системе Digital Data Hypercube предусмотрены три ключевые роли пользователей:
-                <ul>
-                    <li>
-                        Старатель - основной (ключевой) участник системы, создающий ценности и их первичную разметку неструктурированных данных;
-                    </li>
-                    <li>
-                        Эксперт - участник с ключевой функцией верификации размеченной информации и её сущностей, создающий вместе с кибер-инструментами системы первичные знания;
-                    </li>
-                    <li>
-                        Спонсор - пользователь Системы, создающий рыночную стоимость сущностей.
-                    </li>
-                    <li>
-                        Старатель - основной (ключевой) участник системы, создающий ценности и их первичную разметку неструктурированных данных;
-                    </li>
-                </ul>
-                Пользователь может иметь одну или несколько ролей в системе.
-            </div>
+            <b>Digital Data Hypercube (2DH)</b> – это децентрализованная кибер- физическая система цифровой инженерии знаний, которая включает инструменты создания,
+            продвижения и коммерциализации инклюзивных цифровых активов защищенных сетью блокчейн.
+            Система <b>Digital Data Hypercube</b> создана с целью  построения рынка открытого консалтинга с бессрочной защитой права собственности на использование результатов интеллектуальной
+            деятельности участников системы. Модуль <b>Digital Data Hypercube</b> является частью цифровой децентрализованной платформы Quantinium.
+        </p>
+        <p class="block__info">
+            <b>Digital Data Hypercube</b> позволяет формировать рабочие и экспертные сообщества пользователей создающих нарративы знаний и цифровые информационные продукты с
+            одновременной коммерциализацией полученных результатов в форме NFT (non-fungible token) через Блокчейн MarketPlace.
+        </p>
+        <p class="block__info">
+            В системе Digital Data Hypercube предусмотрены три ключевые роли пользователей:
+            <ul>
+                <li style="margin-left:40px">
+                    Старатель - основной (ключевой) участник системы, создающий ценности и их первичную разметку неструктурированных данных;
+                </li>
+                <li style="margin-left:40px">
+                    Эксперт - участник с ключевой функцией верификации размеченной информации и её сущностей, создающий вместе с кибер-инструментами системы первичные знания;
+                </li>
+                <li style="margin-left:40px">
+                    Спонсор - пользователь Системы, создающий рыночную стоимость сущностей.
+                </li>
+                <li style="margin-left:40px">
+                    Старатель - основной (ключевой) участник системы, создающий ценности и их первичную разметку неструктурированных данных;
+                </li>
+            </ul>            
+        </p>
+        <p class="block__info">
+            Пользователь может иметь одну или несколько ролей в системе.
         </p>
         <img src="img/logo_dark.svg" alt="" class="market-place__logo">
         <button class="btn-blue btn-blue_mt">Расскажите о цифровых мероприятиях</button>
@@ -110,10 +110,31 @@
         <button class="btn-blue">Регистрация в системе 2DH</button>
         <h2 class="block__subtitle">Ценность данных</h2>
         <p class="block__info">
-            Тут нужно написать текст о самой системе. О самой главное идее. Какие цели она реализовывает. Текст должен содержать достаточно символов, что бы заполнить данное поле. Объем текста сейчас скопирую сюда из вашего валпапера - поэтому дальше текст пойдем просто
-            скопированный не имеющий смысла: Консенсус в системе Quantinium и её ликвидность поддерживается четырьмя разновидностями
-            консенсуса применяемыми комплексно для вычисленияе размера вознаграждения пользователя при работе в модулях системы. Чем больше консенсусов пользователь задействует, тем выше его ценность и, соответственно, выше размер его вознаграждения. В системе
-            применяется следующие консенсусы.
+            <b>Digital Data Hypercube</b> позволяет организовывать обработку неструктурированных данных,
+            генерацию новых или модификацию старых знаний, бесшовное создание профильных и экспертных
+            сообществ по различным темам исследований. Нарративы и цифровые информационные продукты
+            <b>Digital Data Hypercube</b> позволяют бизнесу (заказчику или спонсору) раскрыть потенциал своего
+            бизнеса: динамично мониторить развитие рынка; найти новые уникальные решения; сформировать
+            новые продукты; выявить направления инклюзивного роста и инсайты для создания нового вида бизнеса.
+        </p>
+        <p class="block__info">
+            Цифровые инструменты <b>Digital Data Hypercube</b> позволяют творческим  научно- инженерно-,
+            техническим  людям бесшовно подключится к выполнению поставленных задач для бизнеса.
+        </p>
+        <p class="block__info">
+            Ценность для каждого из участников системы <b>Digital Data Hypercube</b> поддерживается консенсусом
+            смарт-контракта и оценивается стоимостью электронного токена Quantinium.
+        </p>
+        <p class="block__info">
+            Для бизнес-заказчика уникальность и высокое качество продукции <b>Digital Data Hypercube</b>
+            обеспечивается защищенностью, масштабностью и многомерностью системы. Правообладание
+            заказчика на созданные продукты обеспечивается смарт-контрактом и защищается блокчейн-сетью.
+        </p>
+        <p class="block__info">
+            Для творческих участников системы, генераторов новых знаний, смарт-контракт реализует
+            вознаграждения, которое является динамическим и зависит от множества критериев оценки ценности
+            созданных нарративов знаний и цифровых информационных продуктов. О механизме консенсуса участников
+            системы вы можете ознакомится на примере Цифрового хакатона <a href="">[ссылка на WP Цифровой хакатон]</a>.
         </p>
         <img class="block__img" src="img/plug.jpg">
         <img class="market-place__img" src="img/plate.png" alt="">