Пример #1
0
        public Respuesta store([FromBody] Nota nueva_nota, [FromUri] int id)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

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

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var id_contacto = (from c in db.tbl_contactos
                                       where c.id == id
                                       select c.id).FirstOrDefault();

                    if (id_contacto == 0)
                    {
                        respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta);
                    }

                    tbl_contactos_notas nota = new tbl_contactos_notas();
                    nota.id_contacto    = id_contacto;
                    nota.titulo         = "";
                    nota.contenido      = nueva_nota.contenido;
                    nota.fecha_registro = DateTime.Now;


                    db.tbl_contactos_notas.Add(nota);
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Hubo un error con el registro del seguimiento.";
                        return(respuesta);
                    }

                    respuesta.mensaje = "Nueva nota registrada exitosamente."; respuesta.resultado = 1;
                } //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);
        }//store
Пример #2
0
        public Respuesta ShowMain()
        {
            Respuesta respuesta = new Respuesta()
            {
                resultado = 0
            };

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    respuesta.data =
                        (from promocion in db.tbl_promociones
                         where promocion.es_principal == true
                         select new Promocion()
                    {
                        id = promocion.id,
                        nombre = promocion.nombre,
                        descripcion = promocion.descripcion,
                        imagen = promocion.imagen,
                        precio = promocion.precio,
                        fecha_desde = promocion.fecha_desde.ToString(),
                        fecha_fin = promocion.fecha_fin.ToString()
                    }).FirstOrDefault();

                    if (respuesta.data == null)
                    {
                        respuesta.resultado = -2; respuesta.mensaje = "Error, no se pudo consultar la promocion.";
                    }
                    else
                    {
                        respuesta.resultado = 1; respuesta.mensaje = "exito";
                    }
                }//using
            }
            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 ex)
            {
                respuesta.mensaje = "Error, intente mas tarde.";
                respuesta.data    = ex;
            }
            finally { }

            return(respuesta);
        }///show main
Пример #3
0
        public Respuesta update([FromUri] int id, [FromBody] Promocion promocion_data)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            if (id < 1 || promocion_data == null)
            {
                respuesta.mensaje = "No se recibieron datos."; return(respuesta);
            }
            respuesta.mensaje = Tools.VerifyToken(promocion_data.sesion, 29);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            try
            {
                using (MacEntities db = new MacEntities()) {
                    var estatus = true;
                    if (promocion_data.estatus == "Inactiva")
                    {
                    }

                    tbl_promociones promocion = db.tbl_promociones.Find(id);
                    if (promocion == null)
                    {
                        respuesta.mensaje = "No se encontro la promoción"; return(respuesta);
                    }
                    promocion.nombre      = promocion_data.nombre;
                    promocion.descripcion = promocion_data.descripcion;
                    promocion.precio      = promocion_data.precio;
                    promocion.imagen      = promocion_data.imagen;
                    if (promocion_data.estatus == "Inactiva")
                    {
                        promocion.fecha_anulacion = DateTime.Now; estatus = false;
                    }
                    promocion.estatus     = estatus;
                    promocion.fecha_desde = Tools.GetDateTimeObject(promocion_data.fecha_desde);
                    promocion.fecha_fin   = Tools.GetDateTimeObject(promocion_data.fecha_fin);

                    db.Entry(promocion).State = System.Data.Entity.EntityState.Modified;
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Error, no se pudo actualizar la promoción";
                    }
                    else
                    {
                        respuesta.mensaje = "La promoción fue actualizada exitosamente."; respuesta.resultado = 1;
                    }
                }
            }
            catch (Exception ex) { respuesta.mensaje = "Error, intente mas tarde.";
                                   //respuesta.data = ex;
            }
            finally { }

            return(respuesta);
        }//Update
        public Respuesta GetContactsByIdUser([FromUri] string USER)
        {
            Respuesta respuesta = new Respuesta();

            int id_usuario = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["APIDB"].ConnectionString))
                {
                    using (MacEntities db = new MacEntities())
                    {
                        id_usuario = (from user in db.tbl_usuarios
                                      where user.usuario == USER
                                      select user.id).FirstOrDefault();
                    }


                    connection.Open();

                    SqlTransaction transaction = connection.BeginTransaction();
                    SqlCommand     contacts    = new SqlCommand("select id from dbo.fnc_contactos(0," + id_usuario + ") ORDER BY id desc", connection, transaction);
                    contacts.CommandType = CommandType.Text;
                    List <Contacto> contactos = new List <Contacto>();
                    using (var rdr = contacts.ExecuteReader())
                    {
                        while (rdr.Read())
                        {
                            Contacto contacto = new Contacto {
                                id      = int.Parse(rdr[nameof(Contacto.id)].ToString()),
                                history = GetHistoryByContactId(int.Parse(rdr[nameof(Contacto.id)].ToString()))
                            };

                            contactos.Add(contacto);
                        }

                        rdr.Close();
                    }

                    respuesta.resultado = 1;
                    respuesta.mensaje   = "Operación exitosa";
                    respuesta.data      = contactos;
                }
            }
            catch (Exception ex)
            {
                respuesta.resultado = 0;
                respuesta.mensaje   = ex.Message;
                respuesta.data      = ex;
            }

            return(respuesta);
        }
Пример #5
0
        public Respuesta Index([FromUri] string u, [FromUri] string t)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;


            respuesta.mensaje = Tools.VerifyToken(new Token()
            {
                usuario = u, token = t
            }, 0);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    List <Entidad> monedas =
                        (from m in db.tbl_monedas
                         select new Entidad()
                    {
                        id = m.id, nombre = m.nombre
                    }).ToList();

                    if (monedas.Count < 1)
                    {
                        respuesta.mensaje = ""; return(respuesta);
                    }

                    respuesta.resultado = 1; respuesta.mensaje = "Exito";
                    respuesta.data      = monedas;
                }
            }//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
Пример #6
0
        public Respuesta suspend([FromUri] int id, [FromBody] Promocion promocion_data)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            respuesta.mensaje = Tools.VerifyToken(promocion_data.sesion, 29);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }
            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var id_usuario_anulacion = (from usuario in db.tbl_usuarios
                                                where usuario.usuario == promocion_data.sesion.usuario &&
                                                usuario.activo == true
                                                select usuario.id).FirstOrDefault();
                    if (id_usuario_anulacion == 0)
                    {
                        respuesta.mensaje = "El usuario no pudo ser encontrado."; return(respuesta);
                    }

                    tbl_promociones promocion = db.tbl_promociones.Find(id);
                    if (promocion == null)
                    {
                        respuesta.mensaje = "La prmocion no pudo ser encontrada."; return(respuesta);
                    }
                    promocion.id_usuario_anulacion = id_usuario_anulacion;
                    promocion.motivo_anulacion     = promocion_data.motivo_anulacion;
                    promocion.fecha_anulacion      = DateTime.Now;
                    promocion.estatus = false;

                    db.Entry(promocion).State = System.Data.Entity.EntityState.Modified;
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Error, no se pudo suspender la promoción";
                    }
                    else
                    {
                        respuesta.mensaje = "La promoción fue suspendida exitosamente."; respuesta.resultado = 1;
                    }
                }
            }
            catch (Exception ex) { respuesta.mensaje = "Error, intente mas tarde."; }
            finally { }

            return(respuesta);
        }//Update
