using MercatorPenguin;
using MercatorPenguin.EditCustomizers;

namespace TestPenguinCustomizerTransfer
{
    public class CustomizerTransfer : BaseEditTransferCustomizer
    {
        public CustomizerTransfer(ConstructorParams constructorParams) :
            base(constructorParams)
        { }

        public override async Task OnBeforeSaveAsync(BeforeSaveEventArgs e)
        {
            IEditPicker editPickerPiedIdDepot1 = Controls.OfType<IEditPicker>().FirstOrDefault(c => c.Source?.Equals("ID_DEPOT1", StringComparison.InvariantCultureIgnoreCase) ?? false);
            IEditPicker editPickerPiedIdDepot2 = Controls.OfType<IEditPicker>().FirstOrDefault(c => c.Source?.Equals("ID_DEPOT2", StringComparison.InvariantCultureIgnoreCase) ?? false);
            if ((editPickerPiedIdDepot1 == null) || (editPickerPiedIdDepot2 == null))
            {
                await Dialogs.Stop(Page, "Fout : Kan de EditPickers gekoppeld aan ID_DEPOT1 en/of ID_DEPOT2 niet vinden!");
                return;
            }

            if (!await Dialogs.AnswerYesNo(Page, $"Wilt u de wijzigingen op deze overdracht van \"{editPickerPiedIdDepot1.DisplayValue}\" naar \"{editPickerPiedIdDepot2.DisplayValue}\" echt opslaan?"))
            {
                e.CancelSave = true;
            }
        }
    }
}