Beispiel #1
0
 public ResultVo(ShortcutDto shortcut, Func <ShortcutDto, string> selector = null, string query = null)
 {
     Shortcut = shortcut;
     Matches  = query == null
                         ? new List <OrderedRange>()
                         : Levenshtein.GetMatchingBlocks(selector?.Invoke(shortcut).ToLowerInvariant(), query.ToLowerInvariant())
                .Where(b => b.Length > 0)
                .Select(b => new OrderedRange(b.SourcePos, b.SourcePos + b.Length))
                .ToList();
 }
Beispiel #2
0
        public IHttpActionResult UpdateShortcut(string shortcutId, ShortcutDto shortcut)
        {
            if (string.IsNullOrEmpty(shortcutId))
            {
                throw new ArgumentNullException("shortcutId");
            }

            var updated = _shortcutService.UpdateShortcut(shortcut);

            return(Ok(updated));
        }
Beispiel #3
0
        public ShortcutDto UpdateShortcut(ShortcutDto shortcut)
        {
            var existingShortcut = _shortcutRepository
                                   .Get(s => s.UniqueID.Equals(shortcut.UniqueId))
                                   .FirstOrDefault();

            if (shortcut == null)
            {
                throw new InvalidOperationException("shortcut does not exist.");
            }

            if (shortcut.IsDefault != existingShortcut.IsDefault)
            {
                SetDetaultShortcut(existingShortcut);
            }
            else
            {
                // TODO: do a normal update operation
            }

            return(_shortcutRepository.Get(s => s.UniqueID == shortcut.UniqueId).Select(s => Mapper.Map <ShortcutDto>(s)).First());
        }
Beispiel #4
0
        public ShortcutDto AddShortcut(ShortcutDto shortcut)
        {
            var existedShortcut = _shortcutRepository.Get(s => s.Owner.Equals(shortcut.Owner, StringComparison.OrdinalIgnoreCase) &&
                                                          s.Category == (int)shortcut.Category &&
                                                          s.Name.Equals(shortcut.Name, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();

            if (existedShortcut != null)
            {
                if (!shortcut.IgnoreDuplicatedName)
                {
                    throw new DuplicateNameException();
                }
                else
                {
                    _shortcutRepository.Delete(existedShortcut);
                }
            }

            _shortcutRepository.Add(Mapper.Map <ShortcutDto, Shortcut>(shortcut));
            _shortcutRepository.SaveChanges();

            return(GetShortcut(shortcut.UniqueId));
        }
Beispiel #5
0
        public IHttpActionResult AddShortcut(ShortcutDto shortcut)
        {
            var result = _shortcutService.AddShortcut(shortcut);

            return(Created <ShortcutDto>("api/v1/shortcut/" + result.UniqueId, result));
        }