Пример #7
0
        public Respuesta index()
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            /*string verification_result = Tools.VerifyToken(sesion, 1);
             * if (verification_result != "1")
             * { respuesta.mensaje = verification_result; return respuesta; }*/

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    ///tbl_promociones promociones = new tbl_promociones();
                    respuesta.data =
                        (from estrategia in db.tbl_estrategias
                         where  estrategia.anulado != true
                         select new Entidad()
                    {
                        id = estrategia.id,
                        nombre = estrategia.nombre,
                    }).ToList();
                    respuesta.resultado = 1; respuesta.mensaje = "exito";
                }//using
            }
            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 ex)
            {
                respuesta.mensaje = "Error, intente mas tarde.";
                respuesta.data    = ex;
            }
            finally { }

            return(respuesta);
        }
Пример #8
0
        public Respuesta indexEstados([FromUri] int id)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;


            try
            {
                using (MacEntities db = new MacEntities())
                {
                    respuesta.data =
                        (from e in db.tbl_estados
                         where e.id_pais == id
                         select new Entidad()
                    {
                        id = e.id,
                        nombre = e.nombre,
                    }).OrderBy(e => e.nombre).ToList();
                    respuesta.resultado = 1; respuesta.mensaje = "exito";
                }//using
            }
            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 ex)
            {
                respuesta.mensaje = "Error, intente mas tarde.";
                respuesta.data    = ex;
            }
            finally { }

            return(respuesta);
        }
        public Respuesta index2()
        {
            Respuesta respuesta = new Respuesta();

            respuesta.resultado = 0;

            using (MacEntities db = new MacEntities())
            {
                respuesta.data =
                    (from centro in db.tbl_centros
                     select new Entidad()
                {
                    nombre = centro.nombre,
                    id = 0
                }).ToList();
                respuesta.resultado = 1; respuesta.mensaje = "exito";
            }//using

            return(respuesta);
        }//index
Пример #10
0
        public Respuesta Index([FromUri] string u, [FromUri] string t)
        {
            Respuesta respuesta = new Respuesta();

            respuesta.resultado = 0;

            respuesta.mensaje = Tools.VerifyToken(new Token()
            {
                usuario = u, token = t
            }, 0);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }



            using (MacEntities db = new MacEntities())
            {
                List <Entidad> idiomas = (from i in db.tbl_idiomas
                                          where i.anulado != true
                                          orderby i.nombre
                                          select new Entidad()
                {
                    nombre = i.nombre,
                    id = i.id
                }).ToList();
                if (idiomas.Count < 1)
                {
                    respuesta.mensaje = "Error, no se encontraron cursos.";
                    return(respuesta);
                }
                respuesta.resultado = 1; respuesta.mensaje = "exito";
                respuesta.data      = idiomas;
            }//using

            return(respuesta);
        }//index
        public Respuesta Index()
        {
            Respuesta respuesta = new Respuesta();

            respuesta.resultado = 0;

            using (MacEntities db = new MacEntities())
            {
                List <CentroEscuela> centros =
                    (from centro in db.tbl_centros
                     join ciudad in db.tbl_ciudades on centro.id_ciudad equals ciudad.id
                     join estado in db.tbl_estados on ciudad.id equals estado.id
                     select new CentroEscuela()
                {
                    ciudad = new Ciudad()
                    {
                        nombre = ciudad.nombre,
                        id = 0,
                        estado = new Estado()
                        {
                            id = 0,
                            pais = new Entidad()
                            {
                                id = 0, nombre = ""
                            },
                            nombre = estado.nombre
                        }
                    },
                    nombre = centro.nombre,
                    id = 0
                }).ToList();
                respuesta.data = centros; respuesta.resultado = 1; respuesta.mensaje = "exito";
            }//using

            return(respuesta);
        }//index
        public Respuesta update([FromBody] Seguimiento seguimiento_actualizado,
                                [FromUri] int id, [FromUri] int seguimiento_id)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

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

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    //departamento id

                    var tipo_seguimiento_id = (from s in db.tbl_seguimientos
                                               where s.nombre == seguimiento_actualizado.tipo_seguimiento
                                               select s.id).FirstOrDefault();

                    if (tipo_seguimiento_id == 0)
                    {
                        respuesta.mensaje = "Error, tipo de seguimiento no encontrado."; return(respuesta);
                    }

                    //departamento id

                    var resultado_id = (from r in db.tbl_resultados
                                        where r.nombre == seguimiento_actualizado.resultado
                                        select r.id).FirstOrDefault();

                    if (resultado_id == 0)
                    {
                        respuesta.mensaje = "Error, tipo de resultado no encontrado."; return(respuesta);
                    }

                    var id_contacto = (from c in db.tbl_contactos
                                       where c.id == id
                                       select c.id).FirstOrDefault();

                    if (id_contacto == 0)
                    {
                        respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta);
                    }

                    tbl_contactos_seguimientos seguimiento = db.tbl_contactos_seguimientos.Find(id);
                    if (seguimiento == null)
                    {
                        respuesta.mensaje = "Error, seguimiento no encontrado."; return(respuesta);
                    }
                    seguimiento.id_seguimiento = tipo_seguimiento_id;
                    seguimiento.id_resultado   = resultado_id;
                    seguimiento.id_contacto    = id_contacto;
                    seguimiento.observaciones  = seguimiento_actualizado.observaciones;
                    seguimiento.fecha          = Tools.GetFullDateTimeObject(seguimiento_actualizado.fecha);

                    db.Entry(seguimiento).State = System.Data.Entity.EntityState.Modified;
                    db.tbl_contactos_seguimientos.Add(seguimiento);
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Hubo un error con la actualizacion del seguimiento.";
                        return(respuesta);
                    }

                    respuesta.mensaje = "Seguimiento actualizado exitosamente."; respuesta.resultado = 1;
                } //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);
        }//update
        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
