コード例 #1
0
 public def_SectionItems(ISectionItem c) : this()
 {
     if (c != null)
     {
         sectionItemId   = c.sectionItemId;
         sectionId       = c.sectionId;
         itemId          = c.itemId;
         subSectionId    = c.subSectionId;
         order           = c.order;
         validation      = c.validation;
         display         = c.display;
         readOnly        = c.readOnly;
         requiredSection = c.requiredSection;
         requiredForm    = c.requiredForm;
     }
 }
コード例 #2
0
ファイル: ItemMapper.cs プロジェクト: DanteDeRuwe/vecto
        public static void UpdateWith(this ISectionItem item, ItemDTO model)
        {
            switch (item)
            {
            case PackingItem packingItem:
                packingItem.Title       = model.Title ?? packingItem.Title;
                packingItem.Description = model.Description ?? packingItem.Description;
                packingItem.Amount      = model.Amount;
                return;

            case TodoItem todoItem:
                todoItem.Title       = model.Title ?? todoItem.Title;
                todoItem.Description = model.Description ?? todoItem.Description;
                return;
            }
        }
コード例 #3
0
        public IActionResult Toggle(Guid tripId, Guid sectionId, Guid itemId)
        {
            var trip = _tripsRepository.GetBy(tripId);

            if (trip is null)
            {
                return(NotFound("trip not found"));
            }

            var section = trip.Sections.SingleOrDefault(s => s.Id == sectionId);

            if (section is null)
            {
                return(NotFound("section not found"));
            }

            ISectionItem item = null;

            if (section is TodoSection todoSection)
            {
                item = todoSection.Items.SingleOrDefault(i => i.Id == itemId);
            }
            else if (section is PackingSection packingSection)
            {
                item = packingSection.Items.SingleOrDefault(i => i.Id == itemId);
            }

            if (item is null)
            {
                return(NotFound("item not found"));
            }

            if (item is IToggleable tItem)
            {
                tItem.Toggle();
            }

            _tripsRepository.SaveChanges();

            return(Ok());
        }
コード例 #4
0
        public IActionResult Update(Guid tripId, Guid sectionId, Guid itemId, ItemDTO itemDTO)
        {
            // todo: validation

            var trip = _tripsRepository.GetBy(tripId);

            if (trip is null)
            {
                return(NotFound("trip not found"));
            }

            var section = trip.Sections.SingleOrDefault(s => s.Id == sectionId);

            if (section is null)
            {
                return(NotFound("section not found"));
            }

            ISectionItem item = null;

            if (section is TodoSection todoSection)
            {
                item = todoSection.Items.SingleOrDefault(i => i.Id == itemId);
            }
            else if (section is PackingSection packingSection)
            {
                item = packingSection.Items.SingleOrDefault(i => i.Id == itemId);
            }

            if (item is null)
            {
                return(NotFound("item not found"));
            }

            item.UpdateWith(itemDTO);

            _tripsRepository.Update(trip);
            _tripsRepository.SaveChanges();

            return(Ok(item));
        }