public IActionResult CreateGroup(CreateGroupEmojiInputModel inputModel) { try { _emojiService.CreateGroup(inputModel); } catch (SuchGroupNameAlreadyExists) { return(RedirectToAction("CreateGroup", new ErrorCreateGroupInputModel { ErrotType = ErrorCreateGroupType.SuchGroupNameExists, Name = inputModel.Name, Priority = inputModel.Priority, EmojiSequence = inputModel.EmojiSequence })); } catch (SuchGroupPriorityAlreadyExists) { return(RedirectToAction("CreateGroup", new ErrorCreateGroupInputModel { ErrotType = ErrorCreateGroupType.SuchGroupPriorityExists, Name = inputModel.Name, Priority = inputModel.Priority, EmojiSequence = inputModel.EmojiSequence })); } return(RedirectToAction("Group")); }
private void CheckPriority(CreateGroupEmojiInputModel inputModel) { var isSuchPrioritAlreadyExist = _context.EmojiGroups.Any(p => p.Priority == inputModel.Priority); if (isSuchPrioritAlreadyExist) { throw new SuchGroupPriorityAlreadyExists(); } }
private void CheckName(CreateGroupEmojiInputModel inputModel) { var isSuchNameAlreadyExist = _context.EmojiGroups.Any(p => p.Name == inputModel.Name); if (isSuchNameAlreadyExist) { throw new SuchGroupNameAlreadyExists(); } }
public void CreateGroup(CreateGroupEmojiInputModel inputModel) { CheckName(inputModel); CheckPriority(inputModel); var emojis = GetEmojisByEmojiSequence(inputModel.EmojiSequence); var group = new EmojiGroup { Name = inputModel.Name, Priority = inputModel.Priority, CreateDate = DateTime.UtcNow, Emojis = emojis.ToCollection() }; _context.Add(group); _context.SaveChanges(); }