Пример #14
0
        public Respuesta Index([FromUri] string u, [FromUri] string t)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;


            respuesta.mensaje = Tools.VerifyToken(new Token()
            {
                usuario = u, token = t
            }, 0);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            int id_usuario = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(Tools.connection))
                {
                    using (MacEntities db = new MacEntities())
                    {
                        id_usuario =
                            (from us in db.tbl_usuarios
                             where us.usuario == u
                             select us.id).FirstOrDefault();

                        if (id_usuario == 0)
                        {
                            respuesta.mensaje = "Error, usuario no encontrado."; return(respuesta);
                        }
                    }

                    //agregar fecha registro a la base de datos
                    var query = "select * from cns_cursos(@id_usuario)";

                    /* if (search.search_value != null && search.search_value != "")
                     * {
                     *   query = "SELECT id, nombre, email, telefono, fecha_registro FROM tbl_contactos " +
                     *    " WHERE " + search.search_type + " like @" + search.search_type + " ORDER BY id desc OFFSET 0 ROWS FETCH NEXT 10  ROWS ONLY;";
                     * }*/
                    SqlCommand command = new SqlCommand(query, connection);
                    command.CommandTimeout = 180;
                    command.Parameters.AddWithValue("@id_usuario", id_usuario);

                    /*if (search.search_value != null && search.search_value != "")
                     * { command.Parameters.AddWithValue("@" + search.search_type, "%" + search.search_value + "%"); }
                     */

                    connection.Open();

                    SqlDataReader rows    = command.ExecuteReader();
                    List <Curso>  courses = new List <Curso>();
                    Curso         curso;
                    while (rows.Read())
                    {
                        curso = new Curso();
                        if (!rows.IsDBNull(0))
                        {
                            curso.id = rows.GetInt32(0);
                        }
                        else
                        {
                            curso.id = 0;
                        }
                        if (!rows.IsDBNull(1))
                        {
                            curso.centro = rows.GetString(1);
                        }
                        else
                        {
                            curso.centro = "";
                        }
                        if (!rows.IsDBNull(2))
                        {
                            curso.modalidad = rows.GetString(2);
                        }
                        else
                        {
                            curso.modalidad = "";
                        }
                        if (!rows.IsDBNull(3))
                        {
                            curso.induccion = rows.GetString(3);
                        }
                        else
                        {
                            curso.induccion = "";
                        }
                        if (!rows.IsDBNull(4))
                        {
                            curso.hora = rows.GetString(4);
                        }
                        else
                        {
                            curso.hora = "";
                        }
                        if (!rows.IsDBNull(5))
                        {
                            curso.proxima = rows.GetString(5);
                        }
                        else
                        {
                            curso.proxima = "";
                        }
                        if (!rows.IsDBNull(6))
                        {
                            curso.ultima = rows.GetString(6);
                        }
                        else
                        {
                            curso.ultima = "";
                        }
                        if (!rows.IsDBNull(7))
                        {
                            curso.evaluacion = rows.GetString(7);
                        }
                        else
                        {
                            curso.evaluacion = "";
                        }
                        if (!rows.IsDBNull(8))
                        {
                            curso.resultado = rows.GetDouble(8);
                        }
                        else
                        {
                            curso.resultado = 0;
                        }
                        if (!rows.IsDBNull(9))
                        {
                            curso.horas = rows.GetInt32(9);
                        }
                        else
                        {
                            curso.horas = 0;
                        }
                        if (!rows.IsDBNull(10))
                        {
                            curso.nivel = rows.GetString(10);
                        }
                        else
                        {
                            curso.nivel = "";
                        }
                        if (!rows.IsDBNull(11))
                        {
                            curso.nombre = rows.GetString(11);
                        }
                        else
                        {
                            curso.nombre = "";
                        }
                        courses.Add(curso);
                    }
                    rows.Close();
                    connection.Close();
                    if (courses.Count < 1)
                    {
                        respuesta.mensaje = "Error, no se encontraron cursos.";
                        return(respuesta);
                    }

                    respuesta.mensaje   = "Exito";
                    respuesta.resultado = 1;
                    respuesta.data      = courses;
                } //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
        public Respuesta logout([FromBody] Token sesion)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var usuario = (from u in db.tbl_usuarios where u.usuario == sesion.usuario
                                   select u).FirstOrDefault();
                    if (usuario == null)
                    {
                        respuesta.mensaje = "Usuario no encontrado."; return(respuesta);
                    }

                    var encrypted_token = Tools.GetSHA256(sesion.token);
                    var token           = (from t in db.tbl_api_tokens
                                           where t.id_usuario == usuario.id &&
                                           t.estatus == 1 && t.token == encrypted_token
                                           select t).FirstOrDefault();

                    if (token == null)
                    {
                        respuesta.mensaje   = "Su sesión no pudo ser cerrada. Por seguridad se cerraron las sesiones abiertas.";
                        respuesta.resultado = -1;
                        var tokens = (from t in db.tbl_api_tokens
                                      where t.id_usuario == usuario.id &&
                                      t.estatus == 1
                                      select t).ToList();

                        foreach (tbl_api_tokens record in tokens)
                        {
                            record.estatus         = 0;
                            db.Entry(record).State = System.Data.Entity.EntityState.Modified;
                            if (db.SaveChanges() < 1)
                            {
                                respuesta.mensaje = "Hubo un error cerrando sesiones";
                            }
                        }
                    }//if token==null
                    else
                    {
                        token.estatus         = 0;
                        db.Entry(token).State = System.Data.Entity.EntityState.Modified;
                        if (db.SaveChanges() < 1)
                        {
                            respuesta.mensaje = "Hubo un error al cerrar su sesión"; return(respuesta);
                        }

                        respuesta.mensaje = "Su sesión fue cerrada exitosamente."; respuesta.resultado = 1;
                    }
                } //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);
        }//logout
Пример #16
0
        public Respuesta store([FromBody] Promocion promocion_data)
        {
            Respuesta respuesta = new Respuesta()
            {
                resultado = 0
            };

            if (promocion_data == null)
            {
                respuesta.mensaje = "No se recibieron datos"; return(respuesta);
            }
            respuesta.mensaje = Tools.VerifyToken(promocion_data.sesion, 29);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    tbl_promociones promocion = new tbl_promociones();

                    promocion.nombre      = promocion_data.nombre;
                    promocion.descripcion = promocion_data.descripcion;

                    promocion.precio = promocion_data.precio;

                    promocion.imagen      = promocion_data.imagen;
                    promocion.fecha_desde = Tools.GetDateTimeObject(promocion_data.fecha_desde);
                    promocion.fecha_fin   = Tools.GetDateTimeObject(promocion_data.fecha_fin);

                    db.tbl_promociones.Add(promocion);
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Error, no se pudo agregar la promoción, intente más tarde.";
                    }
                    else
                    {
                        respuesta.resultado = 1;
                        respuesta.mensaje   = "La promoción fue agregada exitosamente.";
                    }
                }//using
            }
            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 ex)
            {
                respuesta.mensaje = "Error, intente mas tarde.";
                respuesta.data    = ex;
            }
            finally { }

            return(respuesta);
        }///store
Пример #17
0
        public Respuesta update([FromBody] Nota nota_actualizada,
                                [FromUri] int id, [FromUri] int nota_id)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

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

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var id_contacto = (from c in db.tbl_contactos
                                       where c.id == id
                                       select c.id).FirstOrDefault();

                    if (id_contacto == 0)
                    {
                        respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta);
                    }

                    tbl_contactos_notas nota = db.tbl_contactos_notas.Find(nota_id);
                    if (nota == null)
                    {
                        respuesta.mensaje = "Error, nota no encontrada."; return(respuesta);
                    }

                    nota.titulo    = "";
                    nota.contenido = nota_actualizada.contenido;

                    db.Entry(nota).State = System.Data.Entity.EntityState.Modified;

                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Hubo un error con la actualizacion de la nota.";
                        return(respuesta);
                    }

                    respuesta.mensaje = "Nota actualizada exitosamente."; respuesta.resultado = 1;
                } //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);
        }//update
