public string ActivaHost(string id, bool estatus) { try { var result = db.AspNetUsers.Where(w => w.Id == id).FirstOrDefault(); result.Estatus = estatus; db.SaveChanges(); string conStrr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core adoC = new ADO_Core(conStrr); int eje = adoC.Execute("Exec sp_hostliberacontactos '" + id + "'"); adoC.Dispose(); adoC = null; return("Ok"); } catch (Exception ex) { Console.WriteLine(ex.Message); return("Bad"); } }
public string TieneDatosReales(int id) { string conStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core AdoObj = new ADO_Core(conStr); SqlDataReader dr = AdoObj.GetDataReader("Exec sp_DatosReales " + id.ToString()); string TieneDatosReales = ""; while (dr.Read()) { TieneDatosReales = dr["Tiene"].ToString(); } AdoObj.Dispose(); AdoObj = null; if (TieneDatosReales == "True") { return("Ok"); } else { return("Bad"); } }
public string AddProgramacionBIDAX(int id, int MedioContacto, string FechaHora, string Descripcion) { try { ProgramacionBIDA programacionBIDA = new ProgramacionBIDA(); DateTime f = DateTime.Now; DateTime fechaHora = Convert.ToDateTime(FechaHora); programacionBIDA.ContactoId = id; programacionBIDA.SubCanalId = MedioContacto; programacionBIDA.FechaHora = fechaHora; programacionBIDA.Acuerdo = true; programacionBIDA.Realizada = false; programacionBIDA.Comentario = Descripcion; db.ProgramacionBIDA.Add(programacionBIDA); db.SaveChanges(); // actualiza el estatus de la tabla interacciones EstatusBIDA estatusBIDA = new EstatusBIDA(); var interR = db.Interacciones.Where(w => w.ContactoId == id).FirstOrDefault(); interR.EstatusBIDAId = 5; db.SaveChanges(); // ejecuta el store procedure para la siguiente interaccion string mensaje = string.Empty; 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; return(mensaje); } catch (Exception ex) { Console.WriteLine(ex.Message); return("Bad"); } }
public ActionResult Interaccion(int Id) { View_Lista_Contactos view_Lista_Contactos = new View_Lista_Contactos(); try { // lee los datos del lead string conString = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core adoCore = new ADO_Core(conString); SqlDataReader drDatosLead = adoCore.GetDataReader("Exec sp_DatosGeneralesLead " + Id.ToString()); DatosLead datosLead = new DatosLead(); while (drDatosLead.Read()) { datosLead.Nombre = drDatosLead["Nombre"].ToString(); datosLead.Correo = drDatosLead["Correo"].ToString(); datosLead.Telefono = drDatosLead["Telefono"].ToString(); datosLead.Desarrollo = drDatosLead["Desarrollo"].ToString(); datosLead.Estatus = drDatosLead["Estatus"].ToString(); datosLead.TiempoEstatus = Convert.ToInt32(drDatosLead["TiempoEstatus"].ToString()); datosLead.Canal = drDatosLead["Canal"].ToString(); datosLead.Subcanal = drDatosLead["Subcanal"].ToString(); datosLead.NumeroForms = Convert.ToInt32(drDatosLead["NumeroForms"].ToString()); datosLead.Origen = drDatosLead["Origen"].ToString(); } ViewBag.DatosLead = datosLead; if (!drDatosLead.IsClosed) { drDatosLead.Close(); } // subcanals ViewBag.SubCanalId = new SelectList(db.SubCanales.OrderBy(w => w.SubCanalNombre), "SubCanalId", "SubCanalNombre"); // Hostorial Forms List <vEloquaForms> listaEF = new List <vEloquaForms>(); var resultEf = from x in db.vEloquaForms where x.ContactoId == Id orderby x.EnviadoEl descending select x; foreach (var item in resultEf) { var EloquaForm = new vEloquaForms() { ContactoId = item.ContactoId, EnviadoEl = item.EnviadoEl, Nombre = item.Nombre, Paterno = item.Paterno, Materno = item.Materno, Correo = item.Correo, Telefono = item.Telefono, Desarrollo = item.Desarrollo, Origen = item.Origen, Texto = item.Texto }; listaEF.Add(EloquaForm); } ViewBag.EForm = listaEF; ViewBag.Id = Id; var result = from x in db.View_Lista_Contactos where x.ContactoId == Id select x; foreach (var item in result) { view_Lista_Contactos.ContactoId = item.ContactoId; view_Lista_Contactos.NombreContacto = item.NombreContacto; view_Lista_Contactos.Apellidos = item.Apellidos; view_Lista_Contactos.Correo = item.Correo; // view_Lista_Contactos.EstatusNombre = item.EstatusNombre; view_Lista_Contactos.EstatusNombre = item.EstatusLead; view_Lista_Contactos.DesarrolloNombre = item.DesarrolloNombre; view_Lista_Contactos.DesarrolloModeloNombre = item.DesarrolloModeloNombre; view_Lista_Contactos.EstatusBIDA = item.EstatusBIDA; } ViewBag.xEstatusBida = view_Lista_Contactos.EstatusBIDA; // lee Historial Status BIDA SqlDataReader dr = adoCore.GetDataReader("Exec sp_estatusBIDAContacto " + Id.ToString()); ViewBag.DsBIDA = dr; // lee las interacciones List <InteraccionesContacto> listInter = new List <InteraccionesContacto>(); var nuevInter = from x in db.InteraccionesContacto where x.ContactoId == Id orderby x.Fecha select x; foreach (var item in nuevInter) { InteraccionesContacto interaccionesContacto = new InteraccionesContacto(); interaccionesContacto.ContactoId = item.ContactoId; interaccionesContacto.SubCanalNombre = item.SubCanalNombre; interaccionesContacto.Fecha = item.Fecha; interaccionesContacto.EstatusNombre = item.EstatusNombre; interaccionesContacto.NombreCompleto = item.NombreCompleto; interaccionesContacto.Descripcion = item.Descripcion; interaccionesContacto.Comentarios = item.Comentarios; listInter.Add(interaccionesContacto); } ViewBag.Inteaccines = listInter; ViewBag.DesarrolloIdAsigna = new SelectList(db.Desarrollo.OrderBy(w => w.DesarrolloNombre), "DesarrolloId", "DesarrolloNombre"); // lee notas del leade List <vNotasContacto> lisNotas = new List <vNotasContacto>(); var dsNotas = from x in db.vNotasContacto where x.ContactoId == Id orderby x.Fecha descending select x; foreach (var item in dsNotas) { vNotasContacto VNotasContacto = new vNotasContacto(); VNotasContacto.ContactoId = item.ContactoId; VNotasContacto.Fecha = item.Fecha; VNotasContacto.Nota = item.Nota; VNotasContacto.NombreCompleto = item.NombreCompleto; lisNotas.Add(VNotasContacto); } ViewBag.dsNotas = lisNotas; } catch (Exception ex) { Console.WriteLine(ex.Message); } return(View(view_Lista_Contactos)); }
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 AsignarContacto(int ContactoID, int DesarrolloId = 0) { try { // Busca carrusel_asignacion Carrusel_asignacion = new carrusel_asignacion(); string Constr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core objAdo = new ADO_Core(Constr); string sqlStat = String.Format("Exec sp_carruselAsignacion {0}, {1}", DesarrolloId, 1); SqlDataReader dr = objAdo.GetDataReader(sqlStat); bool encuentra = false; if (dr.HasRows) { dr.Read(); Boolean.TryParse(dr["encuentra"].ToString(), out encuentra); if (encuentra) { string epId = dr["EPId"].ToString(); Carrusel_asignacion.encuentra = encuentra; Carrusel_asignacion.EPId = Int32.Parse(!String.IsNullOrEmpty(epId) && !String.IsNullOrWhiteSpace(epId) ? epId : "0"); Carrusel_asignacion.Nombre = dr["Nombre"].ToString(); Carrusel_asignacion.Email = dr["Email"].ToString(); Carrusel_asignacion.PartyId = long.Parse(dr["PartyId"].ToString()); Carrusel_asignacion.ResourceId = long.Parse(dr["ResourceId"].ToString()); } } if (encuentra) { string Usuario_ID = Session["Usuario_ID"].ToString(); // guarda registro en la tabla Asignacion Asignacion asignacion = new Asignacion(); asignacion.ContactoId = ContactoID; asignacion.EPId = Carrusel_asignacion.EPId; asignacion.UsuarioHOST = Usuario_ID; asignacion.FechaAsignacion = DateTime.Now; db.Asignacion.Add(asignacion); db.SaveChanges(); //// invoca el web service //DatosReales datosReales = new DatosReales(); //var resultdr = db.DatosReales.FirstOrDefault(w => w.ContactoId == ContactoID); //string campo1 = "@XZYContaToSales#"; //string Nombre = resultdr.Nombre; //string ApellidoPaterno = resultdr.ApellidoPaterno; //string ApellidoMaterno = resultdr.ApellidoMaterno; //string CanalCaptacion = "1"; //string SubcanalCaptacion = ""; //string TelefonoMovil = resultdr.Telefono; //string CorreoElectonico = resultdr.Correo; //string Desarrollo = ""; //long OwnerPartyId = Carrusel_asignacion.PartyId; //long ResourceId = Carrusel_asignacion.ResourceId; //// obtien datos del contacto //var DatosContacto = db.View_Datos_Contacto.FirstOrDefault(w => w.ContactoId == ContactoID); //CanalCaptacion = DatosContacto.CanalNombre; //SubcanalCaptacion = DatosContacto.SubCanalNombre; //Desarrollo = DatosContacto.DesarrolloNombre; // // Consume el web service // hu_web_service.SoaClient isoac = new hu_web_service.SoaClient(); //var result_ws = isoac.crearContactoRespondersV2(campo1, Nombre, ApellidoPaterno, ApellidoMaterno, CanalCaptacion, SubcanalCaptacion, TelefonoMovil, CorreoElectonico, Desarrollo, OwnerPartyId, ResourceId); ; var Desarrollo = db.Desarrollo.Where(w => w.DesarrolloId == DesarrolloId).FirstOrDefault(); var datosContacto = db.DatosReales.Where(w => w.ContactoId == ContactoID).FirstOrDefault(); // ejecuta el web service 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, Carrusel_asignacion.PartyId, Carrusel_asignacion.ResourceId); if (SalesOracleId.Contains("Error al crear contacto")) { // guarda notificacion para el EP en la tabla AgregaMensageParaEP(SalesOracleId); return("Bad"); } else { // graba el valor recivido del ws en la tabla contacto var contactows = db.Contactos.Where(w => w.ContactoId == ContactoID).FirstOrDefault(); contactows.SalesOracleId = long.Parse(SalesOracleId); db.SaveChanges(); // cambia el estatus del contacto a 6 var ontactoRes = db.Contactos.Where(w => w.ContactoId == ContactoID).FirstOrDefault(); ontactoRes.EstatusBIDA = 6; db.SaveChanges(); // envia email al contacto y alEP EmailCore emailCore = new EmailCore(); emailCore.EnviaEmail("Prueba Responders2", "<p>Estimad(@) NombreCompletoContacto, en breve su Ejecutivo Patrimonial NombreEP se pondrá en contacto con usted. <br /></p> <p>Attentamente</p> <p>Hogares Unión</p> <p>correoEP</p>", datosContacto.Correo); // avisa notificacion al contacto bool notifica = notificaconContacto_Genrente(ContactoID, "Se asigno un proyecto"); } } else if (!encuentra) { bool notifica = notificaconContacto_Genrente(ContactoID, "No se pudo asignar el proyecto"); } 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 InteraccionTelefono(int id, string back) { Interaccion interaccion = new Interaccion(); try { ViewBag.ID = id; ViewBag.Regreso = back; ViewBag.botonDisabled = "disabled"; ViewBag.DesarrolloIdAsigna = new SelectList(db.Desarrollo.OrderBy(w => w.DesarrolloNombre), "DesarrolloId", "DesarrolloNombre"); // subcanals ViewBag.SubCanalId = new SelectList(db.SubCanales.OrderBy(w => w.SubCanalNombre), "SubCanalId", "SubCanalNombre"); ViewBag.SubCanalIdAcuerdo = new SelectList(db.SubCanales.OrderBy(w => w.SubCanalNombre), "SubCanalId", "SubCanalNombre"); // Desarrollo ViewBag.DesarrolloId = new SelectList(db.Desarrollo.OrderBy(w => w.DesarrolloNombre), "DesarrolloId", "DesarrolloNombre"); // Modelo ViewBag.DesarrolloModeloId = new SelectList(db.DesarrolloModelo.OrderBy(w => w.DesarrolloModeloNombre), "DesarrolloModeloId", "DesarrolloModeloNombre"); // Causa no Interesado ViewBag.CausaNoInterId = new SelectList(db.CausaNoInter.OrderBy(w => w.CausaNoInterNombre), "CausaNoInterId", "CausaNoInterNombre"); // Lee datos del CONTACTO int Desarrollo_Id = 0; int subCanalId = 0; var DatLead = from x in db.View_Datos_Contacto where x.ContactoId == id select x; int EstatusBIDA = 0; foreach (var item in DatLead) { interaccion.id = id; interaccion.NombreContactoCompleto = item.NombreContacto + " " + item.Apellidos; EstatusBIDA = item.EstatusBIDA; Desarrollo_Id = item.DesarrolloId; subCanalId = item.SubCanalId; } ViewBag.Desarrollo_Id = Desarrollo_Id; ViewBag.Subcanal = subCanalId; if (EstatusBIDA == 5) { ViewBag.botonDisabled = string.Empty; } ViewBag.ContactoNombre = interaccion.NombreContactoCompleto; ViewBag.EstatusBida = EstatusBIDA; // Lee datos reales del Lead var datReal = from x in db.DatosReales where x.ContactoId == id select x; foreach (var item in datReal) { interaccion.NombreReal = item.Nombre; interaccion.ApellidoPaternoReal = item.ApellidoPaterno; interaccion.ApellidoMaternoReal = item.ApellidoMaterno; interaccion.TelefonoReal = item.Telefono; interaccion.CorreoReal = item.Correo; } // lee interaccion final var interacc = db.Interacciones.OrderByDescending(w => w.InteraccionId).FirstOrDefault(w => w.ContactoId == id); var IdInteraccion = 0; if (interacc != null) { IdInteraccion = interacc.InteraccionId; interaccion.Descripcion = interacc.Descripcion; interaccion.ResumenConversacion = interacc.Comentarios; // ejecuta la siguiente interaccion string conStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core AdoC = new ADO_Core(conStr); string stringCmd = string.Format("Exec sp_SiguienteInteraccion {0}, {1}", id, IdInteraccion); string Mensaje = string.Empty; SqlDataReader dr = AdoC.GetDataReader(stringCmd); if (dr.HasRows) { dr.Read(); Mensaje = dr["mensaje"].ToString(); } AdoC.Dispose(); ViewBag.SiguienteInteraccion = Mensaje; } } catch (Exception ex) { } return(View(interaccion)); }
public string AddProgramacion_BIDA(int id, int MedioContacto, string FechaHora, string Descripcion) { try { ProgramacionBIDA programacionBIDA = new ProgramacionBIDA(); DateTime f = DateTime.Now; DateTime fechaHora = Convert.ToDateTime(FechaHora); programacionBIDA.ContactoId = id; programacionBIDA.SubCanalId = MedioContacto; programacionBIDA.FechaHora = fechaHora; programacionBIDA.Acuerdo = true; programacionBIDA.Realizada = false; programacionBIDA.Comentario = Descripcion; db.ProgramacionBIDA.Add(programacionBIDA); db.SaveChanges(); // lee el id del registro agregad var programacionId = db.ProgramacionBIDA.Max(w => w.ProgramacionId); // actualiza la interaccion en estatus 2 //var resInte = db.Interacciones.Where(w => w.InteraccionId == interaccionID).FirstOrDefault(); //resInte.EstatusBIDAId = 2; //db.SaveChanges(); // ejecuta el store procedure para la siguiente interaccion string mensaje = string.Empty; string conStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core adoC = new ADO_Core(conStr); string cmd = String.Format("Exec sp_SiguienteInteraccion {0}, {1}", id, programacionId); SqlDataReader dr = adoC.GetDataReader(cmd); if (dr.HasRows) { dr.Read(); mensaje = dr["Mensaje"].ToString(); } if (string.IsNullOrWhiteSpace(mensaje) || string.IsNullOrEmpty(mensaje)) { mensaje = "No se pudo calcular la siguietne interacción."; } adoC.Dispose(); adoC = null; // Libera el contatactoId var resContacto = db.Contactos.Where(w => w.ContactoId == id).FirstOrDefault(); resContacto.UsuarioHOST = null; db.SaveChanges();; return(mensaje); } catch (Exception ex) { Console.WriteLine(ex.Message); return("Bad"); } }
public string AsignarContacto(int ContactoID, int DesarrolloId = 0) { try { // Busca carrusel_asignacion Carrusel_asignacion = new carrusel_asignacion(); string Constr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core objAdo = new ADO_Core(Constr); string sqlStat = String.Format("Exec sp_carruselAsignacion {0}, {1}", DesarrolloId, 1); SqlDataReader dr = objAdo.GetDataReader(sqlStat); bool encuentra = false; if (dr.HasRows) { dr.Read(); Boolean.TryParse(dr["encuentra"].ToString(), out encuentra); if (encuentra) { string epId = dr["EPId"].ToString(); Carrusel_asignacion.encuentra = encuentra; Carrusel_asignacion.EPId = Int32.Parse(!String.IsNullOrEmpty(epId) && !String.IsNullOrWhiteSpace(epId) ? epId : "0"); Carrusel_asignacion.Nombre = dr["Nombre"].ToString(); Carrusel_asignacion.Email = dr["Email"].ToString(); Carrusel_asignacion.PartyId = long.Parse(dr["PartyId"].ToString()); Carrusel_asignacion.ResourceId = long.Parse(dr["ResourceId"].ToString()); } } if (encuentra) { string Usuario_ID = Session["Usuario_ID"].ToString(); // guarda registro en la tabla Asignacion Asignacion asignacion = new Asignacion(); asignacion.ContactoId = ContactoID; asignacion.EPId = Carrusel_asignacion.EPId; asignacion.UsuarioHOST = Usuario_ID; asignacion.FechaAsignacion = DateTime.Now; db.Asignacion.Add(asignacion); db.SaveChanges(); // invoca el web service DatosReales datosReales = new DatosReales(); var resultdr = db.DatosReales.FirstOrDefault(w => w.ContactoId == ContactoID); string campo1 = "@XZYContaToSales#"; string Nombre = resultdr.Nombre; string ApellidoPaterno = resultdr.ApellidoPaterno; string ApellidoMaterno = resultdr.ApellidoMaterno; string CanalCaptacion = "1"; string SubcanalCaptacion = string.Empty; string TelefonoMovil = resultdr.Telefono; string CorreoElectonico = resultdr.Correo; string Desarrollo = string.Empty; long OwnerPartyId = Carrusel_asignacion.PartyId; long ResourceId = Carrusel_asignacion.ResourceId; // obtien datos del contacto var DatosContacto = db.View_Datos_Contacto.FirstOrDefault(w => w.ContactoId == ContactoID); CanalCaptacion = DatosContacto.CanalNombre; SubcanalCaptacion = DatosContacto.SubCanalNombre; Desarrollo = DatosContacto.DesarrolloNombre; // Consume el web service hu_web_service.SoaClient isoac = new hu_web_service.SoaClient(); var result_ws = isoac.crearContactoRespondersV2(campo1, Nombre, ApellidoPaterno, ApellidoMaterno, CanalCaptacion, SubcanalCaptacion, TelefonoMovil, CorreoElectonico, Desarrollo, OwnerPartyId, ResourceId);; if (result_ws.Contains("Error al crear contacto")) { // guarda notificacion para el EP en la tabla AgregaMensageParaEP(result_ws); return("Bad"); } else { // Actualiza el estatusBIDA del contacto var contactoD = db.Contactos.FirstOrDefault(w => w.ContactoId == ContactoID); contactoD.EstatusBIDA = 6; db.SaveChanges(); // avisa notificacion al contacto bool notifica = notificaconContacto_Genrente(ContactoID, "Se asigno un proyecto"); } } else if (!encuentra) { bool notifica = notificaconContacto_Genrente(ContactoID, "No se pudo asignar el proyecto"); } return("Ok"); } catch (Exception ex) { Console.WriteLine(ex.Message); return("Bad"); } }
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 }); }
public ActionResult NuevoLead(Contactos modelo) { try { ViewBag.DesarrolloId = new SelectList(db.Desarrollo.OrderBy(w => w.DesarrolloNombre), "DesarrolloId", "DesarrolloNombre"); ViewBag.SubCanalId = new SelectList(db.SubCanales.OrderBy(w => w.SubCanalNombre), "SubCanalId", "SubCanalNombre"); ViewBag.Msg = "mensaje('El Contacto se registró correctamente.');"; // valida campos if (string.IsNullOrEmpty(modelo.NombreContacto)) { ViewBag.Msg = "mensaje('El Nombre del Contacto es nedesario.');"; return(View()); } if (string.IsNullOrEmpty(modelo.Apellidos)) { ViewBag.Msg = "mensaje('Los Apellidos del Contacto son necesarios.');"; return(View()); } if (string.IsNullOrEmpty(modelo.Correo)) { ViewBag.Msg = "mensaje('El correo del contacto es necesario.');"; return(View()); } // guarda nuevo contacto Contactos contactos = new Contactos(); string Usuario_ID = Session["Usuario_ID"].ToString(); //contactos.InConcertId = null; contactos.CanalId = 1; contactos.SubCanalId = 1; contactos.EstatusBIDA = 1; contactos.DesarrolloId = modelo.DesarrolloId; contactos.DesarrolloModeloId = 1; contactos.NombreContacto = modelo.NombreContacto; contactos.Apellidos = modelo.Apellidos; contactos.Telefono = modelo.Telefono; contactos.Correo = modelo.Correo; contactos.Facebook = modelo.Facebook; contactos.FechaIngreso = DateTime.Now; contactos.FechaReingreso = null; contactos.UsuarioHOST = Usuario_ID; //contactos.Interesado = true; contactos.SalesOracleId = null; db.Contactos.Add(contactos); db.SaveChanges(); // lee el nuevo contacto var nuevoContacto = db.Contactos.Max(w => w.ContactoId); int contactoID = Int32.Parse(!String.IsNullOrEmpty(nuevoContacto.ToString()) && !String.IsNullOrWhiteSpace(nuevoContacto.ToString()) ? nuevoContacto.ToString() : "0"); // ejecuta el store procedure string ConStr = WebConfigurationManager.ConnectionStrings["ConStr"].ToString(); ADO_Core adoCore = new ADO_Core(ConStr); string SqlStat = String.Format("Exec sp_SiguienteInteraccion {0}, {1}", contactoID, 1); SqlDataReader dr = adoCore.GetDataReader(SqlStat); } catch (Exception ex) { } return(View(modelo)); }