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.");
            }
        }
Esempio n. 2
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;
            }
        }