Ejemplo n.º 1
0
        //public async Task ZapiszISkanujDalej()
        //{
        //    await Task.Run(() => //Task.Run automatically unwraps nested Task types!
        //    {
        //        //  Zapisz();
        //        Task.Delay(5000);
        //        DisplayAlert(null, "po zapisie", "ok");
        //        // SkanowanieEan();
        //    });

        //}



        public async void Zapisz(string placeName = "")
        {
            short  ilosc;
            string odp = "";

            short.TryParse(entry_ilosc.Text, out ilosc);
            towar.MsI_TwrIloscSkan = ilosc;
            towar.MsI_TrnNumer     = 1;

            if (regex.IsMatch(placeName))
            {
                if (!await viewModel.IsPlaceEmpty(towar.MsI_TwrNumer, 0, placeName))
                {
                    odp = await DisplayActionSheet($"Miejsce nie jest puste, odłożyć mimo to? :", "NIE", "TAK", "");
                }


                if (odp == "TAK" || string.IsNullOrEmpty(odp))
                {
                    if (!string.IsNullOrEmpty(placeName))
                    {
                        if (await viewModel.AddTowarToPlace(towar, placeName))
                        {
                            await DisplayAlert("info", $"Dodano {towar.MsI_TwrIloscSkan} szt do {placeName}", "OK");

                            await Navigation.PopModalAsync();
                        }
                        else
                        {
                            await DisplayAlert("info", "Pozycja z tej MM została już dodana", "OK");
                        }
                    }
                    else
                    {
                        await DisplayAlert("info", "Podaj lokalizacje", "OK");
                    }
                }
            }

            else
            {
                await DisplayAlert("uwaga", "nazwa połozenia zawiera błędy", "OK");
            }
        }
