Exemplo n.º 1
0
        void HandleClickFormularioProduto(object sender, EventArgs e)
        {
            var item = model.adapterProdutos.GetItemProduto(
                (CardView)((View)sender).Parent.Parent.Parent);

            foreach (var itemIDVisita in model.modelPCL.idVisitas)
            {
                var tbProduto = controller.GetProdutosList(item.description);
                foreach (var produto in tbProduto)
                {
                    if (controller.IsCorrectIDTarefaLoja(itemIDVisita.IdVisita, produto.ID))
                    {
                        var i = new Intent(this, typeof(FormDinamico));
                        i.PutExtra("idUser", controller.GetIDByVisita(itemIDVisita.IdVisita));
                        i.PutExtra("idVisita", itemIDVisita.IdVisita);
                        if (tbProduto != null)
                        {
                            i.PutExtra("idProduto", produto.ID);
                        }
                        isToRunning = false;
                        StartActivity(i);
                        OverridePendingTransition(Resource.Animation.abc_slide_in_bottom,
                                                  Resource.Animation.abc_slide_out_top);
                        break;
                    }
                }
            }
        }
        EventHandler Ruptura()
        {
            return((sender, e) =>
            {
                var alert = UIAlertController.Create("Ruptura", "Tem certeza que o item esta em ruptura ?", UIAlertControllerStyle.Alert);
                alert.AddAction(UIAlertAction.Create("Nao", UIAlertActionStyle.Cancel, (actionCancel) =>
                {
                    MetricsManager.TrackEvent("CancelRuptura");
                }));

                alert.AddAction(UIAlertAction.Create("Sim", UIAlertActionStyle.Default, (actionOK) =>
                {
                    InvokeOnMainThread(delegate
                    {
                        var gps = LocationHelper.UpdateLocation();
                        if (gps == null)
                        {
                            var alertGps = UIAlertController.Create("GPS Desativado",
                                                                    "Ligue o GPS ou tire do modo aviao para continuar utilizando o sistema", UIAlertControllerStyle.Alert);
                            alertGps.AddAction(UIAlertAction.Create("Ok", UIAlertActionStyle.Default, (defaults) => { }));
                            alertGps.View.TintColor = UIColor.FromRGB(10, 88, 90);
                            PresentViewController(alertGps, true, null);
                        }
                        else
                        {
                            var tarefasCell = ((UIButton)sender).Superview.Superview as TarefasCell;
                            var path = TarefasTable.IndexPathForRowAtPoint(new CoreGraphics.CGPoint(tarefasCell.Frame.X, tarefasCell.Frame.Y));
                            using (var cell = TarefasTable.CellAt(path) as TarefasCell)
                            {
                                var task = cell.GetTarefaInfo();
                                foreach (var itemIDVisita in listIdsPDVs)
                                {
                                    var tbProduto = controller.GetProdutosList(task.DescricaoDaTarefa);
                                    foreach (var produto in tbProduto)
                                    {
                                        var idProduto = produto.ID;
                                        if (controller.IsCorrectIDTarefaLoja(itemIDVisita.IdVisita, produto.ID))
                                        {
                                            var batery = ((int)(UIDevice.CurrentDevice.BatteryLevel * 100F));
                                            if (gps.Location != null)
                                            {
                                                controller.SetRuptura(itemIDVisita.IdVisita,
                                                                      controller.GetProdutos(task.DescricaoDaTarefa).ID, gps.Location.Coordinate.Latitude,
                                                                      gps.Location.Coordinate.Longitude, batery);
                                            }
                                            else
                                            {
                                                controller.SetRuptura(itemIDVisita.IdVisita,
                                                                      controller.GetProdutos(task.DescricaoDaTarefa).ID,
                                                                      LocationHelper.LastLocation.Coordinate.Latitude,
                                                                      LocationHelper.LastLocation.Coordinate.Longitude, batery);
                                            }
                                        }
                                    }
                                }
                                var index = tarefasTable.Tarefas.FindIndex((obj) => obj.DescricaoDaTarefa.Equals(task.DescricaoDaTarefa) &&
                                                                           obj.Categoria.Equals(task.Categoria));
                                TarefasTable.BeginUpdates();
                                tarefasTable.Tarefas.RemoveAt(index);
                                TarefasTable.DeleteRows(new NSIndexPath[] { path }, UITableViewRowAnimation.Left);
                                TarefasTable.EndUpdates();
                                if (tarefas.Count < 1)
                                {
                                    PopUpCheckOutAutomatico();
                                }
                            }
                        }
                    });
#if !DEBUG
                    HockeyApp.MetricsManager.TrackEvent("Ruptura");
#endif
                }));
                alert.View.TintColor = UIColor.FromRGB(10, 88, 90);
                PresentViewController(alert, true, null);
            });
        }