private ProcessAction ToProcessAction(IActionKeeper item) { ProcessAction pa = new ProcessAction(); pa.ActionId = item.ActionId; pa.ProcessActionId = 0; pa.ActionName = item.ActionName; pa.GivenTime = item.GivenTime; pa.IsChecked = item.IsChecked; pa.LastChecks = item.LastChecks; pa.PlaceId = item.PlaceId; pa.PlaceName = item.PlaceName; pa.CreatedOn = DateTime.Now; pa.CreatedBy = RuntimeSettings.CurrentUser.UserId; return(pa); }
async void Handle_ItemTapped(object sender, ItemTappedEventArgs e) { if (e.Item == null) { return; } if ((bool)((IActionKeeper)e.Item).IsMutable) { if ((bool)((IActionKeeper)e.Item).IsChecked) { ((IActionKeeper)e.Item).IsChecked = false; IActionKeeper item = ((IActionKeeper)e.Item); if (vm.CheckedItems.Any(i => i.ActionId == item.ActionId)) { vm.CheckedItems.Remove(vm.CheckedItems.FirstOrDefault(i => i.ActionId == item.ActionId)); } } else { ((IActionKeeper)e.Item).IsChecked = true; IActionKeeper item = ((IActionKeeper)e.Item); if (!vm.CheckedItems.Any(i => i.ActionId == item.ActionId)) { vm.CheckedItems.Add(ToProcessAction(item)); } } } else { DependencyService.Get <IToaster>().LongAlert($"Czynność została oznaczona jako wykonana w innej obsłudze i nie można jej zmienić.."); } //Deselect Item ((ListView)sender).SelectedItem = null; }