public ActionResult CreateFromProspecto(prospectos prospecto) { if (ErrorMessage != null) { ViewBag.ErrorMessage = ErrorMessage; } if (prospecto.email_personal == null) { return(Create()); } Random r = new Random(); clientes cl = new clientes(); //byte?[] b = new byte?[0]; cl.codigo = (db.clientes.Count() + 1).ToString("00000#"); cl.nombres = prospecto.nombres; cl.apellidos = prospecto.apellidos; cl.email = prospecto.email_personal; cl.password = r.Next(1000, 9999); cl.foto = null; cl.centro_laboral = prospecto.centros_laboral; cl.cargo_laboral = prospecto.cargo_laboral; cl.email_empresa = prospecto.email_empresa; cl.fecha_nacimiento = prospecto.fecha_nacimiento; cl.genero = prospecto.genero; cl.documento_tipo = prospecto.documento_tipo; cl.documento_numero = prospecto.documento_numero; cl.created_at = DateTimeOffset.Now.Date; cl.updated_at = DateTimeOffset.Now.Date; return(View(cl)); }
public async Task <ActionResult> DeleteConfirmed(int id) { prospectos prospectos = await db.prospectos.FindAsync(id); prospectos.deleted_at = DateTimeOffset.Now.DateTime; db.prospectos.Remove(prospectos); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Edit([Bind(Include = "id,nombres,apellidos,genero,fecha_nacimiento,documento_tipo,telefono,documento_numero,email_personal,centros_laboral,cargo_laboral,email_empresa,created_at,updated_at,deleted_at")] prospectos prospectos) { if (ModelState.IsValid) { prospectos.updated_at = DateTimeOffset.Now.DateTime; db.Entry(prospectos).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(prospectos)); }
public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } prospectos prospectos = await db.prospectos.FindAsync(id); if (prospectos == null) { return(HttpNotFound()); } return(View(prospectos)); }
public JsonResult CreateProspects(ProspectsReferredByClient rf) { prospectos p_1 = new prospectos(); prospectos p_2 = new prospectos(); p_1.nombres = rf.p1_nombres; p_1.apellidos = rf.p1_apellidos; p_1.telefono = rf.p1_celular; p_1.email_personal = rf.p1_email; p_1.created_at = DateTimeOffset.Now.Date; p_1.updated_at = DateTimeOffset.Now.Date; p_2.nombres = rf.p2_nombres; p_2.apellidos = rf.p2_apellidos; p_2.telefono = rf.p2_celular; p_2.email_personal = rf.p2_email; p_2.created_at = DateTimeOffset.Now.Date; p_2.updated_at = DateTimeOffset.Now.Date; List <prospectos> lstProspects = new List <prospectos>(); lstProspects.Add(p_1); lstProspects.Add(p_2); db.prospectos.Add(lstProspects[0]); int c = db.SaveChanges(); Dictionary <string, object> js = new Dictionary <string, object>(); if (c > 0) { js.Add("message", "Se han creado " + c.ToString() + " prospectos."); js.Add("status", HttpStatusCode.OK); js.Add("p1_id", p_1.id); /*js.Add("p2_id", p_2.id);*/ return(Json(js, JsonRequestBehavior.AllowGet)); } js.Add("message", "Falló la inserción de datos."); js.Add("status", HttpStatusCode.Conflict); return(Json(js, JsonRequestBehavior.AllowGet)); }
public ActionResult SearchProspect(string Value) { prospectos p = db.prospectos.Where(m => m.documento_numero == Value).FirstOrDefault(); if (p != null) { return(RedirectToAction("CreateFromProspecto", "Clientes", new { prospectoId = p.id })); } else { p = db.prospectos.Where(m => m.email_personal == Value).FirstOrDefault(); if (p != null) { return(RedirectToAction("CreateFromProspecto", "Clientes", new { prospectoId = p.id })); } else { return(RedirectToAction("Create", "Clientes")); } } }
public JsonResult cancelarProspecto(bool atendido, int?idAlerta, bool?recibioNoti) { //var buscarTercero = context.alertaasesor.OrderByDescending(x=>x.id).FirstOrDefault(x=>x.propecto==id); alertaasesor buscarTercero = context.alertaasesor.FirstOrDefault(x => x.id == idAlerta); if (buscarTercero != null) { //int usuario = Convert.ToInt32(Session["user_usuarioid"]); //int rol = Convert.ToInt32(Session["user_rolid"]); sesion_logasesor ultimaSesionAsesor = context.sesion_logasesor.OrderByDescending(x => x.id) .FirstOrDefault(x => x.user_id == buscarTercero.asesor); if (ultimaSesionAsesor != null) { ultimaSesionAsesor.fecha_inicia = DateTime.Now; ultimaSesionAsesor.fecha_termina = DateTime.Now; } if (atendido == false) { // Se cambia el turno del asesor para que no se asigne a la siguiente persona prospecto porque perdio el turno por no atender al que se le asigno //if (ultimaSesionAsesor != null-------) //{ ultimaSesionAsesor.estado = 1; context.Entry(ultimaSesionAsesor).State = EntityState.Modified; //buscarTercero.aprobado = atendido; //} if (buscarTercero.recibido == true || buscarTercero.recibido == false && recibioNoti == true) { // Se cambia la alerta para que al rol anfitriona le aparezca un alerta para que asigne otro asesor al prospecto buscarTercero.recibido = true; buscarTercero.aprobado = false; buscarTercero.rechazado = true; buscarTercero.reasignado = true; //if (rol == 7) //{ // buscarTercero.cancelado = true; //} context.Entry(buscarTercero).State = EntityState.Modified; int terceroProspecto = buscarTercero.propecto; prospectos prospectoID = context.prospectos.FirstOrDefault(x => x.idtercero == terceroProspecto); int prospecto_ID = Convert.ToInt32(prospectoID.id); asignacion asignado = context.asignacion.OrderByDescending(x => x.id) .FirstOrDefault(x => x.idProspecto == prospecto_ID); asignado.estado = false; asignado.fechaFin = DateTime.Now; context.Entry(asignado).State = EntityState.Modified; int guardar = context.SaveChanges(); if (guardar > 0) { return(Json( new { success = false, error_message = "El usuario sera atendido por otro asesor" }, JsonRequestBehavior.AllowGet)); } } else { return(Json( new { success = false, error_message = "El usuario ya fue asignado a otro asesor por superar limite de tiempo ausente" }, JsonRequestBehavior.AllowGet)); } } } return(Json(new { success = false, error_message = "La notificacion no fue encontrada" }, JsonRequestBehavior.AllowGet)); }
public JsonResult AtenderUsuario(int?id, bool?atendido, int?idAlerta) { alertaasesor buscarAlerta = context.alertaasesor.FirstOrDefault(x => x.id == idAlerta); icb_terceros buscarTercero = context.icb_terceros.FirstOrDefault(x => x.tercero_id == buscarAlerta.propecto); if (buscarAlerta != null) { int usuario = Convert.ToInt32(Session["user_usuarioid"]); //para atender a un nuevo usuario todas las demas sesiones que tengan prospecto deben cerrarse sesion_logasesor ultimaSesionAsesor = context.sesion_logasesor.OrderByDescending(x => x.id) .FirstOrDefault(x => x.user_id == usuario); if (ultimaSesionAsesor != null) { ultimaSesionAsesor.fecha_inicia = DateTime.Now; ultimaSesionAsesor.fecha_termina = DateTime.Now; if (ultimaSesionAsesor.estado != 4) { ultimaSesionAsesor.estado = 4; } } #region atendido false if (atendido == false) { //creo una nueva sesion sesion_logasesor nuevaSesionAsesor = new sesion_logasesor { bodega = ultimaSesionAsesor.bodega, estado = 1, fecha_inicia = DateTime.Now, fecha_termina = DateTime.Now.AddMinutes(5), user_id = ultimaSesionAsesor.user_id, }; context.sesion_logasesor.Add(nuevaSesionAsesor); buscarAlerta.aprobado = atendido; context.Entry(ultimaSesionAsesor).State = EntityState.Modified; if (buscarAlerta.recibido == false) { int guardar = 0; // Se cambia la alerta para que al rol anfitriona le aparezca un alerta para que asigne otro asesor al prospecto buscarAlerta.recibido = true; buscarAlerta.reasignado = true; buscarAlerta.rechazado = true; context.Entry(buscarAlerta).State = EntityState.Modified; guardar = context.SaveChanges(); prospectos prospectoID = context.prospectos.FirstOrDefault(x => x.idtercero == buscarAlerta.propecto); int prospecto_ID = Convert.ToInt32(prospectoID.id); asignacion asignado = context.asignacion.OrderByDescending(x => x.id) .FirstOrDefault(x => x.idProspecto == prospecto_ID && x.idAsesor == usuario); asignado.estado = false; asignado.fechaFin = DateTime.Now; context.Entry(asignado).State = EntityState.Modified; guardar = context.SaveChanges(); if (guardar > 0) { return(Json( new { success = false, error_message = "El usuario sera atendido por otro asesor" }, JsonRequestBehavior.AllowGet)); } } else { return(Json( new { success = false, error_message = "El usuario ya fue asignado a otro asesor por superar limite de tiempo ausente" }, JsonRequestBehavior.AllowGet)); } } #endregion #region atendido true if (atendido == true) { if (buscarAlerta.recibido == false) { // if (ultimaSesionAsesor != null) { int idProspecto = (from p in context.prospectos join t in context.icb_terceros on p.idtercero equals t.tercero_id where p.idtercero == id select p.id).FirstOrDefault(); sesion_logasesor nuevaSesionAsesor = new sesion_logasesor { bodega = ultimaSesionAsesor.bodega, estado = 2, fecha_inicia = DateTime.Now, fecha_termina = DateTime.Now.AddMinutes(5), user_id = ultimaSesionAsesor.user_id, idprospecto = idProspecto, }; context.sesion_logasesor.Add(nuevaSesionAsesor); context.Entry(ultimaSesionAsesor).State = EntityState.Modified; prospectos prospecto = context.prospectos.FirstOrDefault(x => x.idtercero == buscarAlerta.propecto); int prospecto_ID = Convert.ToInt32(prospecto.id); asignacion asignado = context.asignacion.OrderByDescending(x => x.id) .FirstOrDefault(x => x.idProspecto == prospecto_ID && x.idAsesor == usuario); asignado.estado = true; //asignado.fechaFin = DateTime.Now; context.Entry(asignado).State = EntityState.Modified; buscarTercero.asesor_id = usuario; context.Entry(buscarTercero).State = EntityState.Modified; prospecto.asesor_id = usuario; context.Entry(prospecto).State = EntityState.Modified; context.SaveChanges(); } buscarAlerta.aprobado = atendido; buscarAlerta.recibido = atendido; context.Entry(buscarAlerta).State = EntityState.Modified; int guardar = context.SaveChanges(); if (guardar > 0) { return(Json(new { success = true }, JsonRequestBehavior.AllowGet)); } } else { if (ultimaSesionAsesor != null) { sesion_logasesor nuevaSesionAsesor = new sesion_logasesor { bodega = ultimaSesionAsesor.bodega, estado = 1, fecha_inicia = DateTime.Now, fecha_termina = DateTime.Now.AddMinutes(5), user_id = ultimaSesionAsesor.user_id, }; context.sesion_logasesor.Add(nuevaSesionAsesor); context.Entry(ultimaSesionAsesor).State = EntityState.Modified; context.SaveChanges(); } return(Json( new { success = false, error_message = "El usuario ya fue asignado a otro asesor por superar limite de tiempo ausente" }, JsonRequestBehavior.AllowGet)); } } #endregion } return(Json(new { success = false, error_message = "La notificacion no fue encontrada" }, JsonRequestBehavior.AllowGet)); }