Example #1
0
        public async Task Create(string?text, string?BlogId, IList <string> files)
        {
            var attachments       = new List <byte[]>();
            var stringattachments = new List <string>();

            foreach (var data in files)
            {
                var hernya = data.Split(',');
                var suka   = hernya[1];
                stringattachments.Add(hernya[1]);
                attachments.Add(Convert.FromBase64String(suka));
            }
            var           UserName   = Context.User.Identity.Name;
            Блог          блог       = _context.Блог.Find(Guid.Parse(BlogId));
            List <string> подписчики = _context.Подписчик.Where(t => t.ID_Блога == блог.ID_Блога).Select(t => t.ID_Пользователя.ToString().ToLower()).ToList();
            Запись        запись     = new Запись
            {
                ID_Записи       = Guid.NewGuid(),
                ID_Блога        = Guid.Parse(BlogId),
                Дата_публикации = DateTime.Now,
                Название        = null,
                Текст           = text
            };

            _context.Add(запись);
            foreach (var file in attachments)
            {
                Guid   ID_Data = Guid.NewGuid();
                Данные данные  = new Данные()
                {
                    Data = file,
                    ID   = ID_Data
                };
                Приложение приложение = new Приложение()
                {
                    ID_Data   = ID_Data,
                    ID_Записи = запись.ID_Записи,
                    Данные    = данные,
                    Запись    = запись
                };
                _context.Add(данные);
                _context.Add(приложение);
            }
            _context.SaveChanges();
            await Clients.All.SendAsync("Publicated", new
            {
                id_блога        = блог.ID_Блога,
                id_записи       = запись.ID_Записи,
                блог            = блог.Название,
                запись          = запись.Название,
                лайки           = 0,
                коментарии      = 0,
                дата_публикации = запись.Дата_публикации.ToLocalTime(),
                текст           = запись.Текст,
                приложения      = stringattachments,
            });
        }
    public static void ОбновитьКлиент()
    {
        ОбновлениеИсходныхКодов обновлениеИсходныхТекстов = new ОбновлениеИсходныхКодов();

        bool требуетсяОбновление = false;

        try
        {
            требуетсяОбновление = обновлениеИсходныхТекстов.ПроверитьНаОбновление(false);
        }
        catch
        {
            return;
        }

        bool необходимаКомпиляция = false;

        if (требуетсяОбновление)
        {
            необходимаКомпиляция = true;

            #region Выполнение обновления исходных текстов
            try
            {
                if (обновлениеИсходныхТекстов == null)
                {
                    return;
                }

                обновлениеИсходныхТекстов.ЗагрузитьОбновление();
            }
            catch
            {
            }
            #endregion
        }
        else
        {
            необходимаКомпиляция = false;
        }

        if (!н еобходимаКомпиляция)
        {
            // проверяем, а существуют ли необходимые библиотеки
            foreach (КомпонентСистемы компонент in Приложение.ПолучитьВсеКомпоненты())
            {
                if (!File.Exists(Path.Combine(Приложение.абочаяПапка, компонент.Имя + ".dll")))
                {
                    необходимаКомпиляция = true;
                    break;
                }
            }
        }

        // компиляция исходных текстов
        if (необходимаКомпиляция)
        {
            КомпиляторПроекта компилятор = new КомпиляторПроекта();

            if (!компилятор.ВыполнитьКомпиляцию(null))
            {
                return;
            }
        }
    }