示例#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,
            });
        }
示例#2
0
        public IActionResult EditAvatar(AvatarViewModel files)
        {
            Пользователь пользователь = _context.Пользователь.FirstOrDefault(t => t.ID == files.ID_Пользователя);
            Guid         Data_ID      = Guid.NewGuid();

            byte[] avatarData = null;
            using (var binaryReader = new BinaryReader(files.Avatar.OpenReadStream()))
            {
                avatarData = binaryReader.ReadBytes((int)files.Avatar.Length);
            }
            List <Аватарка> аватарки = _context.Аватарка.Where(t => t.ID_Пользователя == пользователь.ID).ToList();

            foreach (var ава in аватарки)
            {
                ава.Используется = false;
            }
            Данные данные = new Данные()
            {
                ID   = Data_ID,
                Data = avatarData,
            };
            Аватарка аватарка = new Аватарка()
            {
                ID_Пользователя = пользователь.ID,
                Используется    = true,
                Дата_изменения  = DateTime.Now,
                ID_Data         = Data_ID,
                Данные          = данные,
                Пользователь    = пользователь,
            };

            _context.Данные.Add(данные);
            _context.Аватарка.Add(аватарка);
            _context.SaveChanges();
            return(RedirectToAction("GetUserInfo"));
        }