/// <summary>
        /// Altera TB_UNIVERSIDADE_ESTATISTICAS
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static void Update(string token, TB_UNIVERSIDADE_ESTATISTICAS param, ModelApiUnes _dbContext = null)
        {
            ModelApiUnes _db;

            if (_dbContext == null)
            {
                _db = new ModelApiUnes();
            }
            else
            {
                _db = _dbContext;
            }
            using (var transaction = _db.Database.BeginTransaction())
            {
                try
                {
                    TB_UNIVERSIDADE_ESTATISTICAS value = _db.TB_UNIVERSIDADE_ESTATISTICAS
                                                         .Where(e => e.UNE_ID_ESTATISTICAS.Equals(param.UNE_ID_ESTATISTICAS))
                                                         .First <TB_UNIVERSIDADE_ESTATISTICAS>();



                    if (param.UNE_ID_ESTATISTICAS != value.UNE_ID_ESTATISTICAS)
                    {
                        value.UNE_ID_ESTATISTICAS = param.UNE_ID_ESTATISTICAS;
                    }
                    if (param.UNV_ID_VIDEOS != value.UNV_ID_VIDEOS)
                    {
                        value.UNV_ID_VIDEOS = param.UNV_ID_VIDEOS;
                    }
                    if (param.USU_ID_USUARIO != value.USU_ID_USUARIO)
                    {
                        value.USU_ID_USUARIO = param.USU_ID_USUARIO;
                    }
                    if (param.UNE_DT_DATAVIEW != null && param.UNE_DT_DATAVIEW != value.UNE_DT_DATAVIEW)
                    {
                        value.UNE_DT_DATAVIEW = param.UNE_DT_DATAVIEW;
                    }
                    _db.SaveChanges();
                    transaction.Commit();
                }
                catch (Exception e)
                {
                    throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message);
                }
                finally
                {
                    if (_dbContext == null)
                    {
                        // Fecha conexão
                        transaction.Dispose();
                        _db.Database.Connection.Close();
                        _db.Dispose();
                    }
                }
            }
        }
        // PUT /TB_UNIVERSIDADE_VIDEOS/token/
        public void Put(string token, Models.Object.VIDEOS_PERFIL param)
        {
            // Abre nova conexão
            using (ModelApiUnes _db = new ModelApiUnes())
            {
                try
                {
                    if (Permissoes.Autenticado(token, _db))
                    {
                        if (param.VIDEOS.UNV_TX_HASH != null)
                        {
                            param.VIDEOS.UNV_DT_DATA = null;
                            //param.UNV_NR_VIEW = null;
                            GatewayTbUniversidadeVideos.Update(token, param, _db);
                        }
                        else
                        {
                            Estatisticas values = new Estatisticas();
                            values.Idvideo   = param.VIDEOS.UNV_ID_VIDEOS;
                            values.Idusuario = Permissoes.GetIdUserFromToken(token);

                            GatewayTbUniversidadeVideos.Update(token, values);

                            TB_UNIVERSIDADE_ESTATISTICAS paramSt = new TB_UNIVERSIDADE_ESTATISTICAS();
                            paramSt.UNV_ID_VIDEOS   = values.Idvideo;
                            paramSt.USU_ID_USUARIO  = values.Idusuario;
                            paramSt.UNE_DT_DATAVIEW = DateTime.Now;

                            GatewayTbUniversidadeEstatisticas.Add(token, paramSt);
                        }
                    }
                    //else
                    //return new Retorno() { Token = false }; //throw new Exception("Unauthorized");
                }
                catch (Exception e)
                {
                    throw new Exception(e.Message);
                }
            }
        }
        /// <summary>
        /// Adiciona nova Tb_Universidade_Estatisticas
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static Int64 Add(string token, TB_UNIVERSIDADE_ESTATISTICAS param, ModelApiUnes _dbContext = null)
        {
            ModelApiUnes _db;

            if (_dbContext == null)
            {
                _db = new ModelApiUnes();
            }
            else
            {
                _db = _dbContext;
            }
            using (var transaction = _db.Database.BeginTransaction())
            {
                try
                {
                    _db.TB_UNIVERSIDADE_ESTATISTICAS.Add(param);
                    _db.SaveChanges();
                    transaction.Commit();
                    return(param.UNE_ID_ESTATISTICAS);
                }
                catch (Exception e)
                {
                    throw new Exception(e.InnerException == null ? e.Message : e.InnerException.InnerException == null ? e.InnerException.Message : e.InnerException.InnerException.Message);
                }
                finally
                {
                    if (_dbContext == null)
                    {
                        // Fecha conexão
                        transaction.Dispose();
                        _db.Database.Connection.Close();
                        _db.Dispose();
                    }
                }
            }
        }