public async Task <IActionResult> PostAsync([FromBody] TagArgs args) { ValidateTagArgs(args); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!UserPermissions.IsAllowedToCreate(User.Identity, args.Status)) { return(Forbid()); } if (_tagIndex.IsTitleExist(args.Title)) { return(StatusCode(409)); } int id = _entityIndex.NextId(ResourceType.Tag); var ev = new TagCreated { Id = id, UserId = User.Identity.GetUserIdentity(), Properties = args, Timestamp = DateTimeOffset.Now }; await _eventStore.AppendEventAsync(ev); return(Created($"{Request.Scheme}://{Request.Host}/api/Tags/{id}", id)); }
public Tag(TagArgs args) { Title = args.Title; Description = args.Description; Image.Id = args.Image; Status = args.Status; }
public TagsControllerTest() { TagArgs = new TagArgs { Description = "Hello", Image = null, Status = ContentStatus.Draft }; }
public void UpdateByIdTest400() { var tagArgs = new TagArgs(); MyMvc .Controller <TagsController>() .Calling(c => c.UpdateByIdAsync(1, tagArgs)) .ShouldReturn() .BadRequest(); }
public void PostAsyncTest400() { var tagArgs = new TagArgs(); MyMvc .Controller <TagsController>() .Calling(c => c.PostAsync(tagArgs)) .ShouldReturn() .BadRequest(); }
private void ValidateTagArgs(TagArgs args) { if (args == null) { return; } // ensure referenced image exists if (args.Image != null && !_mediaIndex.IsImage(args.Image.Value)) { ModelState.AddModelError(nameof(args.Image), ErrorMessages.ImageNotFound(args.Image.Value)); } }
public async Task <IActionResult> UpdateByIdAsync(int id, [FromBody] TagArgs args) { ValidateTagArgs(args); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_entityIndex.Exists(ResourceType.Tag, id)) { return(NotFound()); } if (!UserPermissions.IsAllowedToEdit(User.Identity, args.Status, _entityIndex.Owner(ResourceType.Tag, id))) { return(Forbid()); } var oldStatus = _entityIndex.Status(ResourceType.Tag, id).GetValueOrDefault(); if (args.Status == ContentStatus.Unpublished && oldStatus != ContentStatus.Published) { return(BadRequest(ErrorMessages.CannotBeUnpublished(ResourceType.Tag))); } var tagIdWithSameTitle = _tagIndex.GetIdByTagTitle(args.Title); if (tagIdWithSameTitle != null && tagIdWithSameTitle != id) { return(StatusCode(409, ErrorMessages.TagNameAlreadyUsed)); } var ev = new TagUpdated { Id = id, UserId = User.Identity.GetUserIdentity(), Properties = args, Timestamp = DateTimeOffset.Now, }; await _eventStore.AppendEventAsync(ev); return(NoContent()); }
private void Ur_OnTagRead(object sender, TagArgs e) { if (e != null) { System.Windows.Application.Current.Dispatcher.Invoke(delegate { int iCount = 0; int iQty = 1; if (TagList == null) { TagList = new ObservableCollection <Tag>(); } else { iCount = TagList.Count; } bool bExist = false; if (TagList.Count > 0) { List <Tag> lst = TagList.ToList(); foreach (Tag ta in lst) { if (ta.Uii == e.Uii) { bExist = true; if (allowDuplicate) { // Need to increase Qty. ta.Qty += 1; ta.ReadDate = DateTime.Now.ToString("yyyy-MM-dd"); ta.ReadTime = DateTime.Now.ToString("hh:mm:ss tt"); } } } if (bExist) { TagList.Clear(); TagList = new ObservableCollection <Tag>(lst); } } if (!bExist) { iCount++; Tag t = new Tag(); t.Uii = e.Uii; t.No = iCount; t.Qty = iQty; t.ReadDate = DateTime.Now.ToString("yyyy-MM-dd"); t.ReadTime = DateTime.Now.ToString("hh:mm:ss tt"); TagList.Add(t); } }); } }