Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
 public Tag(TagArgs args)
 {
     Title       = args.Title;
     Description = args.Description;
     Image.Id    = args.Image;
     Status      = args.Status;
 }
Ejemplo n.º 3
0
 public TagsControllerTest()
 {
     TagArgs = new TagArgs
     {
         Description = "Hello",
         Image       = null,
         Status      = ContentStatus.Draft
     };
 }
Ejemplo n.º 4
0
        public void UpdateByIdTest400()
        {
            var tagArgs = new TagArgs();

            MyMvc
            .Controller <TagsController>()
            .Calling(c => c.UpdateByIdAsync(1, tagArgs))
            .ShouldReturn()
            .BadRequest();
        }
Ejemplo n.º 5
0
        public void PostAsyncTest400()
        {
            var tagArgs = new TagArgs();

            MyMvc
            .Controller <TagsController>()
            .Calling(c => c.PostAsync(tagArgs))
            .ShouldReturn()
            .BadRequest();
        }
Ejemplo n.º 6
0
        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));
            }
        }
Ejemplo n.º 7
0
        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());
        }
Ejemplo n.º 8
0
        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);
                    }
                });
            }
        }