public Respuesta Index([FromUri] int id,
                               [FromUri] string s, [FromUri] string s_type, [FromUri] string from,
                               [FromUri] string to, [FromUri] string u, [FromUri] string t)
        {
            Search search = new Search
            {
                search_value = s,
                search_type  = s_type,
                from         = from,
                to           = to,
                sesion       = new Token()
                {
                    usuario = u, token = t
                }
            };

            //determinar si el campo del search es por id



            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;


            respuesta.mensaje = Tools.VerifyToken(search.sesion, Tools.crm_rol_id);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            if (search.search_value != null && search.search_value != "" && search.search_type != null && search.search_type != "")
            {
                string id_value = Tools.GetEntityId(search.search_type, search.search_value);
                if (id_value != "0")
                {
                    search.search_value = id_value;
                }
                else if (search.search_type == "estatus")
                {
                    if (search.search_value == "Completada")
                    {
                        search.search_value = "1";
                    }
                    else
                    {
                        search.search_value = "0";
                    }
                }
            }
            //contacto
            Contacto contacto = new Contacto();

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var estrategia_id = (from estrategia in db.tbl_contactos_estrategias
                                         where estrategia.id_contacto == id
                                         select estrategia.id_estrategia).FirstOrDefault();

                    var estrategia_nombre = (from estrategia in db.tbl_estrategias
                                             where estrategia.id == estrategia_id
                                             select estrategia.nombre).FirstOrDefault();

                    tbl_contactos contacto_db = db.tbl_contactos.Find(id);

                    contacto.id_usuario_ejecutivo = contacto_db.id_usuario_ejecutivo;
                    contacto.id                = contacto_db.id;
                    contacto.nombre            = contacto_db.nombre;
                    contacto.telefono          = contacto_db.telefono;
                    contacto.email             = contacto_db.email;
                    contacto.segundo_nombre    = contacto_db.segundo_nombre;
                    contacto.apellido          = contacto_db.apellido;
                    contacto.segundo_apellido  = contacto_db.segundo_apellido;
                    contacto.colonia           = contacto_db.colonia;
                    contacto.direccion         = contacto_db.direccion;
                    contacto.entre_calles      = contacto_db.entre_calles;
                    contacto.estrategia        = estrategia_id.ToString();
                    contacto.estrategia_nombre = estrategia_nombre;
                    //contacto.fecha_nacimiento = contacto_actualizado.fecha_nacimiento;

                    /*contacto.sexo = contacto_db.sexo;
                     * contacto.cod_postal = contacto_db.cod_postal;
                     * contacto.ciudad.id = contacto_db.id_ciudad;
                     * var ciudad = (from c in db.tbl_ciudades
                     *            where c.id == contacto_db.id
                     *            select c).FirstOrDefault();
                     * contacto.ciudad.nombre = ciudad.nombre;
                     * contacto.colonia = contacto_db.colonia;
                     * contacto.direccion = contacto_db.direccion;
                     * contacto.entre_calles = contacto_db.entre_calles;
                     * contacto.clave_unica = contacto_db.clave_unica;
                     *
                     * var ocupacion = (from o in db.tbl_ocupaciones
                     *            where o.id == contacto_db.id
                     *            select o).FirstOrDefault();
                     * contacto.ocupacion.id = ocupacion.id;
                     * contacto.ocupacion.nombre = ocupacion.nombre;
                     * contacto.empresa = contacto_db.empresa;
                     * contacto.cod_postal_trabajo = contacto_db.cod_postal_trabajo;
                     * contacto.telefono_trabajo = contacto_db.telefono_trabajo;
                     * contacto.email_trabajo = contacto_db.email_trabajo;
                     * contacto.colonia_trabajo = contacto_db.colonia_trabajo;
                     * contacto.direccion_trabajo = contacto_db.direccion_trabajo;
                     * contacto.celular = contacto_db.celular;
                     * contacto.ciudad_trabajo.id = contacto_db.id_ciudad_trabajo;*/
                }//using
            }
            catch (Exception e)
            {
                respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e;
            }

            try
            {
                using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["APIDB"].ConnectionString))
                {
                    //agregar fecha registro a la base de datos
                    var query = "SELECT tbl_contactos_seguimientos.id, tbl_contactos_seguimientos.observaciones, tbl_contactos_seguimientos.fecha_registro, " +
                                "tbl_seguimientos.nombre as seguimiento, tbl_resultados.nombre as resultado, tbl_seguimientos.icon, tbl_contactos_seguimientos.fecha, tbl_contactos_seguimientos.fecha_fin " +
                                "FROM tbl_contactos_seguimientos inner join tbl_seguimientos on tbl_seguimientos.id = tbl_contactos_seguimientos.id_seguimiento " +
                                "inner join tbl_resultados on tbl_resultados.id = tbl_contactos_seguimientos.id_resultado where id_contacto = @id_contacto " +
                                "ORDER BY id desc OFFSET 0 ROWS FETCH NEXT 10  ROWS ONLY; ";

                    if ((search.search_value != null && search.search_value != "") || (search.from != null && search.from != ""))
                    {
                        query = "SELECT tbl_contactos_seguimientos.id, tbl_contactos_seguimientos.observaciones, tbl_contactos_seguimientos.fecha_registro, " +
                                "tbl_seguimientos.nombre as seguimiento, tbl_resultados.nombre as resultado , tbl_seguimientos.icon, tbl_contactos_seguimientos.fecha, tbl_contactos_seguimientos.fecha_fin " +
                                "FROM tbl_contactos_seguimientos inner join tbl_seguimientos on tbl_seguimientos.id = tbl_contactos_seguimientos.id_seguimiento " +
                                "inner join tbl_resultados on tbl_resultados.id = tbl_contactos_seguimientos.id_resultado where id_contacto = @id_contacto ";
                        if (search.search_value != null && search.search_value != "")
                        {
                            query += " and " + search.search_type + " like @" + search.search_type + " ";
                        }
                        if (search.from != null && search.from != "" && (search.to == null || search.to == ""))
                        {
                            query += " and fecha_registro >= @desde ";
                        }
                        if (search.from != null && search.from != "" && search.to != null && search.to != "")
                        {
                            query += " and (fecha_registro >= @desde and  fecha_registro <= @hasta) ";
                        }


                        query += " ORDER BY id desc OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY; ";
                    }


                    SqlCommand command = new SqlCommand(query, connection);
                    command.Parameters.AddWithValue("@id_contacto", id);
                    if (search.search_value != null && search.search_value != "")
                    {
                        command.Parameters.AddWithValue("@" + search.search_type, "%" + search.search_value + "%");
                    }
                    if (search.from != null && search.from != "" && (search.to == null || search.to == ""))
                    {
                        command.Parameters.AddWithValue("@desde", Tools.GetFullDateTimeObject(search.from + " 00:00:00"));
                    }
                    if (search.from != null && search.from != "" && search.to != null && search.to != "")
                    {
                        command.Parameters.AddWithValue("@desde", Tools.GetFullDateTimeObject(search.from + " 00:00:00"));
                        command.Parameters.AddWithValue("@hasta", Tools.GetFullDateTimeObject(search.to + " 23:59:59"));
                    }

                    connection.Open();
                    Seguimiento seguimiento;
                    contacto.seguimientos = new List <Seguimiento>();
                    SqlDataReader rows = command.ExecuteReader();
                    while (rows.Read())
                    {
                        seguimiento = new Seguimiento();
                        if (!rows.IsDBNull(0))
                        {
                            seguimiento.id = rows.GetInt32(0);
                        }
                        else
                        {
                            seguimiento.id = 0;
                        }
                        if (!rows.IsDBNull(1))
                        {
                            seguimiento.observaciones = rows.GetString(1);
                        }
                        else
                        {
                            seguimiento.observaciones = "";
                        }
                        if (!rows.IsDBNull(2))
                        {
                            seguimiento.fecha_registro = rows.GetDateTime(2).ToString();
                        }
                        else
                        {
                            seguimiento.fecha_registro = "";
                        }
                        if (!rows.IsDBNull(3))
                        {
                            seguimiento.tipo_seguimiento = rows.GetString(3);
                        }
                        else
                        {
                            seguimiento.tipo_seguimiento = "";
                        }
                        if (!rows.IsDBNull(4))
                        {
                            seguimiento.resultado = rows.GetString(4);
                        }
                        else
                        {
                            seguimiento.resultado = "";
                        }
                        if (!rows.IsDBNull(5))
                        {
                            seguimiento.icon = rows.GetString(5);
                        }
                        else
                        {
                            seguimiento.icon = "";
                        }
                        if (!rows.IsDBNull(6))
                        {
                            seguimiento.fecha = rows.GetDateTime(6).ToString();
                        }
                        else
                        {
                            seguimiento.fecha = "";
                        }
                        if (!rows.IsDBNull(7))
                        {
                            seguimiento.fecha = rows.GetDateTime(7).ToString();
                        }
                        else
                        {
                            seguimiento.fecha = "";
                        }

                        /* if (seguimiento != null)
                         * {
                         *    respuesta.mensaje = "exito" + contacto.apellido; return respuesta;
                         * }
                         * else { respuesta.mensaje = "error"; return respuesta; }*/
                        contacto.seguimientos.Add(seguimiento);
                    }
                    rows.Close();
                    connection.Close();
                    if (contacto.seguimientos.Count < 1)
                    {
                        respuesta.mensaje = "Error, no se encontraton seguimientos para este contacto."; return(respuesta);
                    }

                    using (MacEntities db = new MacEntities())
                    {
                        string estatus = "";
                        foreach (Seguimiento seguimiento_record in contacto.seguimientos)
                        {
                            tbl_contactos_tareas tarea_seg = (from seg in db.tbl_contactos_seguimientos
                                                              join ta_seg in db.tbl_tareas_seguimientos on seg.id equals ta_seg.id_seguimiento
                                                              join ta in db.tbl_contactos_tareas on ta_seg.id_tarea equals ta.id
                                                              where seg.id == seguimiento_record.id
                                                              select ta).FirstOrDefault();
                            seguimiento_record.tarea = new Tarea();
                            if (tarea_seg != null)
                            {
                                seguimiento_record.tarea.id        = tarea_seg.id;
                                seguimiento_record.tarea.id_evento = tarea_seg.id_evento;
                                seguimiento_record.tarea.tarea     = tarea_seg.tarea;
                                if (tarea_seg.estatus == false)
                                {
                                    estatus = "Pendiente";
                                }
                                else
                                {
                                    estatus = "Completada";
                                }
                                seguimiento_record.tarea.estatus        = estatus;
                                seguimiento_record.tarea.fecha_agenda   = tarea_seg.fecha_agenda.ToString();
                                seguimiento_record.tarea.fecha_registro = tarea_seg.fecha_registro.ToString();
                                seguimiento_record.tarea.fecha_fin      = tarea_seg.fecha_fin.ToString();
                            }
                        }
                    }//using mac entities


                    respuesta.mensaje = "Exito"; respuesta.resultado = 1; respuesta.data = contacto;
                } //using
            }     //try
            catch (DbEntityValidationException ex)
            {
                respuesta.mensaje = "Errores econtrados.";
                List <Error> error_list = new List <Error>();
                foreach (var errors in ex.EntityValidationErrors)
                {
                    foreach (var error in errors.ValidationErrors)
                    {
                        // get the error message
                        error_list.Add(new Error(error.ErrorMessage));
                    } //inner foreach
                }     //foreach
                respuesta.data = error_list;
            }         //DbEntityValidationException ex
            catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; }

            return(respuesta);
        }//index
