protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.formdinamico); var modelForm = new FormDinamicoModel() { Db = new FormDinamicoDA(SQLite_Android.DB.dataBase), IdVisita = Intent.GetStringExtra("idVisita"), IdProduto = Intent.GetStringExtra("idProduto") }; controller = new FormDinamicoCon(Intent.GetStringExtra("idVisita"), Intent.GetStringExtra("idProduto"), false, modelForm); uiform = new UIFormDinamico(this, FindViewById <LinearLayout>(Resource.Id.formulario), controller); model = new GenericActivityModel { dbGenericActivity = new GenericActDA(SQLite_Android.DB.dataBase) }; camera = new Camera(BaseContext); lastTagFotoSelected = null; isDoneForm = false; model.myToolbar = modelActivity.myToolbar; model.gps = modelActivity.gps; model.dialog = modelActivity.dialog; model.dbGenericActivity = modelActivity.dbGenericActivity; isToRunning = false; }
public UIFormDinamico(FormDinamico context, LinearLayout layout, FormDinamicoCon controller) { try { this.context = context; this.layout = layout; this.Controller = controller; model = controller.Model; IniForms(); } catch (NullReferenceException) { throw new NullReferenceException("Referencias do UIFormDinamico null"); } }
public void SendForms(TB_USUARIO userInfo) { var pdvsWithFormToSend = model.db.GetIDLojasToSend(userInfo.ID); var modelForm = new FormDinamicoModel() { Db = new FormDinamicoDA(model.db.database) }; foreach (var pdv in pdvsWithFormToSend) { string objSerializado = ""; var formsToSend = model.db.GetFormToSend(userInfo.ID, pdv.ID); var formController = new FormsRestCon(formsToSend, modelForm); var currentPDV = model.db.GetPdvInfo(pdv); objSerializado = formController.SerializeObject(formsToSend, currentPDV); PutRest("api/mobile/visitas/" + pdv.ID, objSerializado, userInfo, 3); formsToSend = model.db.GetFormToSend(userInfo.ID, pdv.ID); model.db.UpdateFormToSended(formsToSend); } }
public override void ViewDidLoad() { base.ViewDidLoad(); var modelForm = new FormDinamicoModel() { Db = new FormDinamicoDA(Sqlite_IOS.DB.dataBase), IdVisita = IdPdv, IdProduto = IdProduto }; controllerPCL = new FormDinamicoCon(IdPdv, IdProduto, false, modelForm); formDinamico = new UIFormDinamico(controllerPCL, this, scrollViewFormDinamico); formDinamico.IniForm(); backButton.TouchDown += (sender, e) => { SaveForm(); }; gestureSaveForm.AddTarget((obj) => SaveForm()); tabBarFormDinamico.ItemSelected += delegate { if (tabBarFormDinamico.SelectedItem.Title == tabFoto.Title) { var actionSheetAlert = UIAlertController.Create("Tipo de foto", "Selecione a categoria da foto desejada", UIAlertControllerStyle.ActionSheet); var fotos = controllerPCL.GetTagsFoto(); foreach (string itemType in fotos) { actionSheetAlert.AddAction(UIAlertAction.Create(itemType, UIAlertActionStyle.Default, (action) => { TakePhoto(itemType); })); } actionSheetAlert.AddAction(UIAlertAction.Create("Outros", UIAlertActionStyle.Default, (action) => { TakePhoto("Outros"); })); actionSheetAlert.AddAction(UIAlertAction.Create("Cancelar", UIAlertActionStyle.Cancel, (action) => { })); var presentationPopover = actionSheetAlert.PopoverPresentationController; if (presentationPopover != null) { presentationPopover.SourceView = View; presentationPopover.PermittedArrowDirections = UIPopoverArrowDirection.Up; } actionSheetAlert.View.TintColor = UIColor.Black; PresentViewController(actionSheetAlert, true, null); } else if (tabBarFormDinamico.SelectedItem.Title == tabConcluir.Title) { var alert = UIAlertController.Create("Concluir", "Gostaria de concluir a tarefa ?", UIAlertControllerStyle.Alert); alert.AddAction(UIAlertAction.Create("Nao", UIAlertActionStyle.Cancel, (actionCancel) => { MetricsManager.TrackEvent("CancelConcluirTarefa"); })); alert.AddAction(UIAlertAction.Create("Sim", UIAlertActionStyle.Default, (actionOK) => { if (formDinamico.HasInvalidateFields()) { var alertError = UIAlertController.Create("Existem campos obrigatorios ainda nao informados.", null, UIAlertControllerStyle.Alert); alertError.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Cancel, (actionCancel) => { })); alertError.View.TintColor = UIColor.FromRGB(10, 88, 90); PresentViewController(alertError, true, null); } else { 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 batery = ((int)(UIDevice.CurrentDevice.BatteryLevel * 100F)); if (gps.Location != null) { controllerPCL.SetFormToTable(gps.Location.Coordinate.Latitude, gps.Location.Coordinate.Longitude, StatusAPI.CONCLUIDO, batery); } else { controllerPCL.SetFormToTable(LocationHelper.LastLocation.Coordinate.Latitude, LocationHelper.LastLocation.Coordinate.Longitude, StatusAPI.CONCLUIDO, batery); } #if !DEBUG HockeyApp.MetricsManager.TrackEvent("FormConcluido"); #endif DismissViewController(true, null); } } })); alert.View.TintColor = UIColor.FromRGB(10, 88, 90); PresentViewController(alert, true, null); } }; var g = new UITapGestureRecognizer(() => View.EndEditing(true)) { CancelsTouchesInView = false }; scrollViewFormDinamico.AddGestureRecognizer(g); }
protected override void OnCreate(Bundle savedInstanceState) { model = new MenuTarefasModel(); base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.menu_tarefas); model.camera = new Camera(ApplicationContext); model.myToolbar = modelActivity.myToolbar; model.gps = modelActivity.gps; model.dialog = modelActivity.dialog; model.dbGenericActivity = modelActivity.dbGenericActivity; Window.EnterTransition = null; Window.SharedElementReenterTransition = null; Window.ReenterTransition = null; model.txtMetaDiaria = FindViewById <TextView>(Resource.Id.txtMetaDiariaTarefa); model.barMetaDiaria = FindViewById <ProgressBar>(Resource.Id.pBarMetaTarefa); model.modelPCL = new SPromoterMobile.MenuTarefasModel { idVisitas = new ListTypePDV().FromIntentVar(Intent.GetStringExtra("visitas")), idsUsuariosLogados = new List <string>(), db = new MenuTarefasDA(SQLite_Android.DB.dataBase) }; foreach (var itemIds in Intent.GetStringArrayListExtra("idUser")) { model.modelPCL.idsUsuariosLogados.Add(itemIds); } model.profileAvatar = FindViewById <CircleImageView>(Resource.Id.profile_image_tarefa); var users = model.dbGenericActivity.GetUsersIDsLogged(); var profile = users.Find((obj) => !string.IsNullOrEmpty(obj.AVATAR)); if (profile != null && profile.AVATAR != null) { model.profileAvatar.SetImageBitmap(model.camera.GetBitMap(profile.AVATAR)); } model.modelPCL.db = new MenuTarefasDA(SQLite_Android.DB.dataBase); model.adapterProdutos = new CardInfoProdutosAdapter() { HasStableIds = true }; model.adapterLoja = new CardInfoLojaAdapter() { HasStableIds = true }; var modelFormDinamico = new FormDinamicoModel { Db = new FormDinamicoDA(SQLite_Android.DB.dataBase) }; model.modelPCL.formDinamico = new FormDinamicoCon(modelFormDinamico); controller = new MenuTarefasCon(model.modelPCL); var layoutManagerProduto = new GridLayoutManager(this, 1, LinearLayoutManager.Vertical, false); mRecyclerViewProdutos = FindViewById <RecyclerView>(Resource.Id.card_list_produtos); mRecyclerViewProdutos.SetLayoutManager(layoutManagerProduto); mRecyclerViewProdutos.HasFixedSize = true; mRecyclerViewProdutos.SetItemViewCacheSize(20); mRecyclerViewProdutos.DrawingCacheEnabled = true; mRecyclerViewProdutos.DrawingCacheQuality = DrawingCacheQuality.High; var layoutManagerLoja = new GridLayoutManager(this, 1, LinearLayoutManager.Vertical, false); mRecyclerViewLoja = FindViewById <RecyclerView>(Resource.Id.card_list_loja); mRecyclerViewLoja.SetLayoutManager(layoutManagerLoja); mRecyclerViewLoja.HasFixedSize = true; mRecyclerViewLoja.SetItemViewCacheSize(20); mRecyclerViewLoja.DrawingCacheEnabled = true; mRecyclerViewLoja.DrawingCacheQuality = DrawingCacheQuality.High; }