Example #1
0
        public async Task NewTag(CommandContext context, [Description("Tag name")] string key, [Description("Tag value"), RemainingText] string value)
        {
            if (String.IsNullOrEmpty(value))
            {
                throw new ArgumentException();
            }

            await context.TriggerTypingAsync();

            using (var db = new TagContext())
            {
                var tag = db.Tags.FirstOrDefault(t => t.Key.ToLower() == key.ToLower());

                if (tag != null)
                {
                    var error = await context.RespondAsync($"Tag `{key}` already exists");

                    await Task.Delay(5000)
                    .ContinueWith(t => error.DeleteAsync())
                    .ContinueWith(t => context.Message.DeleteAsync());

                    return;
                }

                tag = new Tag {
                    Key = key, Value = value
                };
                db.Add(tag);
                await db.SaveChangesAsync();
            }

            await context.RespondAsync($"Created tag `{key}`");
        }
Example #2
0
        public async Task <IActionResult> Create([Bind("Id,Name")] Tenant tenant)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tenant);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(tenant));
        }
        public async Task <IActionResult> Create(int tenantId, [Bind("Id,Value")] Tag tag)
        {
            if (ModelState.IsValid)
            {
                tag.TenantId = tenantId;
                _context.Add(tag);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(tag));
        }
Example #4
0
        private void EnsureSection(FormatContext format)
        {
            if (_tags.Any(t => t.Name == "div"))
            {
                return;
            }

            var tag = new TagContext("div", _tags.PeekOrDefault());

            tag.AddRange(format.Where(t => t.Type == TokenType.SectionFormat || t is PageBreak));
            if (DefaultFont != null)
            {
                tag.Add(DefaultFont);
            }
            WriteTag(tag);
        }
Example #5
0
        public async Task <ActionResult> ItemCreate(string collectionId, string Title, string Description, string ShortDescription, string exitionalString, string Tags, bool goToNew, string ImageUrl)
        {
            Collection collection = _collectionContext.Collections
                                    .Where(o => o.Id == collectionId)
                                    .FirstOrDefault();
            User user = await _userManager.FindByNameAsync(collection.UserName);

            Dictionary <string, string[]> CollectionFields = JsonConvert.DeserializeObject <Dictionary <string, string[]> >(collection.Fields);
            Dictionary <string, string>   ItemFields       = new Dictionary <string, string>();

            //var markdown = new MarkdownSharp.Markdown();
            foreach (var colStr in CollectionFields)
            {
                string type = colStr.Key;
                foreach (var colName in colStr.Value)
                {
                    string name  = colName;
                    string value = Request.Form[name];
                    if (value == "" || value == null)
                    {
                        value = "off";
                    }
                    string s = type + "$$$$$" + markdown.Transform(value);
                    ItemFields.Add(markdown.Transform(name), s);
                }
            }

            string html  = markdown.Transform(Description);
            string title = markdown.Transform(Title);

            Item item = new Item
            {
                Id             = Guid.NewGuid().ToString(),
                CollectionId   = collectionId,
                UserName       = collection.UserName,
                Title          = title,
                Description    = html,
                Tags           = Tags,
                CollectionName = collection.Title,
                ImageUrl       = ImageUrl,
                OptionalFields = JsonConvert.SerializeObject(ItemFields),
                nComments      = 0,
                nLikes         = 0,
                Type           = "Item",
                Date           = DateTime.Now
            };
            List <Tag> Tagss = _tagContext.Tags.ToList();

            string[] ListTag = Tags.Split(" ");
            foreach (var tag in ListTag)
            {
                var result = _tagContext.Tags.Where(o => o.Text == tag).SingleOrDefault();
                if (result == null)
                {
                    Tag Tag = new Tag()
                    {
                        Id   = Guid.NewGuid().ToString(),
                        Text = tag
                    };
                    _tagContext.Add(Tag);
                }
                ;
            }

            await _tagContext.SaveChangesAsync();

            _itemContext.Add(item);
            collection.nItems++;
            user.nItems++;
            await _userManager.UpdateAsync(user);

            await _collectionContext.SaveChangesAsync();

            await _itemContext.SaveChangesAsync();

            if (goToNew == true)
            {
                return(RedirectToAction("Create", "Item", new { collectionId = collection.Id }));
            }
            return(RedirectToAction("Collection", "Collection", new { collectionId = collection.Id }));
        }