//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"); } }
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; }
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; }