protected virtual void KCImagePlacement_RowPersisting(PXCache sender, PXRowPersistingEventArgs e)
        {
            if (e == null || e.Row == null)
            {
                return;
            }
            KCImagePlacement row = e.Row as KCImagePlacement;

            if (ImagePlacements.Cache.GetStatus(row) != PXEntryStatus.Deleted)
            {
                if (IsAttributeEmpty(row))
                {
                    sender.RaiseExceptionHandling <KCImagePlacement.attributeID>(e.Row, null, new Exception(KCMessages.AttributeCanNotBeNull));
                    throw new PXException(KCMessages.AttributeCanNotBeNull);
                }

                if (IsImagePlacementEmpty(row))
                {
                    sender.RaiseExceptionHandling <KCImagePlacement.imagePlacement>(e.Row, null, new Exception(KCMessages.ImagePlacementShouldBeFilled));
                    throw new PXException(KCMessages.ImagePlacementShouldBeFilled);
                }
            }

            ClearAttributesMapping(row);
        }
 private void ClearAttributesMapping(KCImagePlacement imagePlacement)
 {
     if (imagePlacement.IsMapped == true)
     {
         foreach (KCAttributesMapping attributesMapping in AttributesMapping.Select())
         {
             if (attributesMapping.AAttributeName.Equals(imagePlacement.AttributeID))
             {
                 AttributesMapping.Delete(attributesMapping);
             }
         }
     }
 }
        protected List <(string imagePlacement, string imageUrl)> HandleImages(InventoryItem product, KCBulkProductMaint graph)
        {
            List <(string, string)>        images = new List <(string, string)>();
            PXResultset <KCImagePlacement> mappedImagePlacements = graph.MappedImagePlacements.Select(product.NoteID);

            foreach (PXResult <KCImagePlacement> mappedImagePlacement in mappedImagePlacements)
            {
                KCImagePlacement image     = mappedImagePlacement.GetItem <KCImagePlacement>();
                CSAnswers        attribute = mappedImagePlacement.GetItem <CSAnswers>();

                images.Add((image.ImagePlacement, attribute.Value));
            }

            return(images);
        }
 protected virtual bool IsImagePlacementEmpty(KCImagePlacement imagePlacement)
 {
     return(imagePlacement.IsMapped == true && imagePlacement.ImagePlacement == null);
 }
 protected virtual bool IsAttributeEmpty(KCImagePlacement imagePlacement)
 {
     return(imagePlacement.AttributeID == null);
 }