public JsonResult CargarChartDemandaTipoConsulta(string fechaInicio, string fechaFin) { var lista = new List <ChartCustom>(); try { var chart = new ChartCustom(); chart.FechaInicio = string.IsNullOrEmpty(fechaInicio) ? "NULL" : fechaInicio; chart.FechaFin = string.IsNullOrEmpty(fechaFin) ? "NULL" : fechaFin; DateTime?dtFechaInicio = (fechaInicio.Length > 0) ? ConvertidorUtil.ConvertirDateTimeShort(fechaInicio) : null; DateTime?dtFechaFin = (fechaFin.Length > 0) ? ConvertidorUtil.ConvertirDateTimeShort(fechaFin) : null; DateTime dtFchFin; if (dtFechaInicio != null && dtFechaFin != null) { dtFchFin = dtFechaFin.GetValueOrDefault(); var nuevaFchFin = dtFchFin.AddDays(1); chart.FechaInicio = fechaInicio; chart.FechaFin = ConvertidorUtil.FormatearFechaEsp(nuevaFchFin); } var objResult = oIBLSolicitud.ConsultarDemandaTipoConsulta(chart); lista = objResult.OneResult; } catch (Exception ex) { } return(new JsonResult { Data = lista, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public Solicitud Crear(int idCanalAtencion, long idAlumno, int?idCurso, long?idSesion, string consulta, string usuario) { var solicitud = new Solicitud(); try { using (var cnn = MSSQLSERVERCnx.MSSqlCnx()) { SqlCommand cmd = null; cnn.Open(); cmd = new SqlCommand(SP.GSAV_SP_CREARSOLICITUD, cnn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@pIdCanalAtencion", idCanalAtencion); cmd.Parameters.AddWithValue("@pIdAlumno", idAlumno); cmd.Parameters.AddWithValue("@pIdCurso", idCurso); cmd.Parameters.AddWithValue("@pIdSesion", idSesion); cmd.Parameters.AddWithValue("@pConsulta", consulta); cmd.Parameters.AddWithValue("@pUsuario", usuario); cmd.Parameters.AddWithValue("@pFechaCreacion", ConvertidorUtil.GmtToPacific(DateTime.Now)); //cmd.Parameters.AddWithValue("@pIdActividad", null); //cmd.Parameters.AddWithValue("@pIdEmpleado", null); SqlDataReader rd = cmd.ExecuteReader(); if (rd.HasRows) { while (rd.Read()) { solicitud = new Solicitud { IdSolicitud = rd.GetInt32(rd.GetOrdinal("IDSOLICITUD")), IdCanalAtencion = rd.GetInt32(rd.GetOrdinal("IDCANALATENCION")), IdAlumno = rd.GetInt32(rd.GetOrdinal("IDALUMNO")), IdCurso = rd.GetInt32(rd.GetOrdinal("IDCURSO")), IdSesion = rd.GetInt32(rd.GetOrdinal("IDSESION")), LogUsuario = rd.GetString(rd.GetOrdinal("LOGUSUARIO")), Consulta = rd.GetValue(rd.GetOrdinal("CONSULTA")) == DBNull.Value ? string.Empty : rd.GetString(rd.GetOrdinal("CONSULTA")), FechaRegistro = rd.GetDateTime(rd.GetOrdinal("FECHAREGISTRO")), Estado = rd.GetString(rd.GetOrdinal("ESTADO")) //IdActividad = null, //IdEmpleado = null, //CumpleSLA = 0 }; } } } } catch (Exception ex) { LogError(ex); //throw ex; } return(solicitud); }
public JsonResult ConsultarSolicitudes(string numSolicitud, string estado, string codigoAlumno, string nombreAlumno, string fechaInicio, string fechaFin) { var lista = new List <Solicitud>(); try { var solicitud = new Solicitud(); solicitud.IdSolicitud = ConvertidorUtil.ConvertirInt32(numSolicitud); solicitud.Estado = string.IsNullOrEmpty(estado) ? "0" : estado; solicitud.CodigoAlumno = string.IsNullOrEmpty(codigoAlumno) ? "NULL" : codigoAlumno; solicitud.Nombre = string.IsNullOrEmpty(nombreAlumno) ? "NULL" : nombreAlumno; solicitud.FechaInicio = string.IsNullOrEmpty(fechaInicio) ? "NULL" : fechaInicio; solicitud.FechaFin = string.IsNullOrEmpty(fechaFin) ? "NULL" : fechaFin; solicitud.IdAlumno = 0; solicitud.IdEmpleado = 0; if (Session["Login-Info"] != null) { var user = ((Entity.Util.ReturnObject <Usuario>)Session["Login-Info"]).OneResult; if (ConstantesWeb.Rol.Alumno.Equals(user.Rol)) { solicitud.IdAlumno = ConvertidorUtil.ConvertirInt32(user.Alumno.Id); } if (ConstantesWeb.Rol.Docente.Equals(user.Rol)) { solicitud.IdEmpleado = ConvertidorUtil.ConvertirInt32(user.Empleado.IdEmpleado); } if (ConstantesWeb.Rol.Coordinador.Equals(user.Rol)) { solicitud.IdEmpleado = 0; } } DateTime?dtFechaInicio = (fechaInicio.Length > 0) ? ConvertidorUtil.ConvertirDateTimeShort(fechaInicio) : null; DateTime?dtFechaFin = (fechaFin.Length > 0) ? ConvertidorUtil.ConvertirDateTimeShort(fechaFin) : null; DateTime dtFchFin; if (dtFechaInicio != null && dtFechaFin != null) { dtFchFin = dtFechaFin.GetValueOrDefault(); var nuevaFchFin = dtFchFin.AddDays(1); solicitud.FechaInicio = fechaInicio; solicitud.FechaFin = ConvertidorUtil.FormatearFechaEsp(nuevaFchFin); } var objResult = oIBLSolicitud.ConsultarSolicitudes(solicitud); lista = objResult.OneResult; } catch (Exception ex) { } return(new JsonResult { Data = lista, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public JsonResult ListarSolicitudesAtencion(string fechaInicio, string fechaFin, string indicadorStatus) { var lista = new List <Solicitud>(); try { var plista = plistarSolicitudesAtencion(fechaInicio, fechaFin); lista = plista.Where(q => q.Estado.Equals("P") || q.Estado.Equals("D")).ToList(); foreach (var solicitud in lista) { var dateNow = ConvertidorUtil.GmtToPacific(DateTime.Now); var dateSpan = dateNow - solicitud.FechaRegistro; if (dateSpan.Days > 0) { solicitud.IndicadorStatus = "ROJO"; } else { if (dateSpan.Hours < 12) { solicitud.IndicadorStatus = "VERDE"; } if (dateSpan.Hours < 18 && dateSpan.Hours >= 12) { solicitud.IndicadorStatus = "AMARILLO"; } if (dateSpan.Hours >= 18) { solicitud.IndicadorStatus = "ROJO"; } } } if (indicadorStatus.Equals("VERDE")) { lista = lista.AsEnumerable().Where(q => q.IndicadorStatus.Equals("VERDE")).ToList(); } if (indicadorStatus.Equals("AMARILLO")) { lista = lista.AsEnumerable().Where(q => q.IndicadorStatus.Equals("AMARILLO")).ToList(); } if (indicadorStatus.Equals("ROJO")) { lista = lista.AsEnumerable().Where(q => q.IndicadorStatus.Equals("ROJO")).ToList(); } } catch (Exception ex) { } return(new JsonResult { Data = lista, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Detalle(object id) { if (this.Request.IsAuthenticated) { try { var solicitud = new Solicitud(); var sol = new Solicitud(); sol.IdSolicitud = ConvertidorUtil.ConvertirInt32(id); if (sol.IdSolicitud.Equals(0)) { return(this.RedirectToAction("Index", "Consulta")); } var objResult = oIBLSolicitud.ObtenerSolicitud(sol); solicitud = objResult.OneResult; var model = new SolicitudModel(); model.IdSolicitud = ConvertidorUtil.ConvertirString(solicitud.IdSolicitud); model.NumeroSolicitud = solicitud.NumSolicitud; model.FechaSolicitud = solicitud.StrFechRegistro; model.TipoConsulta = solicitud.Canal; model.PalabraClave = solicitud.PalabraClave; model.Alumno = solicitud.CodigoAlumnoNombresApellidos; model.Consulta = solicitud.Consulta; model.Respuesta = solicitud.Solucion; model.Estatus = solicitud.Estado; model.IntencionConsulta = solicitud.IntencionConsulta; model.IdIntencionPadre = solicitud.IdIntencionPadre; model.EtiquetaCurso = "Curso:" + solicitud.Curso; model.EtiquetaActividad = "Actividad:" + solicitud.Actividad; model.Curso = solicitud.Curso; model.Actividad = solicitud.Actividad; if (!model.Estatus.Equals("D")) { model.ReadOnly = "Y"; } if (ConstantesWeb.IntencionConsulta.ActividadAcademica.Equals(model.IntencionConsulta)) { model.VisibleCrearConsulta = "Y"; } return(View("Detalle", model)); } catch (Exception ex) { return(this.RedirectToAction("Index", "Consulta")); } } else { return(this.RedirectToAction("Login", "Account")); } }
public ActionResult Detalle(object id) { if (Session["Login-Info"] == null) { return(this.RedirectToAction("Login", "Account")); } if (this.Request.IsAuthenticated) { if (Session["Login-Info"] != null) { var user = ((Entity.Util.ReturnObject <Usuario>)Session["Login-Info"]).OneResult; if (!ConstantesWeb.Rol.Docente.Equals(user.Rol)) { return(this.RedirectToAction("Index", "Home")); } } try { var intencionModel = new IntentoModel(); string strId = Convert.ToString(id); if (strId.Equals("NEW")) { intencionModel.Id = "NEW"; intencionModel.FechaCreacion = ConvertidorUtil.FormatearFechaHora(DateTime.Now); } else { if (!string.IsNullOrEmpty(strId)) { var idIntencion = id + string.Empty; intencionModel = new Dialogflow.DialogFlow(oIBLSolicitud).ObtenerIntento(idIntencion); } if (string.IsNullOrEmpty(intencionModel.Id)) { return(this.RedirectToAction("Index", "BaseAcademico")); } } return(View("Detalle", intencionModel)); } catch (Exception ex) { return(this.RedirectToAction("Index", "BaseAcademico")); } } else { return(this.RedirectToAction("Login", "Account")); } }
public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> activity) { string userId = context.Activity.From.Id; var messageActivity = context.Activity.AsMessageActivity(); var eventActivity = context.Activity.AsEventActivity(); var sesionData = context.UserData.GetValueOrDefault <Sesion>("sesion"); if (sesionData == null || sesionData?.IdSesion == 0) { ConnectorClient connector = new ConnectorClient(new Uri(context.Activity.ServiceUrl)); var container = new Container(); UnityConfig.RegisterTypes(container); var sesion = container.GetInstance <ISesion>(); AlumnoUsuarioViewModel alumno = sesion.LeerDatosUsuario(int.Parse(userId)); if (alumno.IdAlumno == 0) { var message = context.MakeMessage(); message.Text = $"No se ha registrado con un número de Alumno válido"; await context.PostAsync(message); context.Done(this); return; } sesionData = sesion.CrearSesion(ConvertidorUtil.GetLong(alumno.IdAlumno.ToString())); context.UserData.SetValue("sesion", sesionData); } if (eventActivity?.Name == "requestRootDialog" || messageActivity?.Text.ToUpper() == "INICIAR") { var message = context.MakeMessage(); message.Text = $"Hola {sesionData.Nombre}, soy UPECITO el asesor del Aula Virtual de UPC. Te puedo ayudar con tus consultas académicas y Técnicas del Aula Virtual."; await context.PostAsync(message); Response inputLog = Helpers.PersistChatLog(null, sesionData, message.Text, "Bot", "BotFramework"); } context.Call(new MenuDialog(), EndWelcome); return; }
private List <Solicitud> plistarSolicitudesAtencion(string fechaInicio, string fechaFin) { var lista = new List <Solicitud>(); var solicitud = new Solicitud(); solicitud.FechaInicio = string.IsNullOrEmpty(fechaInicio) ? "NULL" : fechaInicio; solicitud.FechaFin = string.IsNullOrEmpty(fechaFin) ? "NULL" : fechaFin; solicitud.IdAlumno = 0; solicitud.IdEmpleado = 0; if (Session["Login-Info"] != null) { var user = ((Entity.Util.ReturnObject <Usuario>)Session["Login-Info"]).OneResult; if (ConstantesWeb.Rol.Alumno.Equals(user.Rol)) { solicitud.IdAlumno = ConvertidorUtil.ConvertirInt32(user.Alumno.Id); } if (ConstantesWeb.Rol.Docente.Equals(user.Rol)) { solicitud.IdEmpleado = ConvertidorUtil.ConvertirInt32(user.Empleado.IdEmpleado); } if (ConstantesWeb.Rol.Coordinador.Equals(user.Rol)) { solicitud.IdEmpleado = 0; } } DateTime?dtFechaInicio = (fechaInicio.Length > 0) ? ConvertidorUtil.ConvertirDateTimeShort(fechaInicio) : null; DateTime?dtFechaFin = (fechaFin.Length > 0) ? ConvertidorUtil.ConvertirDateTimeShort(fechaFin) : null; DateTime dtFchFin; if (dtFechaInicio != null && dtFechaFin != null) { dtFchFin = dtFechaFin.GetValueOrDefault(); var nuevaFchFin = dtFchFin.AddDays(1); solicitud.FechaInicio = fechaInicio; solicitud.FechaFin = ConvertidorUtil.FormatearFechaEsp(nuevaFchFin); } var objResult = oIBLSolicitud.ConsultarSolicitudesDashboard(solicitud); lista = objResult.OneResult; return(lista); }
public Sesion Crear(long idAlumno) { Sesion sesion = new Sesion(); try { DateTime dateTimeNow = ConvertidorUtil.GmtToPacific(DateTime.Now); using (var cnn = MSSQLSERVERCnx.MSSqlCnx()) { SqlCommand cmd = null; cnn.Open(); cmd = new SqlCommand(SP.GSAV_SP_CREARSESION, cnn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@pIdAlumno", idAlumno); cmd.Parameters.AddWithValue("@pFechaCreacion", dateTimeNow); SqlDataReader rd = cmd.ExecuteReader(); if (rd.HasRows) { if (rd.Read()) { sesion.IdSesion = Convert.ToInt64(rd.GetDecimal(rd.GetOrdinal("ID_SESSION"))); sesion.IdAlumno = idAlumno; sesion.Nombre = rd.GetString(rd.GetOrdinal("NOMBRE")); sesion.ApePaterno = rd.GetString(rd.GetOrdinal("APELLIDOPAT")); sesion.ApeMaterno = rd.GetString(rd.GetOrdinal("APELLIDOMAT")); sesion.CodigoAlumno = rd.GetString(rd.GetOrdinal("CODIGOALUMNO")); sesion.FechaInicio = dateTimeNow; } } } } catch (Exception ex) { Console.WriteLine(ex.Message); LogError(ex); } return(sesion); }
public AlumnoUsuarioViewModel LeerUsuario(int idUsuario) { AlumnoUsuarioViewModel sesion = new AlumnoUsuarioViewModel(); try { DateTime dateTimeNow = ConvertidorUtil.GmtToPacific(DateTime.Now); using (var cnn = MSSQLSERVERCnx.MSSqlCnx()) { SqlCommand cmd = null; cnn.Open(); cmd = new SqlCommand(SP.GSAV_SP_LEERDATOSUSUARIO, cnn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@pIdUsuario", idUsuario); SqlDataReader rd = cmd.ExecuteReader(); if (rd.HasRows) { if (rd.Read()) { sesion.IdAlumno = rd.GetInt32(rd.GetOrdinal("IDALUMNO")); sesion.CodigoAlumno = rd.GetString(rd.GetOrdinal("CODIGOALUMNO")); sesion.Unidad = rd.GetString(rd.GetOrdinal("UNIDAD")); sesion.IdPersona = rd.GetInt32(rd.GetOrdinal("IDPERSONA")); sesion.IdUsuario = rd.GetInt32(rd.GetOrdinal("IDUSUARIO")); sesion.NombreUsuario = rd.GetString(rd.GetOrdinal("NOMBREUSUARIO")); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); LogError(ex); } return(sesion); }
public JsonResult ConsultarSolicitudAtencion(string idSolicitud) { var lista = new List <Solicitud>(); try { var solicitud = new Solicitud(); solicitud.IdSolicitud = ConvertidorUtil.ConvertirInt32(idSolicitud); var objResult = oIBLSolicitud.ConsultarSolicitudes(solicitud); lista = objResult.OneResult; } catch (Exception ex) { } return(new JsonResult { Data = lista, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public AlertModel CreateIntent(Intencion intencion, List <FraseEntrenamientoModel> frases) { var intento = new IntentoModel(); var resultado = new AlertModel(); try { var fileSavePath = System.Web.HttpContext.Current.Server.MapPath("~/Dialogflow.json/") + ConstantesWeb.DialogFlow.FilePrivateKeyIdJson; if ((System.IO.File.Exists(fileSavePath))) { var cred = GoogleCredential.FromFile(fileSavePath); var channel = new Channel(SessionsClient.DefaultEndpoint.Host, SessionsClient.DefaultEndpoint.Port, cred.ToChannelCredentials()); var client = IntentsClient.Create(channel); var intent = new Intent(); intent.DisplayName = intencion.Nombre; //Actualizar Frases de Entrenamiento intent.TrainingPhrases.Clear(); foreach (var frase_ in frases) { var trainingPhrasesParts = new List <string>(); trainingPhrasesParts.Add(frase_.Descripcion); var phraseParts = new List <Intent.Types.TrainingPhrase.Types.Part>(); foreach (var part in trainingPhrasesParts) { phraseParts.Add(new Intent.Types.TrainingPhrase.Types.Part() { Text = part }); } var trainingPhrase = new Intent.Types.TrainingPhrase(); trainingPhrase.Parts.AddRange(phraseParts); intent.TrainingPhrases.Add(trainingPhrase); } //Actualizar Respuesta intent.Messages.Clear(); var text = new Intent.Types.Message.Types.Text(); text.Text_.Add(intencion.Respuesta); var message_ = new Intent.Types.Message() { Text = text }; intent.Messages.Add(message_); var newIntent = client.CreateIntent( parent: new ProjectAgentName(ConstantesWeb.DialogFlow.ProjectId), intent: intent ); resultado.Id = newIntent.IntentName.IntentId; resultado.DisplayName = newIntent.DisplayName; oIBLSolicitud.InsertarIntencionConsulta(newIntent.DisplayName, newIntent.IntentName.IntentId, ConvertidorUtil.GmtToPacific(DateTime.Now), intencion.IdIntencionPadre); resultado.Mensaje = "INSERT-OK"; } } catch (Exception ex) { resultado.MessageError = "ERROR: " + ex.Message; resultado.Mensaje = "INSERT-ERROR"; } return(resultado); }
public static async Task ActualizarSolicitud(IDialogContext context, string estado) { try { var container = new Container(); UnityConfig.RegisterTypes(container); var solicitudManager = container.GetInstance <ISolicitud>(); Solicitud solicitud = context.UserData.GetValueOrDefault <Solicitud>("solicitud"); Sesion sesion = context.UserData.GetValue <Sesion>("sesion"); string curso = context.UserData.GetValue <string>("Curso"); string userName = sesion.CodigoAlumno; Result receivedResult; context.UserData.TryGetValue("result", out receivedResult); Intencion intent; context.UserData.TryGetValue("intencion", out intent); ActivitiesByCourseViewModel actividad; context.UserData.TryGetValue("Actividad", out actividad); if (solicitud != null) { long?intentId = null; if (intent != null) { intentId = intent.IdIntencion; } var cursoManager = container.GetInstance <ICurso>(); List <CourseByModuleViewModel> studentActiveCourses = cursoManager.GetCourseByModuleActive(solicitud.IdAlumno); CourseByModuleViewModel docenteCurso = studentActiveCourses.Where(s => s.Curso == curso).FirstOrDefault(); var respuestaPersonalizada = context.PrivateConversationData.GetValueOrDefault("custom", string.Empty); var solucion = respuestaPersonalizada.Equals(string.Empty) ? receivedResult?.Speech : respuestaPersonalizada; //await context.PostAsync(solucion); int?idActividad = actividad?.IdActividad; int?idEmpleado = docenteCurso?.IdEmpleado; int?cumpleSLA = 2; var tipoConsulta = context.UserData.GetValue <string>("tipo-consulta"); var dif = ConvertidorUtil.GmtToPacific(DateTime.Now).Subtract(solicitud.FechaRegistro).TotalHours; if (tipoConsulta == "1" && dif <= 48) { cumpleSLA = 1; } else { if (dif <= 24) { cumpleSLA = 1; } } bool IsEmailSent = false; DateTime?fechaSolucion = null; switch (estado) { case "A": fechaSolucion = ConvertidorUtil.GmtToPacific(DateTime.Now); break; case "D": solucion = string.Empty; cumpleSLA = 0; if (!string.IsNullOrEmpty(docenteCurso?.Email)) { IsEmailSent = await SmtpEmailSender.SendEmailAsync("*****@*****.**", docenteCurso.Email, "UPECITO - Consultas Académicas No Resueltas", EmailTeacher(sesion.CodigoAlumno, sesion.NombreApePaterno, solicitud.Consulta)); } if (IsEmailSent) { await context.PostAsync($"Su consulta ha sido derivada al Docente: {docenteCurso.Nombre} {docenteCurso.ApellidoPat}; quien le brindará una respuesta"); } else { await context.PostAsync(receivedResult.Speech); } break; default: solucion = string.Empty; cumpleSLA = 0; break; } solicitudManager.Actualizar(solicitud.IdSolicitud, intentId, solucion, estado, userName, docenteCurso?.IdCurso, idActividad, idEmpleado, cumpleSLA, fechaSolucion); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// /// </summary> /// <returns></returns> public JsonResult ConsultarIntenciones(string intencionPadre, string fraseEntrena, string respuesta, string fechaInicio, string fechaFin) { var lista = new List <IntentoModel>(); var listaAuxFecha = new List <IntentoModel>(); var listaAuxFrase = new List <IntentoModel>(); lista = new Dialogflow.DialogFlow(oIBLSolicitud).ObtenerIntentos(); if (!string.IsNullOrEmpty(respuesta)) { lista = lista.Where(q => q.Respuesta.ToUpper().Contains(respuesta.ToUpper())).ToList(); } if (!string.IsNullOrEmpty(intencionPadre)) { lista = lista.Where(q => (q.IdIntencionPadre != null && q.IdIntencionPadre.ToUpper().Equals(intencionPadre.ToUpper())) || (q.IdIntencionPadre.Equals("0") && q.IdIntencionConsulta.Equals(intencionPadre)) ).ToList(); } //------------------------------------------------------------------------------------------------------------- DateTime?dtFechaInicio = (fechaInicio.Length > 0) ? ConvertidorUtil.ConvertirDateTimeShort(fechaInicio) : null; DateTime?dtFechaFin = (fechaFin.Length > 0) ? ConvertidorUtil.ConvertirDateTimeShort(fechaFin) : null; DateTime dtFchFin; if (dtFechaInicio != null && dtFechaFin != null) { dtFchFin = dtFechaFin.GetValueOrDefault(); var nuevaFchFin = dtFchFin.AddDays(1); foreach (var intentoModel in lista) { if (intentoModel.DtFechaCreacion >= dtFechaInicio && intentoModel.DtFechaCreacion <= nuevaFchFin) { listaAuxFecha.Add(intentoModel); } } lista = listaAuxFecha; } //------------------------------------------------------------------------------------------------------------- if (!string.IsNullOrEmpty(fraseEntrena)) { var contieneFrase = false; foreach (var intentoModel in lista) { foreach (var frase in intentoModel.FrasesEntrenamiento) { if (frase.Descripcion.Contains(fraseEntrena)) { contieneFrase = true; } } if (contieneFrase) { listaAuxFrase.Add(intentoModel); contieneFrase = false; } } lista = listaAuxFrase; } return(new JsonResult { Data = lista, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable <IMessageActivity> activity) { //context.Call(new MenuDialog(), ResumeWelcome); string userId = context.Activity.From.Id; var result = await activity; //TODO: Manual override for testing purposes //userId = "1"; //if (string.IsNullOrEmpty(userId)) //{ // context.Wait(MessageReceivedAsync); // //context.Done(true); // return; //} //if (string.IsNullOrEmpty(result.Text)) //{ // //context.Done(true); // //context.Wait(MessageReceivedAsync); // //return; // context.Call(new RootDialog(), null); //} if (result.Text == "Iniciar") { var container = new Container(); DependencyResolver.UnityConfig.RegisterTypes(container); var sesion = container.GetInstance <ISesion>(); Sesion sesionData = sesion.CrearSesion(ConvertidorUtil.GetLong(userId)); var message = context.MakeMessage(); //var attachment = RootDialog.GetInfoCard(); //message.Attachments.Add(attachment); //await context.PostAsync(message); message = context.MakeMessage(); message.Text = $"Hola {sesionData.Nombre}, soy UPECITO el asesor del Aula Virtual de UPC. Te puedo ayudar con tus consultas académicas y Técnicas del Aula Virtual."; await context.PostAsync(message); Response inputLog = Helpers.PersistChatLog(null, sesionData, message.Text, "Bot", "BotFramework"); if (sesionData != null) { context.UserData.SetValue("sesion", sesionData); context.Call(new MenuDialog(), ResumeWelcome); } else { context.Done(true); } } else { //context.Wait(MessageReceivedAsync); context.Call(new MenuDialog(), ResumeWelcome); } //await context.Forward(new MenuDialog(), ResumeWelcome, result, CancellationToken.None); }
public Solicitud Atender(long idSolicitud, long?idIntencion, string solucion, string estado, string usuario, int?idCurso, int?idActividad, int?idEmpleado, int?cumpleSLA, DateTime?fechaSolucion) { var solicitud = new Solicitud(); try { using (var cnn = MSSQLSERVERCnx.MSSqlCnx()) { SqlCommand cmd = null; cnn.Open(); cmd = new SqlCommand(SP.GSAV_SP_ACTUALIZARSOLICITUD, cnn) { CommandType = CommandType.StoredProcedure }; cmd.Parameters.AddWithValue("@pIdSolicitud", idSolicitud); cmd.Parameters.AddWithValue("@pIdIntencion", idIntencion); cmd.Parameters.AddWithValue("@pSolucion", solucion); cmd.Parameters.AddWithValue("@pEstado", estado); cmd.Parameters.AddWithValue("@pIdCurso", idCurso); cmd.Parameters.AddWithValue("@pUsuario", usuario); cmd.Parameters.AddWithValue("@pFechaActualiza", ConvertidorUtil.GmtToPacific(DateTime.Now)); if (estado == "D") { cmd.Parameters.AddWithValue("@pFechaDerivacion", ConvertidorUtil.GmtToPacific(DateTime.Now)); } else { cmd.Parameters.AddWithValue("@pFechaDerivacion", null); } cmd.Parameters.AddWithValue("@pFechaSolucion", fechaSolucion); cmd.Parameters.AddWithValue("@pIdActividad", idActividad); cmd.Parameters.AddWithValue("@pIdEmpleado", idEmpleado); cmd.Parameters.AddWithValue("@pCumpleSla", cumpleSLA); SqlDataReader rd = cmd.ExecuteReader(); if (rd.HasRows) { while (rd.Read()) { solicitud = new Solicitud { IdSolicitud = rd.GetInt32(rd.GetOrdinal("IDSOLICITUD")), IdCanalAtencion = rd.GetInt32(rd.GetOrdinal("IDCANALATENCION")), IdAlumno = rd.GetInt32(rd.GetOrdinal("IDALUMNO")), IdCurso = rd.GetInt32(rd.GetOrdinal("IDCURSO")), IdSesion = rd.GetInt32(rd.GetOrdinal("IDSESION")), LogUsuario = rd.GetString(rd.GetOrdinal("LOGUSUARIO")), Consulta = rd.GetValue(rd.GetOrdinal("CONSULTA")) == DBNull.Value ? string.Empty : rd.GetString(rd.GetOrdinal("CONSULTA")), FechaRegistro = rd.GetDateTime(rd.GetOrdinal("FECHAREGISTRO")), Estado = rd.GetString(rd.GetOrdinal("ESTADO")) //IdActividad = rd.GetInt32(rd.GetOrdinal("IDACTIVIDAD")), //IdEmpleado = rd.GetInt32(rd.GetOrdinal("IDEMPLEADO")), //CumpleSLA = rd.GetInt32(rd.GetOrdinal("CUMPLESLA")) }; } } } } catch (Exception ex) { Console.WriteLine(ex.Message); LogError(ex); } return(solicitud); }
/// <summary> /// /// </summary> /// <param name="idSolicitud"></param> /// <param name="solucion"></param> /// <returns></returns> public JsonResult EnviarSolucionSolicitud( string idSolicitud, string intencionPadre, string solucion, string accion, string nombreIntencion, string frase1, string frase2, string solucionIntencion, string curso, string actividad, string idDialogFlow) { var respuesta = string.Empty; try { if (accion.Equals("NEW")) { var intencion = new Intencion(); intencion.IdDialogFlow = "NEW"; intencion.Nombre = nombreIntencion; intencion.Respuesta = solucionIntencion; intencion.IdIntencionPadre = intencionPadre; var frases_ = new List <FraseEntrenamientoModel>(); frases_.Add(new FraseEntrenamientoModel { Descripcion = frase1 }); frases_.Add(new FraseEntrenamientoModel { Descripcion = frase2 }); var resultado = new Dialogflow.DialogFlow(oIBLSolicitud).CreateIntent(intencion, frases_); } if (accion.Equals("EDIT")) { var intencion = new Intencion(); intencion.IdDialogFlow = idDialogFlow; intencion.Respuesta = respuesta; intencion.IdIntencionPadre = intencionPadre; var frases_ = new List <FraseEntrenamientoModel>(); frases_.Add(new FraseEntrenamientoModel { Descripcion = frase1 }); frases_.Add(new FraseEntrenamientoModel { Descripcion = frase2 }); var resultado = new Dialogflow.DialogFlow(oIBLSolicitud).UpdateIntent(intencion, frases_); } var solicitud = new Solicitud(); solicitud.IdSolicitud = ConvertidorUtil.ConvertirInt32(idSolicitud); solicitud.Solucion = solucion; var objResult = oIBLSolicitud.EnviarSolucionSolicitud(solicitud); var notificacion = objResult.OneResult; if (notificacion != null) { var email = new EmailUtil(); var sendEmail = email.NotificarSolucionConsultaAcademica(notificacion); if (sendEmail) { respuesta = "SEND_EMAIL_OK"; } } } catch (Exception ex) { } return(new JsonResult { Data = respuesta, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }