コード例 #1
0
        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));
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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));
        }
コード例 #6
0
        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"));
                }
            }
        }
コード例 #7
0
        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));
        }
コード例 #8
0
        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));
        }