Esempio n. 2
0
        public Respuesta Index([FromUri] int id, [FromUri] string from, [FromUri] string to,
                               [FromUri] string s, [FromUri] string s_type, [FromUri] string u, [FromUri] string t)
        {
            Search search = new Search
            {
                search_value = s,
                search_type  = s_type,
                from         = from,
                to           = to,
                sesion       = new Token()
                {
                    usuario = u, token = t
                }
            };
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            //respuesta.data = search; return respuesta;

            respuesta.mensaje = Tools.VerifyToken(search.sesion, Tools.crm_rol_id);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            //contacto
            Contacto contacto = new Contacto();

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    tbl_contactos contacto_db = db.tbl_contactos.Find(id);

                    contacto.id_usuario_ejecutivo = contacto_db.id_usuario_ejecutivo;
                    contacto.id               = contacto_db.id;
                    contacto.nombre           = contacto_db.nombre;
                    contacto.telefono         = contacto_db.telefono;
                    contacto.email            = contacto_db.email;
                    contacto.segundo_nombre   = contacto_db.segundo_nombre;
                    contacto.apellido         = contacto_db.apellido;
                    contacto.segundo_apellido = contacto_db.segundo_apellido;
                    contacto.colonia          = contacto_db.colonia;
                    contacto.direccion        = contacto_db.direccion;
                    contacto.entre_calles     = contacto_db.entre_calles;
                }//using
            }
            catch (Exception e)
            {
                respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e;
            }

            try
            {
                using (SqlConnection connection = new SqlConnection(Tools.connection))
                {
                    //agregar fecha registro a la base de datos
                    var query = "SELECT tbl_contactos_notas.id, tbl_contactos_notas.titulo, tbl_contactos_notas.contenido, " +
                                "tbl_contactos_notas.fecha_registro FROM tbl_contactos_notas" +
                                " where id_contacto = @id_contacto " +
                                "ORDER BY id desc OFFSET 0 ROWS FETCH NEXT 10  ROWS ONLY; ";

                    if (search.search_value != null && search.search_value != "")
                    {
                        query = "SELECT tbl_contactos_notas.id, tbl_contactos_notas.titulo, tbl_contactos_notas.contenido, " +
                                "tbl_contactos_notas.fecha_registro FROM tbl_contactos_notas" +
                                " where id_contacto = @id_contacto ";
                        if (search.search_value != null && search.search_value != "")
                        {
                            query += " and " + search.search_type + " like @" + search.search_type + " ";
                        }
                        if (search.from != null && search.from != "" && (search.to == null || search.to == ""))
                        {
                            query += " and fecha_registro >= @desde ";
                        }
                        if (search.from != null && search.from != "" && search.to != null && search.to != "")
                        {
                            query += " and (fecha_registro >= @desde and  fecha_registro <= @hasta) ";
                        }


                        query += " ORDER BY id desc OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY; ";
                    }
                    SqlCommand command = new SqlCommand(query, connection);
                    command.Parameters.AddWithValue("@id_contacto", id);
                    if (search.search_value != null && search.search_value != "")
                    {
                        command.Parameters.AddWithValue("@" + search.search_type, "%" + search.search_value + "%");
                    }
                    if (search.from != null && search.from != "" && (search.to == null || search.to == ""))
                    {
                        command.Parameters.AddWithValue("@desde", Tools.GetFullDateTimeObject(search.from + " 00:00:00"));
                    }
                    if (search.from != null && search.from != "" && search.to != null && search.to != "")
                    {
                        command.Parameters.AddWithValue("@desde", Tools.GetFullDateTimeObject(search.from + " 00:00:00"));
                        command.Parameters.AddWithValue("@hasta", Tools.GetFullDateTimeObject(search.to + " 23:59:59"));
                    }
                    connection.Open();
                    Nota nota;
                    contacto.notas = new List <Nota>();
                    SqlDataReader rows = command.ExecuteReader();
                    while (rows.Read())
                    {
                        nota = new Nota();
                        if (!rows.IsDBNull(0))
                        {
                            nota.id = rows.GetInt32(0);
                        }
                        else
                        {
                            nota.id = 0;
                        }
                        if (!rows.IsDBNull(1))
                        {
                            nota.titulo = rows.GetString(1);
                        }
                        else
                        {
                            nota.titulo = "";
                        }
                        if (!rows.IsDBNull(2))
                        {
                            nota.contenido = rows.GetString(2);
                        }
                        else
                        {
                            nota.contenido = "";
                        }
                        if (!rows.IsDBNull(3))
                        {
                            nota.fecha_registro = DateTime.Parse(rows.GetDateTime(3).ToString());
                        }
                        else
                        {
                            nota.fecha_registro = null;
                        }

                        /* if (seguimiento != null)
                         * {
                         *    respuesta.mensaje = "exito" + contacto.apellido; return respuesta;
                         * }
                         * else { respuesta.mensaje = "error"; return respuesta; }*/
                        contacto.notas.Add(nota);
                    }
                    rows.Close();
                    connection.Close();
                    if (contacto.notas.Count < 1)
                    {
                        respuesta.resultado = 2; respuesta.data = contacto;
                        respuesta.mensaje   = "Error, no se encontraron notas para este contacto."; return(respuesta);
                    }

                    respuesta.mensaje = "Exito"; respuesta.resultado = 1; respuesta.data = contacto;
                } //using
            }     //try
            catch (DbEntityValidationException ex)
            {
                respuesta.mensaje = "Errores econtrados.";
                List <Error> error_list = new List <Error>();
                foreach (var errors in ex.EntityValidationErrors)
                {
                    foreach (var error in errors.ValidationErrors)
                    {
                        // get the error message
                        error_list.Add(new Error(error.ErrorMessage));
                    } //inner foreach
                }     //foreach
                respuesta.data = error_list;
            }         //DbEntityValidationException ex
            catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; }

            return(respuesta);
        }//index
