private void CrossnetEventHandler(object eventObject) { var eventMessage = eventObject as string; if (eventMessage != null) { switch (eventMessage) { case "Loggin": try { EResultado error; Agente = _container.Resolve <IAgent>(); AgenteConfig = Agente.ConfPerson; var lala = Agente.MonitoredCfgPersonAgents; if (Agente != null) { Agente agent = new Agente { userName = Agente.UserName != null ? Agente.UserName : "", }; if (AgenteConfig != null) { var lala2 = AgenteConfig.GetType(); agent.firstName = AgenteConfig.FirstName != null ? AgenteConfig.FirstName : ""; agent.lastName = AgenteConfig.LastName != null ? AgenteConfig.LastName : ""; agent.tenantDBid = 147; agent.agentDBid = AgenteConfig.DBID != null ? AgenteConfig.DBID : 0; agent.EmployeeId = AgenteConfig.EmployeeID != null ? AgenteConfig.EmployeeID : ""; } var resultado = _metodoApi.autentificacion(out error, agent); if (resultado != null) { token = resultado.token; } } var itemsLista = _metodoApi.ArbolTipificacion(out error, token); if (itemsLista != null) { if (itemsLista.listaArbol != null) { TablaTipificaciones = Utility.ListToDataTable(itemsLista.listaArbol); } } else { TablaTipificaciones = null; } var itemsFiltro = _metodoApi.ListaFiltro(out error, token); if (itemsFiltro != null) { listaFiltro = itemsFiltro.listaFiltro; } listaAtached = _metodoApi.ListAtached(out error, token); _TablaInteraccion.Columns.Add("IdMarkDone"); _TablaInteraccion.Columns.Add("EventoMarkdone"); _TablaInteraccion.Columns.Add("Estado"); _TablaInteraccion.Columns.Add("Agente"); } catch (Exception error) { GenesysAlert.SendMessage( "Se ha producido un error en el login: "******"Public", SeverityType.Error); } break; } } }
/// <summary> /// Executes the command. /// </summary> /// <param name="parameters">The parameters.</param> /// <param name="progress">The progress.</param> /// <returns></returns> /// <summary> /// Executes the command. /// </summary> /// <param name="parameters">The parameters.</param> /// <param name="progress">The progress.</param> /// <returns></returns> public bool Execute(IDictionary <string, object> parameters, IProgressUpdater progress) { // To go to the main thread if (Application.Current.Dispatcher != null && !Application.Current.Dispatcher.CheckAccess()) { object result = Application.Current.Dispatcher.Invoke(DispatcherPriority.Send, new ExecuteDelegate(Execute), parameters, progress); return((bool)result); } else { // Ok, we are in the main thread log.Info("Execute"); IInteraction interactionVoice = parameters["InteractionMarkDone0"] as IInteraction; var inx = InteraccionGenesys.GetAttachedData(interactionVoice); // Get the parameter if (interactionVoice != null) { var tipoInteraccion = interactionVoice.Type; switch (tipoInteraccion) { case "InteractionVoice": termino.CaseId = interactionVoice.CaseId; termino.Agentdbid = InteractionExtensionCrossnetModule.AgenteConfig != null ? InteractionExtensionCrossnetModule.AgenteConfig.DBID : 0; inx.genEventoMarkdone = "InteractionVoice"; inx.IdMarkdone = interactionVoice.EntrepriseInteractionCurrent.Id; break; case "InteractionPullPreview": var item = interactionVoice.OutboundChainRecord.Records.FirstOrDefault(); inx.genEventoMarkdone = "PreviewRecord"; inx.IdMarkdone = item.CallAttemptGUID; termino.CaseId = interactionVoice.CaseId; termino.Agentdbid = InteractionExtensionCrossnetModule.AgenteConfig != null ? InteractionExtensionCrossnetModule.AgenteConfig.DBID : 0; inx.genEventoMarkdone = "PreviewRecord"; break; case "InteractionCallback": termino.CaseId = interactionVoice.CaseId; termino.Agentdbid = InteractionExtensionCrossnetModule.AgenteConfig != null ? InteractionExtensionCrossnetModule.AgenteConfig.DBID : 0; inx.genEventoMarkdone = "InteractionCallback"; inx.IdMarkdone = interactionVoice.EntrepriseInteractionCurrent.Id; break; } if (InteractionExtensionCrossnetModule.TablaTipificaciones == null) { return(false); } EResultado resultado = null; _metodoApi.TerminoInteraccion(out resultado, termino, InteractionExtensionCrossnetModule.token); DataRow resultMarkDone = null; switch (tipoInteraccion) { case "InteractionVoice": inx.genEventoMarkdone = "InteractionVoice"; inx.IdMarkdone = interactionVoice.EntrepriseInteractionCurrent.Id; resultMarkDone = InteractionExtensionCrossnetModule._TablaInteraccion.Select("idMarkDone = '" + inx.IdMarkdone + "' and Agente ='" + inx.GenAgente + "'").FirstOrDefault(); break; case "InteractionPullPreview": var item = interactionVoice.OutboundChainRecord.Records.FirstOrDefault(); inx.genEventoMarkdone = "PreviewRecord"; inx.IdMarkdone = item.CallAttemptGUID; resultMarkDone = InteractionExtensionCrossnetModule._TablaInteraccion.Select("idMarkDone = '" + inx.IdMarkdone + "' and Agente ='" + inx.GenAgente + "'").FirstOrDefault(); break; case "InteractionCallback": inx.genEventoMarkdone = "InteractionCallback"; inx.IdMarkdone = interactionVoice.EntrepriseInteractionCurrent.Id; resultMarkDone = InteractionExtensionCrossnetModule._TablaInteraccion.Select("idMarkDone = '" + inx.IdMarkdone + "' and Agente ='" + inx.GenAgente + "'").FirstOrDefault(); break; } string Estado = resultMarkDone["Estado"] != null ? resultMarkDone["Estado"].ToString() : ""; if (!Estado.Equals("TIPIFICADO")) { GenesysAlert.SendMessage("Favor tipificar", "Public", SeverityType.Warning); return(true); } else { switch (tipoInteraccion) { case "InteractionVoice": InteractionExtensionCrossnetModule._TablaInteraccion.Select("idMarkDone = '" + inx.IdMarkdone + "' and Agente ='" + inx.GenAgente + "'").FirstOrDefault().Delete(); break; case "InteractionPullPreview": var item = interactionVoice.OutboundChainRecord.Records.FirstOrDefault(); InteractionExtensionCrossnetModule._TablaInteraccion.Select("idMarkDone = '" + inx.IdMarkdone + "' and Agente ='" + inx.GenAgente + "'").FirstOrDefault().Delete(); break; case "InteractionCallback": InteractionExtensionCrossnetModule._TablaInteraccion.Select("idMarkDone = '" + inx.IdMarkdone + "' and Agente ='" + inx.GenAgente + "'").FirstOrDefault().Delete(); break; } } } return(false); } }