public string GrabaInteraccion(int interaccionID, int contactoId, string Descripcion, string Comentarios, bool WhatsAppCerrado) { try { // guarda en interaccionesContacto string nombreCompleto = Session["NombreCompleto"].ToString(); string UsuarioHost = Session["Usuario_ID"].ToString(); Interacciones interacciones = new Interacciones(); interacciones.ContactoId = contactoId; interacciones.SubCanalId = 1; interacciones.UsuarioHOST = UsuarioHost; interacciones.EstatusBIDAId = 2; interacciones.FechaInteraccion = DateTime.Now; interacciones.Descripcion = Descripcion; interacciones.Comentarios = Comentarios; interacciones.Interes = true; interacciones.CausaNoInterId = null; interacciones.ComentarioNoInteres = null; interacciones.WhatsAppCerrado = false; db.Interacciones.Add(interacciones); db.SaveChanges(); //var result = db.Interacciones.Where(w => w.InteraccionId == interaccionID).FirstOrDefault(); //if (WhatsAppCerrado) //{ // result.Descripcion = Descripcion; // result.Comentarios = Comentarios; // result.WhatsAppCerrado = true; //} //else //{ // result.Comentarios = Comentarios; // result.WhatsAppCerrado = false; //} //db.SaveChanges(); return("Ok"); } catch (Exception ex) { Console.WriteLine(ex.Message); return("Bad"); } }
public ActionResult Whatsapp(Interacciones modelo, string WhatsAppCerrado) { try { string Usuario_ID = Session["Usuario_ID"].ToString(); Interacciones interacciones = new Interacciones(); interacciones.ContactoId = modelo.ContactoId; interacciones.SubCanalId = modelo.SubCanalId; interacciones.UsuarioHOST = Usuario_ID; interacciones.EstatusBIDAId = modelo.EstatusBIDAId; interacciones.FechaInteraccion = DateTime.Now; interacciones.Descripcion = modelo.Descripcion; interacciones.Comentarios = modelo.Comentarios; interacciones.Interes = false; db.Interacciones.Add(interacciones); //db.SaveChanges(); ViewBag.botonDisabled = string.Empty; if (WhatsAppCerrado == "on") { // actualizar el campo whatsapp a true var interac = db.Interacciones.Where(w => w.InteraccionId == modelo.InteraccionId).FirstOrDefault(); interac.WhatsAppCerrado = true; db.SaveChanges(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } return(RedirectToAction("Interaccion", "Host", new { id = modelo.ContactoId })); }
public string GrabaInteraccion(int ContactoId, int statusBida, string Descripcion, string comentario, bool Cerrado) { try { var resultProgramacion = db.sp_programacionContacto(ContactoId).FirstOrDefault(); int programacionId = resultProgramacion.ProgramacionId; string HostID = Session["Usuario_ID"].ToString(); Interacciones interacciones = new Interacciones(); interacciones.ContactoId = ContactoId; interacciones.SubCanalId = 1; interacciones.UsuarioHOST = HostID; interacciones.EstatusBIDAId = statusBida; interacciones.FechaInteraccion = DateTime.Now; interacciones.Descripcion = Descripcion; interacciones.Comentarios = comentario; interacciones.Interes = true; interacciones.CausaNoInterId = null; interacciones.ComentarioNoInteres = null; if (Cerrado) { interacciones.WhatsAppCerrado = true; } else { interacciones.WhatsAppCerrado = false; } db.Interacciones.Add(interacciones); db.SaveChanges(); // siguiente interaccion string conStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core ado = new ADO_Core(conStr); string cmd = String.Format("Exec sp_SiguienteInteraccion {0}, {1}", ContactoId, programacionId); SqlDataReader dr = ado.GetDataReader(cmd); string mensaje = string.Empty; while (dr.Read()) { mensaje = dr["Mensaje"].ToString(); } ado.closeDB(); // Actualiza la tabla de contactos if (Cerrado) { var contacto = db.Contactos.Where(w => w.ContactoId == ContactoId).FirstOrDefault(); contacto.EstatusBIDA = statusBida; db.SaveChanges(); } return("Ok"); } catch (Exception ex) { Console.WriteLine(ex.Message); return("Bad"); } }
public string NoContesta(int id) { string mensaje = string.Empty; try { // graba el estatus a 3 en contactos var resCont = db.Contactos.Where(w => w.ContactoId == id).FirstOrDefault(); resCont.EstatusBIDA = 3; db.SaveChanges(); // ejecuta el store procedure para la siguiente interaccion string conStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core adoC = new ADO_Core(conStr); SqlDataReader dr = adoC.GetDataReader("Exec sp_SiguienteInteraccion " + id.ToString()); if (dr.HasRows) { dr.Read(); mensaje = dr["Mensaje"].ToString(); } adoC.Dispose(); adoC = null; // ejemplo: Telefónica 2019 - 07 - 25 08:01 // Telefónica 2019 - 07 - 25 08:01 // 2019 - 07 - 25 08:01 string msgTemp = mensaje.Replace("Telefónica ", string.Empty); DateTime tmpD = Convert.ToDateTime(msgTemp); // graba interaccion Interacciones interacciones = new Interacciones(); interacciones.ContactoId = id; interacciones.SubCanalId = 2; interacciones.UsuarioHOST = null; interacciones.EstatusBIDAId = 3; if (!string.IsNullOrEmpty(mensaje) && !string.IsNullOrWhiteSpace(mensaje)) { interacciones.FechaInteraccion = tmpD; } else { interacciones.FechaInteraccion = DateTime.Now; } interacciones.Descripcion = string.Empty; interacciones.Comentarios = string.Empty; interacciones.Interes = false; interacciones.CausaNoInterId = null; db.Interacciones.Add(interacciones); db.SaveChanges(); } catch (Exception ex) { } return(mensaje); }
public ActionResult Interaccion(Interaccion modelo, int SubCanalIdH, int numTab = 0) { try { int DatosReales = 0; DatosReales = db.DatosReales.Where(w => w.ContactoId == modelo.id).Count(); var contac = db.View_Lista_Contactos.Where(w => w.ContactoId == modelo.id).FirstOrDefault(); int StatusBIDAActual = contac.EstatusBIDA; string Usuario_ID = Session["Usuario_ID"].ToString(); Interacciones interacciones = new Interacciones(); interacciones.ContactoId = modelo.id; interacciones.SubCanalId = SubCanalIdH; interacciones.UsuarioHOST = Usuario_ID; interacciones.EstatusBIDAId = 5; if ((StatusBIDAActual == 1) && (DatosReales > 0)) { interacciones.EstatusBIDAId = 5; // actualliza estatusbida en contactos var contacto1 = db.Contactos.Where(w => w.ContactoId == modelo.id).FirstOrDefault(); contacto1.EstatusBIDA = 5; db.SaveChanges(); } else if ((StatusBIDAActual == 1) && (DatosReales == 0)) { interacciones.EstatusBIDAId = 2; // actualliza estatusbida en contactos var contacto1 = db.Contactos.Where(w => w.ContactoId == modelo.id).FirstOrDefault(); contacto1.EstatusBIDA = 2; db.SaveChanges(); } interacciones.FechaInteraccion = DateTime.Now; interacciones.Descripcion = modelo.Descripcion; interacciones.Comentarios = modelo.ResumenConversacion; interacciones.Interes = false; if (numTab == 2) { interacciones.CausaNoInterId = modelo.CausaNoInterId; interacciones.ComentarioNoInteres = modelo.ComentariosNoIntetres; interacciones.EstatusBIDAId = 4; // actualliza estatusbida en contactos var contacto1 = db.Contactos.Where(w => w.ContactoId == modelo.id).FirstOrDefault(); contacto1.EstatusBIDA = 4; db.SaveChanges(); } if (numTab == 3) { // actualliza estatusbida en contactos var contacto1 = db.Contactos.Where(w => w.ContactoId == modelo.id).FirstOrDefault(); contacto1.EstatusBIDA = 4; db.SaveChanges(); } if (numTab == 4) { // actualliza estatusbida en contactos var contacto1 = db.Contactos.Where(w => w.ContactoId == modelo.id).FirstOrDefault(); contacto1.EstatusBIDA = 3; db.SaveChanges(); } db.Interacciones.Add(interacciones); db.SaveChanges(); // ejecuta el store procedure sp_SiguienteInteraccion string ConStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core adoC = new ADO_Core(ConStr); string mensaje = string.Empty; string sqlStr = String.Format("Exec sp_SiguienteInteraccion {0}, {1}", modelo.id, 0); SqlDataReader dr = adoC.GetDataReader(sqlStr); if (dr.HasRows) { dr.Read(); mensaje = dr["Mensaje"].ToString(); } adoC.Dispose(); adoC = null; // liberar contacto var rcont = db.Contactos.Where(w => w.ContactoId == modelo.id).FirstOrDefault(); rcont.UsuarioHOST = null; db.SaveChanges(); ViewBag.botonDisabled = string.Empty; } catch (Exception ex) { Console.WriteLine(ex.Message); } return(RedirectToAction("Interaccion", "Host", new { id = modelo.id })); }
public ActionResult Interactuar_ni(Interaccion_nueva modelo, string WhatsAppCerrado) { try { // ResumenConversacion = -Nota string Usuario_ID = Session["Usuario_ID"].ToString(); bool bInteres = (modelo.SubEstatusBIDAId == 4) ? true : false; Interacciones interacciones = new Interacciones(); interacciones.ContactoId = modelo.ContactoId; interacciones.SubCanalId = modelo.SubCanalId; interacciones.UsuarioHOST = Usuario_ID; interacciones.EstatusBIDAId = modelo.EstatusBIDAId; interacciones.FechaInteraccion = DateTime.Now; interacciones.Descripcion = string.Empty; //interacciones.Comentarios = modelo.ResumenConversacion; interacciones.Interes = bInteres; if (modelo.CausaNoInterId == 0) { interacciones.CausaNoInterId = null; interacciones.ComentarioNoInteres = null; } else { interacciones.CausaNoInterId = modelo.CausaNoInterId; interacciones.ComentarioNoInteres = modelo.comentarioNoInteres; } interacciones.WhatsAppCerrado = modelo.WhatsAppCerrado; interacciones.SubEstatusBIDAId = modelo.SubEstatusBIDAId; db.Interacciones.Add(interacciones); //db.SaveChanges(); // agrega nota NotasContacto notasContacto = new NotasContacto(); notasContacto.ContactoId = modelo.ContactoId; notasContacto.Fecha = DateTime.Now; notasContacto.Nota = modelo.ResumenConversacion; notasContacto.HOSTId = Usuario_ID; db.NotasContacto.Add(notasContacto); db.SaveChanges(); // actualiza estatus en tabla contactos var dsContacto = db.Contactos.Where(w => w.ContactoId == modelo.ContactoId).FirstOrDefault(); if (dsContacto != null) { dsContacto.EstatusBIDA = modelo.EstatusBIDAId; dsContacto.SubEstatusBIDAId = modelo.SubEstatusBIDAId; db.SaveChanges(); } var sigInter = db.sp_SiguienteInteraccion(modelo.ContactoId, 0); // busca si tiene capturado datos reales var datosReal = db.DatosReales.Where(w => w.ContactoId == modelo.ContactoId).FirstOrDefault(); if (datosReal != null) { // YA TIENE CAPTURADO DATOS REALES string conStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core adoC = new ADO_Core(conStr); string comando = String.Format("Exec sp_carruselAsignacion {0}, {1}", modelo.ContactoId, 0); SqlDataReader dr = adoC.GetDataReader(comando); if (dr.HasRows) { dr.Read(); try { int _EPId = Convert.ToInt32(dr["EPId"].ToString()); var Desarrollo = db.Desarrollo.Where(w => w.DesarrolloId == modelo.DesarrolloId).FirstOrDefault(); var datosContacto = db.DatosReales.Where(w => w.ContactoId == modelo.ContactoId).FirstOrDefault(); hu_website.hu_web_service.SoaClient webSer = new hu_web_service.SoaClient(); string SalesOracleId = webSer.crearContactoRespondersV2("@XZYContaToSales#", datosContacto.Nombre, datosContacto.ApellidoPaterno, datosContacto.ApellidoMaterno, "DIGIN", "IBWA", datosContacto.Telefono, datosContacto.Correo, Desarrollo.DesarrolloNombre, long.Parse(dr["PartyId"].ToString()), long.Parse(dr["ResourceId"].ToString())); // guarda en la tabla asignacicion Asignacion asignacion = new Asignacion() { ContactoId = modelo.ContactoId, EPId = _EPId, UsuarioHOST = Usuario_ID, FechaAsignacion = DateTime.Now }; db.Asignacion.Add(asignacion); // cambia el estatus del contacto a 4 var contaCto = db.Contactos.Where(w => w.ContactoId == modelo.ContactoId).FirstOrDefault(); if (contaCto != null) { contaCto.EstatusBIDA = 4; contaCto.SubEstatusBIDAId = 3; } db.SaveChanges(); } catch (Exception ex) { Console.WriteLine(ex.Message); throw new Exception(ex.Message); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } return(RedirectToAction("index", "NuevaInter", new { id = modelo.ContactoId })); }
public ActionResult Interactuar(Interaccion_nueva modelo, string WhatsAppCerrado) { datos_mensaje datos_mensaje = new datos_mensaje(); try { datos_mensaje.Fecha_asignacion = String.Format("{0:dd-MMM-yyyy}", DateTime.Now); ViewBag.ContactoID = modelo.ContactoId; // ResumenConversacion = -Nota string Usuario_ID = Session["Usuario_ID"].ToString(); bool bInteres = (modelo.SubEstatusBIDAId == 4) ? true : false; Interacciones interacciones = new Interacciones(); interacciones.ContactoId = modelo.ContactoId; interacciones.SubCanalId = modelo.SubCanalId; interacciones.UsuarioHOST = Usuario_ID; interacciones.EstatusBIDAId = modelo.EstatusBIDAId; interacciones.FechaInteraccion = DateTime.Now; interacciones.Descripcion = string.Empty; //interacciones.Comentarios = modelo.ResumenConversacion; interacciones.Interes = bInteres; if (modelo.CausaNoInterId == 0) { interacciones.CausaNoInterId = null; interacciones.ComentarioNoInteres = null; } else { interacciones.CausaNoInterId = modelo.CausaNoInterId; interacciones.ComentarioNoInteres = modelo.comentarioNoInteres; } interacciones.WhatsAppCerrado = modelo.WhatsAppCerrado; interacciones.SubEstatusBIDAId = modelo.SubEstatusBIDAId; db.Interacciones.Add(interacciones); // agrega nota NotasContacto notasContacto = new NotasContacto(); notasContacto.ContactoId = modelo.ContactoId; notasContacto.Fecha = DateTime.Now; notasContacto.Nota = modelo.ResumenConversacion; notasContacto.HOSTId = Usuario_ID; db.NotasContacto.Add(notasContacto); db.SaveChanges(); // actualiza estatus en tabla contactos var dsContacto = db.Contactos.Where(w => w.ContactoId == modelo.ContactoId).FirstOrDefault(); if (dsContacto != null) { dsContacto.EstatusBIDA = modelo.EstatusBIDAId; dsContacto.SubEstatusBIDAId = modelo.SubEstatusBIDAId; db.SaveChanges(); } var sigInter = db.sp_SiguienteInteraccion(modelo.ContactoId, 0); // busca si tiene capturado datos reales var datosReal = db.DatosReales.Where(w => w.ContactoId == modelo.ContactoId).FirstOrDefault(); datos_mensaje.Lead = String.Format("{0} {1} {2}", datosReal.Nombre, datosReal.ApellidoPaterno, datosReal.ApellidoMaterno); if (datosReal != null) { // YA TIENE CAPTURADO DATOS REALES string conStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core adoC = new ADO_Core(conStr); string comando = String.Format("Exec sp_carruselAsignacion {0}, '{1}', {2}", modelo.DesarrolloId, Usuario_ID, 0); SqlDataReader dr = adoC.GetDataReader(comando); if (dr.HasRows) { dr.Read(); try { int _EPId = Convert.ToInt32(dr["EPId"].ToString()); // obtiene el nombre del host var dsHostAsigna = db.AspNetUsers.Where(w => w.Id == Usuario_ID).FirstOrDefault(); string HostAsigna = dsHostAsigna.UserName; datos_mensaje.HostAsigna = HostAsigna; // obtiene el ep seleccionado int epID = int.Parse(dr["EPid"].ToString()); var DsEpSel = db.AgentesEP.Where(w => w.EPId == epID).FirstOrDefault(); string epSeleccinado = DsEpSel.Nombre; datos_mensaje.EP_seleccionado = epSeleccinado; ViewBag.Datosmensaje = datos_mensaje; Session["Datos_Mensaje"] = datos_mensaje; if (modelo.SubEstatusBIDAId == 3) { var Desarrollo = db.Desarrollo.Where(w => w.DesarrolloId == modelo.DesarrolloId).FirstOrDefault(); var datosContacto = db.DatosReales.Where(w => w.ContactoId == modelo.ContactoId).FirstOrDefault(); // WEB SERVICE long PartyId = long.Parse(dr["PartyId"].ToString()); long ResourceId = long.Parse(dr["ResourceId"].ToString()); hu_website.hu_web_service.SoaClient webSer = new hu_web_service.SoaClient(); //string SalesOracleId = webSer.crearContactoRespondersV3( // "@XZYContaToSales#", // datosContacto.Nombre, // datosContacto.ApellidoPaterno, // datosContacto.ApellidoMaterno, // "DIGIN", // "IBWA", // datosContacto.Telefono.ToString(), // datosContacto.Correo, // Desarrollo.DesarrolloNombre, // PartyId, // ResourceId, // true); // GUARDAR LOS DATOS DEL WEB SERVICE long valorl = 0; valorl = 10000000055445; try { //valorl = long.Parse(SalesOracleId); } catch (Exception ex) { throw new Exception("'El web service no está funcionando.'"); } guardaContactoDatos(modelo.ContactoId, valorl); // guarda en la tabla asignacicion using (rubenzgb_hudevEntities dbasae = new rubenzgb_hudevEntities()) { Asignacion asignacion = new Asignacion() { ContactoId = modelo.ContactoId, EPId = _EPId, UsuarioHOST = Usuario_ID, FechaAsignacion = DateTime.Now }; dbasae.Asignacion.Add(asignacion); dbasae.SaveChanges(); } // cambia el estatus del contacto a 4 using (rubenzgb_hudevEntities dbasae = new rubenzgb_hudevEntities()) { var qry1 = dbasae.Contactos.Where(w => w.ContactoId == modelo.ContactoId).First(); qry1.EstatusBIDA = modelo.EstatusBIDAId; qry1.SubEstatusBIDAId = modelo.SubEstatusBIDAId; qry1.Estatus = 4; dbasae.SaveChanges(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); throw new Exception(ex.Message); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); return(RedirectToAction("Interactuar", "whatsapp", new { id = modelo.ContactoId, mensaje = ex.Message })); } return(RedirectToAction("Interactuar", "whatsapp", new { id = modelo.ContactoId, datosMensaje = datos_mensaje })); // return RedirectToAction("index", "Host", new { id = modelo.ContactoId }); }