Esempio n. 3
0
        public Respuesta Index([FromUri] int id, [FromUri] string from, [FromUri] string to,
                               [FromUri] string s, [FromUri] string s_type, [FromUri] string u, [FromUri] string t)
        {
            Search search = new Search
            {
                search_value = s,
                search_type  = s_type,
                from         = from,
                to           = to,
                sesion       = new Token()
                {
                    usuario = u, token = t
                }
            };
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            //respuesta.data = search; return respuesta;

            respuesta.mensaje = Tools.VerifyToken(search.sesion, Tools.crm_rol_id);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            if (search.search_value != null && search.search_value != "" && search.search_type != null && search.search_type != "")
            {
                string id_value = Tools.GetEntityId(search.search_type, search.search_value);
                if (id_value != "0")
                {
                    search.search_value = id_value;
                }
                else if (search.search_type == "estatus")
                {
                    if (search.search_value == "Completada")
                    {
                        search.search_value = "1";
                    }
                    else
                    {
                        search.search_value = "0";
                    }
                }
            }

            //contacto
            Contacto contacto = new Contacto();

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    tbl_contactos contacto_db = db.tbl_contactos.Find(id);

                    contacto.id_usuario_ejecutivo = contacto_db.id_usuario_ejecutivo;
                    contacto.id               = contacto_db.id;
                    contacto.nombre           = contacto_db.nombre;
                    contacto.telefono         = contacto_db.telefono;
                    contacto.email            = contacto_db.email;
                    contacto.segundo_nombre   = contacto_db.segundo_nombre;
                    contacto.apellido         = contacto_db.apellido;
                    contacto.segundo_apellido = contacto_db.segundo_apellido;
                    contacto.colonia          = contacto_db.colonia;
                    contacto.direccion        = contacto_db.direccion;
                    contacto.entre_calles     = contacto_db.entre_calles;
                    //contacto.fecha_nacimiento = contacto_actualizado.fecha_nacimiento;

                    /*contacto.sexo = contacto_db.sexo;
                     * contacto.cod_postal = contacto_db.cod_postal;
                     * contacto.ciudad.id = contacto_db.id_ciudad;
                     * var ciudad = (from c in db.tbl_ciudades
                     *            where c.id == contacto_db.id
                     *            select c).FirstOrDefault();
                     * contacto.ciudad.nombre = ciudad.nombre;
                     * contacto.colonia = contacto_db.colonia;
                     * contacto.direccion = contacto_db.direccion;
                     * contacto.entre_calles = contacto_db.entre_calles;
                     * contacto.clave_unica = contacto_db.clave_unica;
                     *
                     * var ocupacion = (from o in db.tbl_ocupaciones
                     *            where o.id == contacto_db.id
                     *            select o).FirstOrDefault();
                     * contacto.ocupacion.id = ocupacion.id;
                     * contacto.ocupacion.nombre = ocupacion.nombre;
                     * contacto.empresa = contacto_db.empresa;
                     * contacto.cod_postal_trabajo = contacto_db.cod_postal_trabajo;
                     * contacto.telefono_trabajo = contacto_db.telefono_trabajo;
                     * contacto.email_trabajo = contacto_db.email_trabajo;
                     * contacto.colonia_trabajo = contacto_db.colonia_trabajo;
                     * contacto.direccion_trabajo = contacto_db.direccion_trabajo;
                     * contacto.celular = contacto_db.celular;
                     * contacto.ciudad_trabajo.id = contacto_db.id_ciudad_trabajo;*/
                }//using
            }
            catch (Exception e)
            {
                respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e;
            }

            try
            {
                using (SqlConnection connection = new SqlConnection(Tools.connection))
                {
                    //agregar fecha registro a la base de datos
                    var query = "SELECT tbl_contactos_tareas.id, tbl_contactos_tareas.tarea, tbl_contactos_tareas.estatus, " +
                                "tbl_contactos_tareas.evento_link, tbl_contactos_tareas.fecha_agenda, tbl_contactos_tareas.fecha_registro,tbl_contactos_tareas.fecha_fin FROM tbl_contactos_tareas " +
                                "where id_contacto = @id_contacto " +
                                "ORDER BY id desc OFFSET 0 ROWS FETCH NEXT 10  ROWS ONLY; ";

                    if (search.search_value != null && search.search_value != "")
                    {
                        query = "SELECT tbl_contactos_tareas.id, tbl_contactos_tareas.tarea, tbl_contactos_tareas.estatus, " +
                                "tbl_contactos_tareas.evento_link, tbl_contactos_tareas.fecha_agenda, tbl_contactos_tareas.fecha_registro  FROM tbl_contactos_tareas " +
                                "where id_contacto = @id_contacto ";

                        if (search.search_value != null && search.search_value != "")
                        {
                            query += " and " + search.search_type + " like @" + search.search_type + " ";
                        }
                        if (search.from != null && search.from != "" && (search.to == null || search.to == ""))
                        {
                            query += " and fecha_registro >= @desde ";
                        }
                        if (search.from != null && search.from != "" && search.to != null && search.to != "")
                        {
                            query += " and (fecha_registro >= @desde and  fecha_registro <= @hasta) ";
                        }


                        query += " ORDER BY id desc OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY; ";
                    }

                    SqlCommand command = new SqlCommand(query, connection);
                    command.Parameters.AddWithValue("@id_contacto", id);
                    if (search.search_value != null && search.search_value != "")
                    {
                        command.Parameters.AddWithValue("@" + search.search_type, "%" + search.search_value + "%");
                    }
                    if (search.from != null && search.from != "" && (search.to == null || search.to == ""))
                    {
                        command.Parameters.AddWithValue("@desde", Tools.GetFullDateTimeObject(search.from + " 00:00:00"));
                    }
                    if (search.from != null && search.from != "" && search.to != null && search.to != "")
                    {
                        command.Parameters.AddWithValue("@desde", Tools.GetFullDateTimeObject(search.from + " 00:00:00"));
                        command.Parameters.AddWithValue("@hasta", Tools.GetFullDateTimeObject(search.to + " 23:59:59"));
                    }
                    connection.Open();
                    Tarea tarea;
                    contacto.tareas = new List <Tarea>();
                    string        tarea_estatus = "";
                    SqlDataReader rows          = command.ExecuteReader();
                    while (rows.Read())
                    {
                        tarea_estatus = "Pendiente";
                        if (!rows.IsDBNull(2) && rows.GetBoolean(2))
                        {
                            tarea_estatus = "Completada";
                        }


                        tarea = new Tarea();
                        if (!rows.IsDBNull(0))
                        {
                            tarea.id = rows.GetInt32(0);
                        }
                        else
                        {
                            tarea.id = 0;
                        }
                        if (!rows.IsDBNull(1))
                        {
                            tarea.tarea = rows.GetString(1);
                        }
                        else
                        {
                            tarea.tarea = "";
                        }
                        tarea.estatus = tarea_estatus;
                        if (!rows.IsDBNull(3))
                        {
                            tarea.evento_link = rows.GetString(3);
                        }
                        else
                        {
                            tarea.evento_link = "";
                        }
                        tarea.estatus = tarea_estatus;
                        if (!rows.IsDBNull(4))
                        {
                            tarea.fecha_agenda = rows.GetDateTime(4).ToString();
                        }
                        else
                        {
                            tarea.fecha_agenda = "";
                        }
                        if (!rows.IsDBNull(5))
                        {
                            tarea.fecha_registro = rows.GetDateTime(5).ToString();
                        }
                        else
                        {
                            tarea.fecha_registro = "";
                        }
                        if (!rows.IsDBNull(6))
                        {
                            tarea.fecha_fin = rows.GetDateTime(6).ToString();
                        }
                        else
                        {
                            tarea.fecha_fin = "";
                        }

                        contacto.tareas.Add(tarea);
                    }
                    rows.Close();
                    connection.Close();
                    if (contacto.tareas.Count < 1)
                    {
                        respuesta.resultado = 2; respuesta.data = contacto;
                        respuesta.mensaje   = "Error, no se encontraton tareas para este contacto."; return(respuesta);
                    }

                    respuesta.mensaje = "Exito"; respuesta.resultado = 1; respuesta.data = contacto;
                } //using
            }     //try
            catch (DbEntityValidationException ex)
            {
                respuesta.mensaje = "Errores econtrados.";
                List <Error> error_list = new List <Error>();
                foreach (var errors in ex.EntityValidationErrors)
                {
                    foreach (var error in errors.ValidationErrors)
                    {
                        // get the error message
                        error_list.Add(new Error(error.ErrorMessage));
                    } //inner foreach
                }     //foreach
                respuesta.data = error_list;
            }         //DbEntityValidationException ex
            catch (Exception e) { respuesta.mensaje = "Error, intente mas tarde."; respuesta.data = e; }

            return(respuesta);
        }//index