Пример #18
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
        public Respuesta CentroCapacitacionIndex([FromUri] string u, [FromUri] string t,
                                                 [FromUri] int modalidad)
        {
            Respuesta respuesta = new Respuesta();

            respuesta.resultado = 0;

            respuesta.mensaje = Tools.VerifyToken(new Token()
            {
                usuario = u, token = t
            }, 0);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }



            using (MacEntities db = new MacEntities())
            {
                var id_usuario =
                    (from usuario in db.tbl_usuarios
                     where usuario.usuario == u
                     select usuario.id).FirstOrDefault();

                if (id_usuario == 0)
                {
                    respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta);
                }

                List <Entidad> centros;
                if (modalidad == 1)
                {
                    centros = (from centro in db.tbl_centros

                               where centro.nombre != "online"
                               select new Entidad()
                    {
                        nombre = centro.nombre,
                        id = centro.id
                    }).ToList();
                }
                else if (modalidad == 2)
                {
                    centros = (from centro in db.tbl_centros

                               where centro.nombre.Contains("online")
                               select new Entidad()
                    {
                        nombre = centro.nombre,
                        id = centro.id
                    }).ToList();

                    if (centros.Count < 1)
                    {
                        respuesta.mensaje = "Error, tiene el centro online asignado, no se puede registrar la modalidad online.";
                        return(respuesta);
                    }
                }
                else
                {
                    centros = (from centro in db.tbl_centros
                               join usuario_centro in db.tbl_usuarios_centros
                               on centro.id equals usuario_centro.id_centro
                               where usuario_centro.id_usuario == id_usuario
                               select new Entidad()
                    {
                        nombre = centro.nombre,
                        id = centro.id
                    }).ToList();
                }


                if (centros.Count < 1)
                {
                    respuesta.mensaje = "Error, no se encontraron centros para este usuario.";
                    return(respuesta);
                }
                respuesta.resultado = 1; respuesta.mensaje = "exito";
                respuesta.data      = centros;
            }//using

            return(respuesta);
        }//index
        public Respuesta Login([FromBody] Usuario usuario_login)
        {
            int       login_type = 2;
            Respuesta respuesta  = new Respuesta(); respuesta.resultado = 0;

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var usuario = (from u in db.tbl_usuarios
                                   where u.usuario == usuario_login.nombre_usuario
                                   select u).FirstOrDefault();
                    if (usuario == null)
                    {
                        respuesta.mensaje = "Usuario no encontrado."; return(respuesta);
                    }
                    if (!(bool)usuario.activo)
                    {
                        respuesta.mensaje = "Usuario inactivo."; return(respuesta);
                    }

                    Token api_token = new Token()
                    {
                        login_clave = false
                    };
                    //var clave2 = Tools.GetSHA256(usuario_login.clave);
                    var clave2 = usuario_login.clave;
                    if (usuario.clave != clave2)
                    {
                        if (usuario.clave == usuario_login.clave && usuario.clave2 == null)
                        {
                            api_token.login_clave = false;
                        }
                        else
                        {
                            respuesta.mensaje = "Contraseña incorrecta."; return(respuesta);
                        }
                    }



                    var token = (from t in db.tbl_api_tokens
                                 where t.id_usuario == usuario.id &&
                                 t.estatus == 1
                                 select t).FirstOrDefault();

                    if (token != null)
                    {
                        token.estatus         = 0;
                        db.Entry(token).State = System.Data.Entity.EntityState.Modified;
                        if (db.SaveChanges() < 1)
                        {
                            respuesta.mensaje = "Su sesión previa no pudo ser cerrada."; return(respuesta);
                        }
                    }//if token !=null
                    string         token_string = Guid.NewGuid().ToString();
                    tbl_api_tokens new_token    = new tbl_api_tokens()
                    {
                        id_usuario     = usuario.id,
                        estatus        = 1,
                        nombre         = usuario.nombre.ToString(),
                        apellido       = usuario.apellido.ToString(),
                        fecha_registro = DateTime.Now,
                        id_centro      = usuario.id_centro,
                        token          = Tools.GetSHA256(token_string)
                    };

                    db.tbl_api_tokens.Add(new_token);
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "No se pudo iniciar una nueva sesión.";
                        return(respuesta);
                    }
                    api_token.rol        = (int)usuario.id_rol;
                    api_token.usuario    = usuario.usuario;
                    api_token.id_usuario = (int)new_token.id_usuario;
                    api_token.nombre     = usuario.nombre;
                    api_token.apellido   = usuario.apellido;
                    api_token.token      = token_string;
                    api_token.id_centro  = (int)usuario.id_centro;

                    respuesta.mensaje   = "Inicio de sesión exitoso.";
                    respuesta.resultado = 1;
                    respuesta.data      = api_token;
                } //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; }



            try
            {
                using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["APIDB"].ConnectionString))
                {
                    connection.Open();
                    SqlTransaction transaction = connection.BeginTransaction();
                    SqlCommand     cmd         = new SqlCommand($"select * from tbl_usuarios where nombre={usuario_login.nombre };", connection, transaction);
                    cmd.CommandType = CommandType.Text;

                    //List<Template> templates = new List<Template>();
                    Template templateData = new Template();

                    using (var rdr = cmd.ExecuteReader())
                    {
                        rdr.Read();

                        //templateData = new Template
                        //{
                        //    id = GetNullable<int>(rdr, nameof(templateData.id)),
                        //    name = rdr[nameof(templateData.name)].ToString(),
                        //    description = rdr[nameof(templateData.description)].ToString(),
                        //    date_reg = GetNullable<DateTime>(rdr, nameof(templateData.date_reg)),
                        //    user_reg = rdr[nameof(templateData.user_reg)].ToString(),
                        //    status = GetNullable<int>(rdr, nameof(templateData.status)),
                        //    url = rdr[nameof(templateData.url)].ToString(),
                        //};

                        //templates.Add(templateData);


                        rdr.Close();
                        respuesta.resultado = 1;
                        respuesta.mensaje   = "Operación exitosa";

                        respuesta.data = templateData;
                    }
                }
            }
            catch (Exception ex)
            {
                respuesta.resultado = 0;
                respuesta.mensaje   = ex.Message;
                respuesta.data      = ex;
            }

            return(respuesta);
        }//login