Ejemplo n.º 2
0
        async void Handle_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            if (e.Item == null)
            {
                return;
            }
            string odp3 = "";

            List <string> opcje        = null;
            string        deleteButton = null;

            if (isRaportExists)
            {
                opcje = new List <string> {
                    "Pokaż wszystkie wpisy dla modelu"
                };
            }
            else
            {
                opcje = new List <string> {
                    "Odłóż na miejsce odkładcze", "Edytuj", "Pokaż wszystkie wpisy dla modelu"
                };
                deleteButton = "Usuń";
            }

            var towar = e.Item as PC_MsInwentory;

            var odp = await DisplayActionSheet($"Wybierz :", "Anuluj", deleteButton, opcje.ToArray());

            if (odp == "Odłóż na miejsce odkładcze")
            {
                var isExists = await IsPlaceExists(towar.MsI_TwrNumer); // czy w ogóle kod dodany


                if (isExists.Count == 0)
                {
                    var odp2 = await DisplayActionSheet($"Nie przypisano do miejsca :", "Utwórz nowe", "Anuluj", "");

                    if (odp2 == "Utwórz nowe")
                    {
                        //isExists = await IsPlaceExists( towar.MsI_TwrNumer, towar.MsI_TrnNumer); // czy istniej wpis z tej mmki

                        string placeName = await DisplayPromptAsync("Tworzenie nowego wpisu", "Podaj pozycję np. A10..", "OK", "Anuluj", "", 3, keyboard : Keyboard.Create(KeyboardFlags.CapitalizeCharacter), "");


                        if (!await viewModel.IsPlaceEmpty(towar.MsI_TwrNumer, 0, placeName))
                        {
                            odp3 = await DisplayActionSheet($"Miejsce nie jest puste, odłożyć mimo to? :", "NIE", "TAK", "");
                        }


                        if (odp3 == "TAK" || string.IsNullOrEmpty(odp3))
                        {
                            if (!string.IsNullOrEmpty(placeName))
                            {
                                if (await AddTowarToPlace(towar, placeName))
                                {
                                    await DisplayAlert("info", $"Dodano {towar.MsI_TwrIloscSkan} szt do {placeName}", "OK");

                                    foreach (var item in viewModel.Items)
                                    {
                                        if (item.MsI_TwrNumer == towar.MsI_TwrNumer)
                                        {
                                            towar.Msi_IsPut = true;
                                        }
                                    }
                                }
                                else
                                {
                                    await DisplayAlert("info", "Pozycja z tej MM została już dodana", "OK");
                                }
                            }
                            else
                            {
                                await DisplayAlert("info", "Podaj lokalizacje", "OK");
                            }
                        }
                        //else
                        //{
                        //    await DisplayAlert("info", "To miejsce jest już zajęte", "OK");
                        //}
                    }
                    else if (odp2 == "Anuluj")
                    {
                        ((ListView)sender).SelectedItem = null;
                        return;
                    }
                }
                else
                {
                    var places = isExists.Select(s => s.PlaceName).Distinct().ToArray();


                    var IsExistsFromThisMM = await IsPlaceExists(towar.MsI_TwrNumer, towar.MsI_TrnNumer);

                    if (IsExistsFromThisMM.Count > 0)
                    {
                        odp = await DisplayActionSheet($"Dodaj do istniejącego :", null, "Anuluj", places);//"Dodaj nowe położenie"
                    }
                    else
                    {
                        odp = await DisplayActionSheet($"Dodaj do istniejącego :", "Dodaj nowe położenie", "Anuluj", places);//"Dodaj nowe położenie"
                    }

                    //todo: czy dodawać nowe położenie??
                    //odp = await DisplayActionSheet($"Dodaj do istniejącego :",null,  "Anuluj", places);//""
                    if (odp != "Dodaj nowe położenie" && odp != "Anuluj")
                    {
                        if (!string.IsNullOrEmpty(odp))
                        {
                            if (await AddTowarToPlace(towar, odp))
                            {
                                await DisplayAlert("info", $"Dodano {towar.MsI_TwrIloscSkan} szt do {odp}", "OK");

                                foreach (var item in viewModel.Items)
                                {
                                    if (item.MsI_TwrNumer == towar.MsI_TwrNumer)
                                    {
                                        towar.Msi_IsPut = true;
                                    }
                                }
                            }
                            else if (await DisplayAlert("info", $"{towar.Twr_Kod} z tej MM został już dodany\n Chcesz zaktualizować wpis?", "Tak", "Nie"))
                            {
                                if (await viewModel.UpdateModelInPlace(towar, odp))
                                {
                                    await DisplayAlert("info", $"Dodano {towar.MsI_TwrIloscSkan} szt do {odp}", "OK");
                                }
                            }
                        }
                        else
                        {
                            await DisplayAlert("info", "Nazwa miejsca nie może być pusta", "OK");
                        }
                    }
                    else if (odp == "Anuluj")
                    {
                        ((ListView)sender).SelectedItem = null;
                        return;
                    }
                    else
                    {
                        string placeName = await DisplayPromptAsync("Tworzenie nowego wpisu", "Podaj pozycję np. A10..",
                                                                    "OK", "Anuluj", "", 3, keyboard : Keyboard.Create(KeyboardFlags.CapitalizeCharacter), "");


                        if (!await viewModel.IsPlaceEmpty(towar.MsI_TwrNumer, 0, placeName))
                        {
                            odp3 = await DisplayActionSheet($"Miejsce nie jest puste, odłożyć mimo to? :", "NIE", "TAK", "");
                        }


                        if (odp3 == "TAK" || string.IsNullOrEmpty(odp3))
                        {
                            if (!string.IsNullOrEmpty(placeName))
                            {
                                if (await AddTowarToPlace(towar, placeName))
                                {
                                    await DisplayAlert("info", $"Dodano {towar.MsI_TwrIloscSkan} szt do {placeName}", "OK");

                                    foreach (var item in viewModel.Items)
                                    {
                                        if (item.MsI_TwrNumer == towar.MsI_TwrNumer)
                                        {
                                            towar.Msi_IsPut = true;
                                        }
                                    }
                                }
                                else
                                {
                                    await DisplayAlert("info", "Pozycja z tej MM została już dodana", "OK");
                                }
                            }
                            else
                            {
                                await DisplayAlert("info", "Podaj lokalizacje", "OK");
                            }
                        }

                        //if (await viewModel.IsPlaceEmpty(towar.MsI_TwrNumer, 0, placeName))
                        //{
                        //    if (!string.IsNullOrEmpty(placeName))
                        //    {
                        //        if (await AddTowarToPlace(towar, placeName))
                        //        {
                        //            await DisplayAlert("info", $"Dodano {towar.MsI_TwrIloscSkan} szt do {placeName}", "OK");
                        //            foreach (var item in viewModel.Items)
                        //            {
                        //                if (item.MsI_TwrNumer == towar.MsI_TwrNumer)
                        //                {
                        //                    towar.Msi_IsPut = true;

                        //                }
                        //            }
                        //        }
                        //        else
                        //            await DisplayAlert("info", "Pozycja z tej MM została już dodana", "OK");
                        //    }
                        //    else
                        //    {
                        //        await DisplayAlert("info", "Nazwa miejsca nie może być pusta", "OK");
                        //    }
                        //}
                        //else
                        //{
                        //    await DisplayAlert("info", "To miejsce jest już zajęte", "OK");
                        //}
                    }
                }
            }
            else if (odp == "Anuluj")
            {
                ((ListView)sender).SelectedItem = null;
                return;
            }
            else if (odp == "Pokaż wszystkie wpisy dla modelu")
            {
                var sql = $@"cdn.PC_WykonajSelect N'select PlaceName, cdn.NazwaObiektu(1603, placetrnnumer,0,2) PlaceOpis, PlaceQuantity  
                            from  cdn.pc_mspolozenie
                            where placetwrnumer={towar.MsI_TwrNumer}'";

                var listaplace = await App.TodoManager.PobierzDaneZWeb <Place>(sql);

                string        wpisy   = "";
                List <string> wpisies = new List <string>();

                foreach (var i in listaplace)
                {
                    wpisies.Add($@"{i.PlaceName} - {i.PlaceOpis} :  {i.PlaceQuantity} szt");
                }

                ;
                await DisplayActionSheet($"Lista wpisów dla \n{towar.Twr_Kod} : suma {listaplace.Sum(s => s.PlaceQuantity)} szt", "", "Anuluj", wpisies.ToArray());
            }
            else if (odp == "Edytuj")
            {
                short  nowa;
                string nowailosc = await DisplayPromptAsync("Edycja wpisu", $"Podaj nową wartość dla {towar.Twr_Kod}", "OK", "Anuluj", "", 3, keyboard : Keyboard.Numeric, "");


                if (!string.IsNullOrEmpty(nowailosc))
                {
                    if (short.TryParse(nowailosc, out nowa))
                    {
                        towar.MsI_TwrIloscSkan = nowa;
                        await viewModel.UpdateModelInInventory(towar);
                        await DisplayAlert("uwaga!", "Ponownie odłóż tą wartość na miejsce odkładcze", "OK");
                    }
                    else
                    {
                        await DisplayAlert("uwaga", "To nie liczba", "OK");
                    }
                }
            }
            else if (odp == "Usuń")
            {
                var odpDelete = await DisplayAlert("uwaga", "Czy chcesz usunąć pozycję?\nWpis zostanie usunięty również z położenia", "TAK", "NIE");

                if (odpDelete)
                {
                    var response = await viewModel.DeleteFromSkanAndPolozenie(towar.MsI_TrnNumer, towar.Twr_Gidnumer);

                    if (response)
                    {
                        var obj = viewModel.Items.Where(s => s.MsI_TrnNumer == towar.MsI_TrnNumer && s.MsI_TwrNumer == towar.Twr_Gidnumer).FirstOrDefault();
                        viewModel.Items.Remove(obj);
                        await DisplayAlert("info", "Wpis usunięto", "OK");
                    }
                }
            }


            //Deselect Item
            ((ListView)sender).SelectedItem = null;
        }
