async protected static void Execute(InteraccionModel <InteraccionBusiness> interaccion) { _isExecuting = true; try { string caption = "Acceso a la edición del formulario"; if (interaccion.Motivo == null || interaccion.Negocio == null) { string msg = "Para proceder a completar el formulario,\r\ndebe seleccionar un motivo y negocio (negocio por segmento)."; CRMMessageBox.Show(msg, caption, MessageBoxButton.OK, MessageBoxImage.Information); return; } FormularioModel frm = InteraccionBusiness.GetFormularioXSeleccion(interaccion.Motivo, interaccion.Negocio); if (frm == null) { string msg = "El grupo de motivo, segmento y negocio seleccionado\r\nno posee formulario asociado."; CRMMessageBox.Show(msg, caption, MessageBoxButton.OK, MessageBoxImage.Warning); return; } // Es formulario nuevo? if (interaccion.Formulario_CodigoSAP == null || interaccion.Formulario_CodigoSAP != frm.CodigoSAP) { // Set el nuevo formulario interaccion.Formulario = frm; } App.Locator.FormularioViewModelStatic.FormularioActual = FormularioModel <FormularioCheckListBusiness> .Create(interaccion.Formulario); NavigationHelper.Navigate <FormularioView>(); } catch (Exception ex) { App.CurrentLoggingContext.LogException(ex); } finally { _isExecuting = false; } }
public static FormularioModel GetFormularioXSeleccion(MotivoModel motivo, NegocioModel negocio) { Query supQuery = new Query(); CompositeTest where = new CompositeTest(); where.SetOperator(CompositeTest.AND); where.Add(new AttributeTest("idMotivo", motivo.IdMotivo, AttributeTest.EQUAL)); where.Add(new AttributeTest("idNegocio", negocio.IdNegocio, AttributeTest.EQUAL)); supQuery.Where(where); GenericList <SeleccionFormulario> seleccionFormulario = SeleccionFormulario.FindWithQuery(supQuery); if (seleccionFormulario.Size() > 0) { return(FormularioModel.Create(seleccionFormulario[0].Formulario)); } else { return(null); } }
private void loadFormularios() { DispatcherHelper.UIDispatcher.Invoke(() => { Formularios.Clear(); var interaccion = App.Locator.InteraccionViewModelStatic.InteraccionActual; switch ((Enums.eFormulario)FormularioActual.IdFormulario) { case Enums.eFormulario.CHECK_COMERCIAL: case Enums.eFormulario.CHECK_COMERCIAL_RETAIL: case Enums.eFormulario.CHECK_VISITA_RETAIL: case Enums.eFormulario.CHECK_VISITA_INTEGRAL: case Enums.eFormulario.CHECK_VISITA_ESPECIALISTA: case Enums.eFormulario.PLAN_VENTA: var frm = FormularioModel <FormularioCheckListBusiness> .Create(interaccion.Formulario); App.Locator.FormularioCheckListViewModelStatic.FormIsReadOnly = this.FormIsReadOnly; App.Locator.FormularioCheckListViewModelStatic.FormularioActual = frm; App.Locator.FormularioCheckListViewModelStatic.InteraccionActual = interaccion; Formularios.Add(new FormularioCheckListView()); break; case Enums.eFormulario.MERCADO: if (interaccion.FormularioMercado == null) { interaccion.FormularioMercado = new FormularioMercadoModel(); interaccion.FormularioMercado.Interaccion = (InteraccionModel)interaccion; } App.Locator.FormularioMercadoViewModelStatic.FormIsReadOnly = this.FormIsReadOnly; App.Locator.FormularioMercadoViewModelStatic.FormularioMercadoActual = interaccion.FormularioMercado; Formularios.Add(new FormularioMercadoView()); break; case Enums.eFormulario.PRECIOS: if (interaccion.FormularioPrecios == null) { interaccion.FormularioPrecios = new FormularioPreciosModel(); interaccion.FormularioPrecios.Interaccion = (InteraccionModel)interaccion; } App.Locator.FormularioPreciosViewModelStatic.FormIsReadOnly = this.FormIsReadOnly; App.Locator.FormularioPreciosViewModelStatic.FormularioPreciosActual = interaccion.FormularioPrecios; Formularios.Add(new FormularioPreciosView()); break; case Enums.eFormulario.TRANSPORTE: if (interaccion.FormularioTransporte == null) { interaccion.FormularioTransporte = new FormularioTransporteModel(); interaccion.FormularioTransporte.Interaccion = (InteraccionModel)interaccion; } App.Locator.FormularioTransporteViewModelStatic.FormIsReadOnly = this.FormIsReadOnly; App.Locator.FormularioTransporteViewModelStatic.FormularioTransporteActual = interaccion.FormularioTransporte; Formularios.Add(new FormularioTransporteView()); break; default: break; } }); }