Пример #21
0
        public Respuesta IndexIncidencias([FromUri] string u, [FromUri] string t)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;


            respuesta.mensaje = Tools.VerifyToken(new Token()
            {
                usuario = u, token = t
            }, 0);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            int id_usuario = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(Tools.connection))
                {
                    using (MacEntities db = new MacEntities())
                    {
                        id_usuario =
                            (from us in db.tbl_usuarios
                             where us.usuario == u
                             select us.id).FirstOrDefault();

                        if (id_usuario == 0)
                        {
                            respuesta.mensaje = "Error, usuario no encontrado."; return(respuesta);
                        }
                    }



                    SqlCommand command = new SqlCommand("select * from cns_incidencias(@id_usuario)", connection);
                    command.CommandTimeout = 180;
                    command.Parameters.AddWithValue("@id_usuario", id_usuario);
                    connection.Open();

                    SqlDataReader     rows        = command.ExecuteReader();
                    List <Incidencia> incidencias = new List <Incidencia>();
                    Incidencia        incidencia;
                    while (rows.Read())
                    {
                        incidencia = new Incidencia();
                        if (!rows.IsDBNull(0))
                        {
                            incidencia.id = rows.GetInt32(0);
                        }
                        else
                        {
                            incidencia.id = 0;
                        }
                        if (!rows.IsDBNull(1))
                        {
                            incidencia.numero = rows.GetString(1);
                        }
                        else
                        {
                            incidencia.numero = "";
                        }
                        if (!rows.IsDBNull(2))
                        {
                            incidencia.fecha = rows.GetString(2);
                        }
                        else
                        {
                            incidencia.fecha = "";
                        }
                        if (!rows.IsDBNull(3))
                        {
                            incidencia.centro = rows.GetString(3);
                        }
                        else
                        {
                            incidencia.centro = "";
                        }
                        if (!rows.IsDBNull(4))
                        {
                            incidencia.tipo = rows.GetString(4);
                        }
                        else
                        {
                            incidencia.tipo = "";
                        }
                        if (!rows.IsDBNull(5))
                        {
                            incidencia.descripcion = rows.GetString(5);
                        }
                        else
                        {
                            incidencia.descripcion = "";
                        }
                        if (!rows.IsDBNull(6))
                        {
                            incidencia.estatus = rows.GetString(6);
                        }
                        else
                        {
                            incidencia.estatus = "";
                        }
                        incidencias.Add(incidencia);
                    }
                    rows.Close();
                    connection.Close();
                    if (incidencias.Count < 1)
                    {
                        respuesta.mensaje = "No se encontraton incidencias."; return(respuesta);
                    }

                    respuesta.mensaje = "Exito"; respuesta.resultado = 1;
                    respuesta.data    = incidencias;
                } //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
Пример #22
0
        public Respuesta IngresarIncidencia([FromUri] string u, [FromUri] string t,
                                            [FromBody] Incidencia nueva_incidencia)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            respuesta.mensaje = Tools.VerifyToken(new Token()
            {
                usuario = u, token = t
            }, 0);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            tbl_usuarios usuario = null;

            try
            {
                using (SqlConnection connection = new SqlConnection(Tools.connection))
                {
                    using (MacEntities db = new MacEntities())
                    {
                        usuario =
                            (from us in db.tbl_usuarios
                             where us.usuario == u
                             select us).FirstOrDefault();

                        if (usuario == null)
                        {
                            respuesta.mensaje = "Error, usuario no encontrado."; return(respuesta);
                        }
                    }

                    SqlCommand command = new SqlCommand("ins_incidencias_web", connection);

                    command.Parameters.AddWithValue("@id_centro", usuario.id_centro);
                    command.Parameters.AddWithValue("@tipo", nueva_incidencia.tipo);
                    command.Parameters.AddWithValue("@id_departamento", 0);
                    command.Parameters.AddWithValue("@estatus", 0);
                    command.Parameters.AddWithValue("@descripcion", nueva_incidencia.descripcion);
                    command.Parameters.AddWithValue("@id_usuario", usuario.id);
                    command.CommandType    = CommandType.StoredProcedure;
                    command.CommandTimeout = 180;
                    connection.Open();
                    var affected_rows = command.ExecuteNonQuery();
                    connection.Close();

                    /*if (affected_rows<1) {
                     *  respuesta.mensaje = "Hubo un error al registrar su solicitud.";
                     *  return respuesta;
                     * }*/

                    respuesta.mensaje = "Su solicitud fue registrada exitosamente."; respuesta.resultado = 1;
                } //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);
        }//store
        public Respuesta login([FromBody] Usuario usuario_login)
        {
            int       login_type = 2;
            Respuesta respuesta  = new Respuesta(); respuesta.resultado = 0;

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var usuario = (from u in db.tbl_usuarios
                                   where u.usuario == usuario_login.nombre_usuario
                                   select u).FirstOrDefault();
                    if (usuario == null)
                    {
                        respuesta.mensaje = "Usuario no encontrado."; return(respuesta);
                    }
                    if (!(bool)usuario.activo)
                    {
                        respuesta.mensaje = "Usuario inactivo."; return(respuesta);
                    }

                    Token api_token = new Token()
                    {
                        login_clave = false
                    };
                    //var clave2 = Tools.GetSHA256(usuario_login.clave);
                    var clave2 = usuario_login.clave;
                    if (usuario.clave != clave2)
                    {
                        if (usuario.clave == usuario_login.clave && usuario.clave2 == null)
                        {
                            api_token.login_clave = false;
                        }
                        else
                        {
                            respuesta.mensaje = "Contraseña incorrecta."; return(respuesta);
                        }
                    }



                    var token = (from t in db.tbl_api_tokens
                                 where t.id_usuario == usuario.id &&
                                 t.estatus == 1
                                 select t).FirstOrDefault();

                    if (token != null)
                    {
                        token.estatus         = 0;
                        db.Entry(token).State = System.Data.Entity.EntityState.Modified;
                        if (db.SaveChanges() < 1)
                        {
                            respuesta.mensaje = "Su sesión previa no pudo ser cerrada."; return(respuesta);
                        }
                    }//if token !=null
                    string         token_string = Guid.NewGuid().ToString();
                    tbl_api_tokens new_token    = new tbl_api_tokens()
                    {
                        id_usuario     = usuario.id,
                        estatus        = 1,
                        nombre         = usuario.nombre.ToString(),
                        apellido       = usuario.apellido.ToString(),
                        fecha_registro = DateTime.Now,
                        id_centro      = usuario.id_centro,
                        token          = Tools.GetSHA256(token_string)
                    };

                    db.tbl_api_tokens.Add(new_token);
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "No se pudo iniciar una nueva sesión.";
                        return(respuesta);
                    }
                    api_token.rol        = (int)usuario.id_rol;
                    api_token.usuario    = usuario.usuario;
                    api_token.id_usuario = (int)new_token.id_usuario;
                    api_token.nombre     = usuario.nombre;
                    api_token.apellido   = usuario.apellido;
                    api_token.token      = token_string;
                    api_token.id_centro  = (int)usuario.id_centro;


                    var calendario =
                        (from ca in db.tbl_usuarios_calendarios
                         where ca.id_usuario == usuario.id
                         select ca).FirstOrDefault();

                    if (calendario.url_calendario == null || calendario.url_calendario == "" || calendario == null)
                    {
                        api_token.calendar = false;
                    }
                    else
                    {
                        api_token.calendar = true;
                    }


                    respuesta.mensaje   = "Inicio de sesión exitoso.";
                    respuesta.resultado = 1;
                    respuesta.data      = api_token;
                } //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);
        }//login