Ejemplo n.º 3
0
        async void Handle_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            if (e.Item == null)
            {
                return;
            }

            List <string> opcje = new List <string> {
                "Zmień położenie (nazwę)", "Pokaż wszystkie wpisy dla modelu", "Historia przesunięć do MS"
            };

            var place = e.Item as Place;

            var odp = await DisplayActionSheet($"Wybierz :", null, "Anuluj", opcje.ToArray());

            string odp2 = "";

            if (odp == "Zmień położenie (nazwę)")
            {
                string placeName = await DisplayPromptAsync("Tworzenie nowego wpisu", "Podaj nową pozycję", "OK", "Anuluj", "", 3,
                                                            keyboard : Keyboard.Create(KeyboardFlags.CapitalizeCharacter), "");

                if (!string.IsNullOrEmpty(placeName))
                {
                    if (!await viewModel.IsPlaceEmpty(place.PlaceTwrNumer, 0, placeName))
                    {
                        odp2 = await DisplayActionSheet($"Miejsce nie jest puste, odłożyć mimo to? :", "NIE", "TAK", "");
                    }

                    if (odp2 == "TAK" || string.IsNullOrEmpty(odp2))
                    {
                        if (!string.IsNullOrEmpty(placeName))
                        {
                            if (await zatwierdzonevm.UpdatePlaceName(place, placeName))
                            {
                                await DisplayAlert("info", $"Zmieniono położenie na {placeName}", "OK");

                                //todo : pobierz nowa liste bo następuje agregacja
                                place.PlaceName = placeName;
                            }
                        }
                        else
                        {
                            await DisplayAlert("info", "Podaj lokalizacje", "OK");
                        }
                    }
                }
            }
            else if (odp == "Pokaż wszystkie wpisy dla modelu")
            {
                var sql = $@"cdn.PC_WykonajSelect N'select PlaceName, cdn.NazwaObiektu(1603, placetrnnumer,0,2) PlaceOpis, PlaceQuantity  
                            from  cdn.pc_mspolozenie
                            where placetwrnumer={place.PlaceTwrNumer} and placeName=''{place.PlaceName}'''";

                var listaplace = await App.TodoManager.PobierzDaneZWeb <Place>(sql);

                string        wpisy   = "";
                List <string> wpisies = new List <string>();

                foreach (var i in listaplace)
                {
                    wpisies.Add($@"{i.PlaceName} - {i.PlaceOpis} :  {i.PlaceQuantity} szt");
                }

                ;
                await DisplayActionSheet($"Lista wpisów, : suma {listaplace.Sum(s => s.PlaceQuantity)} szt", "", "Anuluj", wpisies.ToArray());
            }
            else if (odp == "Historia przesunięć do MS")
            {
                var historia = await viewModel.GetListaZmianPolozenia(place.PlaceTwrNumer);
                await DisplayActionSheet($"Lista wpisów", "", "Anuluj", historia.ToArray());
            }


            //Deselect Item
            ((ListView)sender).SelectedItem = null;
        }