public bool UpdateFrom (GadgetTest gadgetContent) { bool res = false; if (gadgetContent.NotNull ()) { if (gadgetContent.ValidateId) { // Test if (HasContentTest && gadgetContent.HasContentTest) { if (Contains (gadgetContent.Id)) { if (RequestTest (gadgetContent.Id) is GadgetTest gadgetItem) { gadgetItem.ChangeFrom (gadgetContent); // Target if (gadgetItem.HasContentTarget) { var list = new Collection<GadgetTarget> (); gadgetItem.RequestContent (list); foreach (var item in list) { if (gadgetContent.RequestContentTarget (item.Id) is GadgetTarget gadget) { item.ChangeFrom (gadget); res = true; } } } // Test if (gadgetItem.HasContentTest) { var list = new Collection<GadgetTest> (); gadgetItem.RequestContent (list); foreach (var item in list) { if (gadgetContent.RequestContentTest (item.Id) is GadgetTest gadget) { item.UpdateFrom (gadget); res = true; } } } } } } // Target if (HasContentTarget && gadgetContent.HasContentTarget) { if (gadgetContent.HasContent) { var gadgetTargetList = new Collection<GadgetTarget> (); gadgetContent.RequestContent (gadgetTargetList); foreach (var gadgetTarget in gadgetTargetList) { if (RequestTarget (gadgetTarget.Id) is GadgetTarget gadgetItem) { gadgetItem.ChangeFrom (gadgetTarget); res = true; } } } } } } return (res); }