Пример #24
0
        public Respuesta index([FromUri] int id)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            /*string verification_result = Tools.VerifyToken(sesion, 1);
             * if (verification_result != "1")
             * { respuesta.mensaje = verification_result; return respuesta; }*/

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var tipo_seguimiento_id = (from s in db.tbl_seguimientos
                                               where s.id == id
                                               select s.id).FirstOrDefault();

                    if (tipo_seguimiento_id == 0)
                    {
                        respuesta.mensaje = "Error, tipo de seguimiento no encontrado."; return(respuesta);
                    }
                }
                using (SqlConnection connection = new SqlConnection(Tools.connection))
                {
                    var query = "select tbl_resultados.id, tbl_resultados.nombre from tbl_resultados inner join " +
                                "tbl_seguimientos_resultados on tbl_seguimientos_resultados.id_resultado = tbl_resultados.id inner join " +
                                "tbl_seguimientos on tbl_seguimientos.id = tbl_seguimientos_resultados.id_seguimiento where tbl_seguimientos.id = @id";
                    SqlCommand command = new SqlCommand(query, connection);
                    command.Parameters.AddWithValue("@id", id);


                    connection.Open();
                    List <Entidad> lista_resultado = new List <Entidad>();
                    Entidad        resultado;
                    SqlDataReader  rows = command.ExecuteReader();
                    while (rows.Read())
                    {
                        resultado = new Entidad();
                        if (!rows.IsDBNull(0))
                        {
                            resultado.id = rows.GetInt32(0);
                        }
                        else
                        {
                            resultado.id = 0;
                        }
                        if (!rows.IsDBNull(1))
                        {
                            resultado.nombre = rows.GetString(1);
                        }
                        else
                        {
                            resultado.nombre = "";
                        }

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

                    respuesta.mensaje = "Exito"; respuesta.resultado = 1; respuesta.data = lista_resultado;
                }//using
            }
            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 ex)
            {
                respuesta.mensaje = "Error, intente mas tarde.";
                respuesta.data    = ex;
            }
            finally { }

            return(respuesta);
        }
Пример #25
0
        public Respuesta store([FromUri] int id_centro, [FromUri] int id_alumno)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;


            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var centro = (from c in db.tbl_centros
                                  where c.id == id_centro
                                  select c).FirstOrDefault();

                    if (centro == null)
                    {
                        respuesta.mensaje = "Error, centro no encontrado."; return(respuesta);
                    }


                    //usuario id

                    var usuario = (from u in db.tbl_usuarios
                                   where u.id_alumno == id_alumno
                                   select u).FirstOrDefault();

                    if (usuario == null)
                    {
                        respuesta.mensaje = "Error, alumno no encontrado."; return(respuesta);
                    }



                    tbl_operaciones operacion = new tbl_operaciones();
                    operacion.id_accion           = 2;
                    operacion.id_usuario_registro = 0;
                    operacion.fecha_registro      = DateTime.Now;
                    operacion.id_modulo           = 0;
                    operacion.resultado           = true;
                    operacion.comentario          = "El Alumno " + usuario.nombre + " " + usuario.apellido +
                                                    " ingreso al centro " + centro.nombre + ",  el día " + DateTime.Now.ToString() + ".";


                    db.tbl_operaciones.Add(operacion);
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Hubo un error con el registro de la operacion.";
                        return(respuesta);
                    }

                    respuesta.mensaje = operacion.comentario; respuesta.resultado = 1;
                } //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);
        }//store
Пример #26
0
        public Respuesta ActualizarHuella([FromUri] int id_empleado, [FromBody] Empleado empleado_actualizado)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

            byte[] huella;
            try
            {
                huella = Convert.FromBase64String(empleado_actualizado.huella);
            }
            catch (Exception e)
            {
                respuesta.mensaje = "Error, la huella es invalida."; respuesta.data = e;
                return(respuesta);
            }

            //respuesta.data = huella;
            //respuesta.mensaje = "si logro decodificar"; return respuesta;

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var empleado =
                        (from e in db.tbl_empleados
                         where e.id == id_empleado
                         select e).FirstOrDefault();

                    if (empleado == null)
                    {
                        respuesta.mensaje = "Error, empleado no encontrado."; return(respuesta);
                    }

                    empleado.huella = huella;

                    db.Entry(empleado).State = System.Data.Entity.EntityState.Modified;
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Hubo un error con la actualización de la huella del empleado.";
                        return(respuesta);
                    }
                }
                respuesta.resultado = 1;
                respuesta.mensaje   = "Huella actualizada.";
            }//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);
        }//update huella
