Example #1
0
        public async Task <IActionResult> CreateAsync(NewCookieTemplateDto newCookieTemplateDto)
        {
            var cookieTemplate = new CookieTemplate
            {
                Domain     = newCookieTemplateDto.Domain,
                Name       = newCookieTemplateDto.Name,
                ResourceId = newCookieTemplateDto.ResourceId
            };

            await _cookieTemplateRepo.CreateAsync(cookieTemplate);

            await _cookieTemplateRepo.SaveChangesAsync();

            // Добавляем новые шаблоны в куки
            var clients = await _clientRepo.GetByResourceAsync(newCookieTemplateDto.ResourceId);

            var cookies = clients.Data.Select(t => new Cookie
            {
                ClientId         = t.Id,
                CookieTemplateId = cookieTemplate.Id
            }).ToArray();

            await _cookieRepo.CreateRangeCookieAsync(cookies);

            await _cookieRepo.SaveChangesAsync();

            // TODO: Уведомлять всех пользователей что теперь по такому что куку нужно отправлять значение
            //var users =

            //var connection = _connectionMapping.GetConnections(user.Email);
            //await _cookieHub.Clients.AllExcept(new string[] { connection.SingleOrDefault() }).SendAsync("NewCookie", new
            //{
            //    id = cookie.Id,
            //    value = cookie.Value,
            //    name = template.Name,
            //    url = resource.Url
            //});

            return(Ok(cookieTemplate));
        }
Example #2
0
 public void Update(CookieTemplate cookieTemplate)
 {
     _context.CookieTemplates.Update(cookieTemplate);
 }
Example #3
0
 public void Remove(CookieTemplate cookieTemplate)
 {
     _context.CookieTemplates.Remove(cookieTemplate);
 }
Example #4
0
 public async Task CreateAsync(CookieTemplate cookieTemplate)
 {
     await _context.CookieTemplates.AddAsync(cookieTemplate);
 }