Esempio n. 1
0
        public async void OnDuplicateBtnClicked(object sender, EventArgs e)
        {
            string name = await DisplayPromptAsync(
                Resx.TextResource.Common_AskTitle,
                Resx.TextResource.New_AskDuplicatePrompt,
                Resx.TextResource.Common_OK,
                Resx.TextResource.Common_Cancel,
                initialValue : Item.HostName + " 1");

            if (name == null)
            {
                return;
            }

            if (hostsModel.DataStore.HasHost(name))
            {
                await DisplayAlert(
                    Resx.TextResource.Common_ErrorTitle,
                    string.Format(Resx.TextResource.New_HostHasBeenAdded, name),
                    Resx.TextResource.Common_OK);

                return;
            }

            var newItem = Item.Duplicate(name);

            newItem.LoadBalance.Clear();
            newItem.LoadBalance.AddRange(LoadBalance);
            LoadBalance.Clear();
            MessagingCenter.Send(this, "AddItem", newItem);
            await Navigation.PopModalAsync();
        }
Esempio n. 2
0
        public async void Save_Clicked(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(Item.HostName))
            {
                await DisplayAlert(
                    Resx.TextResource.Common_ErrorTitle,
                    Resx.TextResource.New_HostErrorNeedName,
                    Resx.TextResource.Common_OK);

                return;
            }

            if (addedOrEdit)
            {
                if (hostsModel.DataStore.HasHost(Item.HostName))
                {
                    await DisplayAlert(
                        Resx.TextResource.Common_ErrorTitle,
                        string.Format(Resx.TextResource.New_HostHasBeenAdded, Item.HostName),
                        Resx.TextResource.Common_OK);

                    return;
                }
            }
            else
            {
                Item.LoadBalance.Clear();
                Item.LoadBalance.AddRange(LoadBalance);
                MessagingCenter.Send(this, "UpdateItem", Item);
                await Navigation.PopModalAsync();

                return;
            }

            if (!Item.IsValid())
            {
                await DisplayAlert(
                    Resx.TextResource.Common_ErrorTitle,
                    string.Format(Resx.TextResource.New_ErrorAttributes, Item.HostName),
                    Resx.TextResource.Common_OK);

                return;
            }

            Item.LoadBalance.Clear();
            Item.LoadBalance.AddRange(LoadBalance);
            LoadBalance.Clear();
            MessagingCenter.Send(this, "AddItem", Item);
            await Navigation.PopModalAsync();
        }