Пример #27
0
        public Respuesta update([FromBody] Tarea tarea_actualizada,
                                [FromUri] int id, [FromUri] int tarea_id)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;

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

            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var id_contacto = (from c in db.tbl_contactos
                                       where c.id == id
                                       select c.id).FirstOrDefault();

                    if (id_contacto == 0)
                    {
                        respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta);
                    }

                    tbl_contactos_tareas tarea = db.tbl_contactos_tareas.Find(tarea_id);
                    if (tarea == null)
                    {
                        respuesta.mensaje = "Error, tarea no encontrada."; return(respuesta);
                    }
                    var estatus = false;

                    if (tarea_actualizada.solo_estado != null && tarea_actualizada.solo_estado == "1")
                    {
                        var primer_seguimiento_id = (from s in db.tbl_tareas_seguimientos
                                                     where s.id_tarea == tarea_id
                                                     select s.id_seguimiento).FirstOrDefault();
                        if (primer_seguimiento_id == 0)
                        {
                            respuesta.mensaje = "Error, seguimiento no encontrado."; return(respuesta);
                        }

                        tbl_contactos_seguimientos primer_seguimiento = db.tbl_contactos_seguimientos.Find(primer_seguimiento_id);
                        if (primer_seguimiento == null)
                        {
                            respuesta.mensaje = "Error, datos de seguimiento no encontrados."; return(respuesta);
                        }

                        var tipo_resultado1 = (from r1 in db.tbl_resultados
                                               where r1.nombre == "Finalizada"
                                               select r1.id).FirstOrDefault();

                        if (tipo_resultado1 == 0)
                        {
                            respuesta.mensaje = "Error, tipo de resultado de primer seguimiento no encontrado."; return(respuesta);
                        }
                        tarea.estatus = true;

                        primer_seguimiento.id_resultado = tipo_resultado1;

                        db.Entry(primer_seguimiento).State = System.Data.Entity.EntityState.Modified;

                        if (db.SaveChanges() < 1)
                        {
                            respuesta.mensaje = "Hubo un error con la actualizacion del primer seguimiento de la tarea.";
                            return(respuesta);
                        }

                        //seguimiento
                        var tipo_seguimiento = (from s in db.tbl_seguimientos
                                                where s.id == tarea_actualizada.seguimiento
                                                select s).FirstOrDefault();
                        if (tipo_seguimiento == null)
                        {
                            respuesta.mensaje = "Error, tipo de seguimiento no encontrado."; return(respuesta);
                        }


                        tbl_contactos_seguimientos seguimiento = new tbl_contactos_seguimientos();
                        var tipo_resultado = (from r in db.tbl_resultados
                                              where r.id == tarea_actualizada.resultado.id
                                              select r).FirstOrDefault();
                        if (tipo_resultado == null)
                        {
                            respuesta.mensaje = "Error, tipo de resulado no encontrado."; return(respuesta);
                        }

                        seguimiento.id_contacto    = id_contacto;
                        seguimiento.id_seguimiento = tarea_actualizada.seguimiento;
                        seguimiento.id_resultado   = tarea_actualizada.resultado.id;
                        seguimiento.fecha_registro = DateTime.Now;
                        seguimiento.fecha          = tarea.fecha_agenda;
                        seguimiento.fecha_fin      = tarea.fecha_fin;
                        seguimiento.observaciones  = tarea_actualizada.observaciones_seguimiento;

                        db.tbl_contactos_seguimientos.Add(seguimiento);
                        if (db.SaveChanges() < 1)
                        {
                            respuesta.mensaje = "Hubo un error con el registro del seguimiento.";
                            return(respuesta);
                        }

                        //Tarea seguimiento
                        tbl_tareas_seguimientos tarea_seguimiento = new tbl_tareas_seguimientos();
                        tarea_seguimiento.id_tarea       = tarea.id;
                        tarea_seguimiento.id_seguimiento = seguimiento.id;

                        db.tbl_tareas_seguimientos.Add(tarea_seguimiento);
                        if (db.SaveChanges() < 1)
                        {
                            respuesta.mensaje = "Hubo un error con el registro del seguimiento y la tarea.";
                            return(respuesta);
                        }
                    }
                    else
                    {
                        tarea.tarea          = tarea_actualizada.tarea;
                        tarea.fecha_agenda   = Tools.GetFullDateTimeObject(tarea_actualizada.fecha_agenda);
                        tarea.fecha_fin      = Tools.GetFullDateTimeObject(tarea_actualizada.fecha_fin);
                        tarea.id_seguimiento = tarea_actualizada.seguimiento.ToString();
                        estatus = false;
                        if (tarea_actualizada.estatus == "Completada")
                        {
                            estatus = true;
                            //seguimiento
                            var tipo_seguimiento = (from s in db.tbl_seguimientos
                                                    where s.id == tarea_actualizada.seguimiento
                                                    select s).FirstOrDefault();
                            if (tipo_seguimiento == null)
                            {
                                respuesta.mensaje = "Error, tipo de seguimiento no encontrado."; return(respuesta);
                            }
                            tbl_contactos_seguimientos seguimiento = new tbl_contactos_seguimientos();
                            var tipo_resultado = (from r in db.tbl_resultados
                                                  where r.id == tarea_actualizada.resultado.id
                                                  select r).FirstOrDefault();
                            if (tipo_resultado == null)
                            {
                                respuesta.mensaje = "Error, tipo de resulado no encontrado."; return(respuesta);
                            }
                            seguimiento.id_contacto    = id_contacto;
                            seguimiento.id_seguimiento = tarea_actualizada.seguimiento;
                            seguimiento.id_resultado   = tarea_actualizada.resultado.id;
                            seguimiento.fecha_registro = DateTime.Now;
                            seguimiento.fecha          = tarea.fecha_agenda;
                            seguimiento.fecha_fin      = tarea.fecha_fin;
                            seguimiento.observaciones  = "Se completo la tarea de " + tipo_seguimiento.nombre +
                                                         ", pautada para la fecha " + tarea.fecha_agenda.ToString() + ", teniendo como resultado: " + tipo_resultado.nombre;
                            db.tbl_contactos_seguimientos.Add(seguimiento);
                            if (db.SaveChanges() < 1)
                            {
                                respuesta.mensaje = "Hubo un error con el registro del seguimiento.";
                                return(respuesta);
                            }
                        }
                        tarea.estatus = estatus;
                    }
                    db.Entry(tarea).State = System.Data.Entity.EntityState.Modified;

                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Hubo un error con la actualizacion de la tarea.";
                        return(respuesta);
                    }

                    var tareas = (from t in db.tbl_contactos_tareas
                                  where t.estatus == false && t.id_contacto == id_contacto
                                  select t).ToList();
                    Tarea cantidad_tarea = new Tarea();
                    cantidad_tarea.cantidad = tareas.Count + "";
                    respuesta.data          = cantidad_tarea;

                    respuesta.mensaje = "Tarea actualizada exitosamente."; respuesta.resultado = 1;
                } //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);
        }//update
Пример #28
0
        public Respuesta Index([FromUri] string u, [FromUri] string t, [FromUri] int id)
        {
            Respuesta respuesta = new Respuesta(); respuesta.resultado = 0;


            respuesta.mensaje = Tools.VerifyToken(new Token()
            {
                usuario = u, token = t
            }, 0);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }

            int id_usuario = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(Tools.connection))
                {
                    using (MacEntities db = new MacEntities())
                    {
                        id_usuario =
                            (from us in db.tbl_usuarios
                             where us.usuario == u
                             select us.id).FirstOrDefault();

                        if (id_usuario == 0)
                        {
                            respuesta.mensaje = "Error, usuario no encontrado."; return(respuesta);
                        }
                    }



                    SqlCommand command = new SqlCommand("select * from cns_pagos(@id_membresia) order by fecha_real", connection);
                    command.CommandTimeout = 180;
                    command.Parameters.AddWithValue("@id_membresia", id);
                    connection.Open();

                    SqlDataReader rows  = command.ExecuteReader();
                    List <Pago>   pagos = new List <Pago>();
                    Pago          pago;
                    while (rows.Read())
                    {
                        pago = new Pago();
                        if (!rows.IsDBNull(0))
                        {
                            pago.id = rows.GetInt32(0);
                        }
                        else
                        {
                            pago.id = 0;
                        }
                        if (!rows.IsDBNull(1))
                        {
                            pago.fecha_real = rows.GetDateTime(1).ToString();
                        }
                        else
                        {
                            pago.fecha_real = "";
                        }
                        if (!rows.IsDBNull(2))
                        {
                            pago.fecha = rows.GetString(2);
                        }
                        else
                        {
                            pago.fecha = "";
                        }
                        if (!rows.IsDBNull(3))
                        {
                            pago.mes = rows.GetString(3);
                        }
                        else
                        {
                            pago.mes = "";
                        }
                        if (!rows.IsDBNull(4))
                        {
                            pago.monto = rows.GetDouble(4) + "";
                        }
                        else
                        {
                            pago.monto = "";
                        }
                        if (!rows.IsDBNull(5))
                        {
                            pago.saldo_actual = rows.GetDouble(5) + "";
                        }
                        else
                        {
                            pago.saldo_actual = "";
                        }
                        if (!rows.IsDBNull(6))
                        {
                            pago.forma_pago = rows.GetString(6);
                        }
                        else
                        {
                            pago.forma_pago = "";
                        }
                        if (!rows.IsDBNull(7))
                        {
                            pago.documento = rows.GetString(7) + "";
                        }
                        else
                        {
                            pago.documento = "";
                        }
                        if (!rows.IsDBNull(8))
                        {
                            pago.banco = rows.GetString(8) + "";
                        }
                        else
                        {
                            pago.banco = "";
                        }
                        if (!rows.IsDBNull(9))
                        {
                            pago.recibo = rows.GetString(9) + "";
                        }
                        else
                        {
                            pago.recibo = "";
                        }
                        if (!rows.IsDBNull(10))
                        {
                            pago.rc = rows.GetString(10);
                        }
                        else
                        {
                            pago.rc = "";
                        }
                        //
                        if (!rows.IsDBNull(11))
                        {
                            pago.fecha_registro = rows.GetDateTime(11).ToString();
                        }
                        else
                        {
                            pago.fecha_registro = "";
                        }
                        if (!rows.IsDBNull(12))
                        {
                            pago.usuario = rows.GetString(12);
                        }
                        else
                        {
                            pago.usuario = "";
                        }
                        if (!rows.IsDBNull(13))
                        {
                            pago.descuento = rows.GetDouble(13) + "";
                        }
                        else
                        {
                            pago.descuento = "";
                        }
                        if (!rows.IsDBNull(14))
                        {
                            pago.id_recibo = rows.GetInt32(14) + "";
                        }
                        else
                        {
                            pago.id_recibo = "";
                        }


                        pagos.Add(pago);
                    }
                    rows.Close();
                    connection.Close();
                    if (pagos.Count < 1)
                    {
                        respuesta.mensaje = "Error, no se encontraton pagos."; return(respuesta);
                    }

                    respuesta.mensaje = "Exito"; respuesta.resultado = 1;
                    respuesta.data    = pagos;
                } //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
