async protected static void Execute(InteraccionModel <InteraccionBusiness> interaccion)
        {
            _isExecuting = true;
            try
            {
                MessageBoxResult result = MessageBoxResult.No;

                if (InteraccionBusiness.InteraccionIsDirty(interaccion))
                {
                    result = CRMMessageBox.ShowAreYouSure("¿Desea descartar los cambios realizados?");
                }
                else
                {
                    result = MessageBoxResult.Yes;
                }

                if (result == System.Windows.MessageBoxResult.Yes)
                {
                    interaccion = null;
                    NavigationHelper.NavigateHome();
                }
            }
            catch (Exception ex)
            {
                App.CurrentLoggingContext.LogException(ex);
            }
            finally
            {
                _isExecuting = false;
            }
        }
        async private static void saveInteraccionActual(InteraccionModel <InteraccionBusiness> interaccion)
        {
            bool            wasNew        = interaccion.IsNew; // Se resguarda el valor pq luego de guardar ya no es nueva.
            string          resultMsg     = string.Empty;
            MessageBoxImage resultMsgType = MessageBoxImage.Information;

            try
            {
                Enums.eSyncResult syncResult = await interaccion.SaveAndSync();

                switch (syncResult)
                {
                case Enums.eSyncResult.Pending:
                    resultMsg     = "Interacción nro. " + interaccion.IdInteraccion + " creada con éxito. \nPor favor ejecute la SINCRONIZACIÓN cuando esté conectado a internet.";
                    resultMsgType = MessageBoxImage.Warning;
                    break;

                case Enums.eSyncResult.Synchronized:
                    resultMsg = "La interacción nro. " + interaccion.IdInteraccion + " ha sido creada y sincronizada con éxito.";
                    break;
                }

                if (wasNew)
                {
                    App.Locator.MainViewModelStatic.AddInteraccionToLeftPanel((InteraccionModel)interaccion);
                    App.Locator.CalendarViewModelStatic.AddInteraccionToCalendar((InteraccionModel)interaccion);
                }
                ;

                CRMMessageBox.ShowSuccess(resultMsg, resultMsgType);

                // Mostrar la nueva interaccion creada.
                App.Locator.MainViewModelStatic.FechaSeleccionada = interaccion.FechaInicioPlanificada.Value;
                interaccion = null; // Clear ViewModel Interaccion
                NavigationHelper.NavigateHome();
            }
            catch (Exception ex)
            {
                App.CurrentLoggingContext.LogException(ex);

                Task.Factory.StartNew(() => { App.Locator.InteraccionViewModelStatic.ConfigureView(); });

                CRMMessageBox.ShowError("Error al guardar los datos de la interacción.");
            }
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        private static void cerrarInteraccion(InteraccionModel <InteraccionBusiness> interaccion)
        {
            try
            {
                interaccion.EstadoInteraccion_CodigoSAP = Constants.EstadoInteraccionCodigoSAP.CONCLUIDA;
                interaccion.FechaInicioReal             = ModelHelper.DateTime_ToDate(DateTime.Now);
                interaccion.HoraInicioReal = ModelHelper.DateTime_ToTime(DateTime.Now);
                interaccion.FechaFinReal   = ModelHelper.DateTime_ToDate(DateTime.Now);
                interaccion.HoraFinReal    = ModelHelper.DateTime_ToTime(DateTime.Now);

                interaccion.Update();

                CRMMessageBox.ShowSuccess("La interaccion ha sido cerrada.");
                App.Locator.SUPServiceStatic.SincronizarInteraccionesXInterlocutorActual();

                NavigationHelper.NavigateHome();
            }
            catch (Exception ex)
            {
                App.CurrentLoggingContext.LogException(ex);
                throw;
            }
        }