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