Пример #29
0
        public Respuesta show([FromUri] int id, [FromUri] int nota_id,
                              [FromUri] string t, [FromUri] string u)
        {
            Token sesion = new Token()
            {
                usuario = u, token = t
            };

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

            respuesta.mensaje = Tools.VerifyToken(sesion, Tools.crm_rol_id);
            if (respuesta.mensaje != "1")
            {
                return(respuesta);
            }
            try
            {
                using (MacEntities db = new MacEntities())
                {
                    var contacto =
                        (from c in db.tbl_contactos
                         where c.id == id
                         select c).FirstOrDefault();

                    if (contacto == null)
                    {
                        respuesta.mensaje = "Error, contacto no encontrado."; return(respuesta);
                    }

                    tbl_contactos_notas nota = db.tbl_contactos_notas.Find(nota_id);
                    if (nota == null)
                    {
                        respuesta.mensaje = "Error, nota no encontrada."; return(respuesta);
                    }
                    respuesta.data = new Nota()
                    {
                        id        = nota.id,
                        titulo    = "",
                        contenido = nota.contenido
                    };


                    respuesta.resultado = 1; respuesta.mensaje = "exito";
                }//using
            }
            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 ex)
            {
                respuesta.mensaje = "Error, intente mas tarde.";
                respuesta.data    = ex;
            }
            finally { }
            return(respuesta);
        }//show
Пример #30
0
        public Respuesta store2()
        {
            Respuesta respuesta = new Respuesta()
            {
                resultado = 0
            };

            /*Token sesion = new Token() {
             *  usuario = HttpContext.Current.Request.Form["u"],
             *  token = HttpContext.Current.Request.Form["t"],
             * };
             * respuesta.mensaje = Tools.VerifyToken(sesion, 29);
             * if (respuesta.mensaje != "1") { return respuesta; }*/

            //FTP FILE UPLOAD

            if (HttpContext.Current.Request.Files.AllKeys.Any())
            {
                // Get the uploaded image from the Files collection
                var httpPostedFile = HttpContext.Current.Request.Files["image"];

                if (httpPostedFile != null)
                {
                    // Validate the uploaded image(optional)

                    //You could modify the following code and get the postedfile inputstream, then insert them into database.
                    // Get the complete file path
                    var fileSavePath = Path.Combine(
                        HttpContext.Current.Server.MapPath("~/files"), httpPostedFile.FileName);

                    // Save the uploaded file to "files" folder
                    httpPostedFile.SaveAs(fileSavePath);

                    FtpWebRequest request = (FtpWebRequest)WebRequest.
                                            Create("ftp://vocablo.edu.mx/promociones" + httpPostedFile.FileName);
                    request.Method = WebRequestMethods.Ftp.UploadFile;

                    request.Credentials = new NetworkCredential("vocablo", "v0c4bl0ftp");

                    /// byte[] fileContents;
                    byte[] fileContents = File.ReadAllBytes(fileSavePath);

                    /* using (StreamReader sourceStream =
                     *   new StreamReader(fileSavePath))
                     * { fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd()); }*/

                    request.ContentLength = fileContents.Length;

                    using (Stream requestStream = request.GetRequestStream())
                    {
                        requestStream.Write(fileContents, 0, fileContents.Length);
                    }

                    try
                    {
                        // Check if file exists with its full path
                        if (File.Exists(fileSavePath))
                        {
                            // If file found, delete it
                            File.Delete(fileSavePath);
                        }
                        else
                        {
                            respuesta.mensaje = "Archivo no encontrado.";  return(respuesta);
                        }
                    }
                    catch (IOException ioExp)
                    {
                        respuesta.mensaje = "hubo un error";
                        respuesta.data    = ioExp;
                        return(respuesta);
                    }
                }
                else
                {
                    respuesta.mensaje = "Imagen no encontrada."; return(respuesta);
                }
            }

            //FTP FILE UPLOAD END


            try
            {
                using (MacEntities db = new MacEntities())
                {
                    tbl_promociones promocion = new tbl_promociones();

                    promocion.nombre      = HttpContext.Current.Request.Form["nombre"];
                    promocion.descripcion = HttpContext.Current.Request.Form["descripcion"];
                    promocion.precio      = Decimal.Parse(HttpContext.Current.Request.Form["precio"]);
                    promocion.fecha_desde = Tools.GetDateTimeObject(
                        HttpContext.Current.Request.Form["fecha_desde"]);
                    promocion.fecha_fin = Tools.GetDateTimeObject(
                        HttpContext.Current.Request.Form["fecha_fin"]);
                    promocion.imagen  = HttpContext.Current.Request.Files["image"].FileName;
                    promocion.estatus = true;

                    db.tbl_promociones.Add(promocion);
                    if (db.SaveChanges() < 1)
                    {
                        respuesta.mensaje = "Error, no se pudo agregar la promoción, intente más tarde.";
                    }
                    else
                    {
                        respuesta.resultado = 1;
                        respuesta.mensaje   = "La promoción fue agregada exitosamente.";
                    }
                }//using
            }
            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 ex)
            {
                respuesta.mensaje = "Error, intente mas tarde.";
                respuesta.data    = ex;
            }
            finally { }

            return(respuesta);
        }///store2