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