Inheritance: INotifyPropertyChanging, INotifyPropertyChanged
Exemple #1
0
 public static DTResource_MovAdmin ResourceToDT_MovAdmin(Recurso resource)
 {
     DTResource_MovAdmin dtResource = new DTResource_MovAdmin();
     dtResource.id = resource.id;
     dtResource.idUser = resource.idUsuario;
     dtResource.username = resource.apodoUsuario;
     dtResource.title = resource.titulo;
     dtResource.description = resource.descripcion;
     dtResource.urlLink = resource.urlLink;
     dtResource.urlImage = resource.urlImage;
     dtResource.urlVideo = resource.urlVideo;
     dtResource.urlThumb = resource.urlThumb;
     dtResource.date = (resource.fecha == null) ? new DateTime() : resource.fecha.Value;
     dtResource.numberLikes = (resource.cantAprobaciones == null) ? 0 : resource.cantAprobaciones.Value;
     dtResource.iLikeIt = (resource.meGusta == null) ? 0 : resource.meGusta.Value;
     dtResource.numberMarksInappr = (resource.cantMarcasInadecuado == null) ? 0 : resource.cantMarcasInadecuado.Value;
     dtResource.myMarkInappr = (resource.yoMarqueInadecuado == null) ? 0 : resource.yoMarqueInadecuado.Value;
     dtResource.disabled = (resource.deshabilitado == null) ? 0 : resource.deshabilitado.Value;
     return dtResource;
 }
Exemple #2
0
        /*
        public static RssItem DTToRssItem(DTRssItem dtRssItem)
        {
            RssItem rssItem = new RssItem();
            rssItem.Title = dtRssItem.title;
            rssItem.Description = dtRssItem.description;
            rssItem.Link = dtRssItem.link;
            rssItem.PubDate = dtRssItem.date;
            return rssItem;
        }
         * */

        public static Recurso DTToResource(DTResource dtResource)
        {
            Recurso resource = new Recurso();
            resource.id = dtResource.id;
            resource.idUsuario = dtResource.idUser;
            resource.apodoUsuario = dtResource.username;
            resource.titulo = dtResource.title;
            resource.descripcion = dtResource.description;
            resource.urlLink = dtResource.urlLink;
            resource.urlImage = dtResource.urlImage;
            resource.urlVideo = dtResource.urlVideo;
            resource.urlThumb = dtResource.urlThumb;
            resource.fecha = dtResource.date;
            resource.cantAprobaciones = dtResource.numberLikes;
            resource.meGusta = dtResource.iLikeIt;
            resource.cantMarcasInadecuado = dtResource.numberMarksInappr;
            resource.yoMarqueInadecuado = dtResource.myMarkInappr;
            resource.deshabilitado = dtResource.disabled;
            return resource;
        }
 partial void UpdateRecurso(Recurso instance);
 partial void DeleteRecurso(Recurso instance);
		private void detach_Recursos(Recurso entity)
		{
			this.SendPropertyChanging();
			entity.Usuario = null;
		}
 partial void InsertRecurso(Recurso instance);
 // unmark a resource as inappropriate.
 public void unmarkResourceInappropriate(Recurso resource)
 {
     // remove markInappropriate from the database.
     try
     {
         IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext();
         indignadoContext.ExecuteCommand("DELETE FROM MarcasInadecuados WHERE (idRecurso = {0}) AND (idUsuario = {1})", resource.id, UserInfo.Id);
         indignadoContext.SubmitChanges();
     }
     catch (Exception error)
     {
     }
 }
		private void attach_Recursos(Recurso entity)
		{
			this.SendPropertyChanging();
			entity.Usuario = this;
		}
 // unlikes a resource.
 public void unlikeResource(Recurso resource)
 {
     // remove likeResource from the database.
     try
     {
         IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext();
         indignadoContext.ExecuteCommand("DELETE FROM Aprobaciones WHERE (idRecurso = {0}) AND (idUsuario = {1})", resource.id, UserInfo.Id);
         indignadoContext.SubmitChanges();
     }
     catch (Exception error)
     {
     }
 }
        // mark a resource as inappropriate.
        public void markResourceInappropriate(Recurso resource)
        {
            // create a markInappropriate
            MarcasInadecuado markInappropriate = new MarcasInadecuado();
            markInappropriate.idRecurso = resource.id;
            markInappropriate.idUsuario = UserInfo.Id;

            try
            {
                // get database context.
                IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext();

                // get the movement.
                Movimiento movement = indignadoContext.Movimientos.Single(x => x.id == IdMovement);

                // add markInappropriate to the database.
                indignadoContext.MarcasInadecuados.InsertOnSubmit(markInappropriate);
                indignadoContext.SubmitChanges();
                indignadoContext = new IndignadoDBDataContext();

                // get number of marks of the resource.
                int numberMarksResource = 0;
                IEnumerable<int> numbersMarksR = indignadoContext.ExecuteQuery<int>("SELECT COUNT(*) FROM MarcasInadecuados WHERE (idRecurso = {0})", resource.id);
                foreach (int numberMarksR in numbersMarksR)
                {
                    numberMarksResource = numberMarksR;
                }

                // if number of marks matches X, disable the resource.
                if (numberMarksResource >= movement.maxMarcasInadecuadasRecursoX)
                {
                    indignadoContext.ExecuteQuery<int>("UPDATE Recursos SET deshabilitado = {0} WHERE id = {1}", 1, resource.id);
                }

                // get this resources's user id.
                int thisUserId = -1;
                IEnumerable<int> thisUsersID = indignadoContext.ExecuteQuery<int>("SELECT idUsuario FROM Recursos WHERE (id = {0})", resource.id);
                foreach (int thisUserID in thisUsersID)
                {
                    thisUserId = thisUserID;
                }

                // get number of disabled resources published by this resources's user.
                int numberMarksUser = 0;
                IEnumerable<int> numbersMarksU = indignadoContext.ExecuteQuery<int>
                    ("SELECT COUNT(*) FROM Recursos WHERE (idUsuario = {0}) AND (deshabilitado = {1})", thisUserId, 1);
                foreach (int numberMarksU in numbersMarksU)
                {
                    numberMarksUser = numberMarksU;
                }

                // if number of marks matches Z, ban the user.
                if (numberMarksUser >= movement.maxRecursosInadecuadosUsuarioZ)
                {
                    indignadoContext.ExecuteQuery<int>("UPDATE Usuarios SET banned = {0} WHERE id = {1}", true, thisUserId);
                }

                // commit changes to the database.
                indignadoContext.SubmitChanges();
            }
            catch (Exception error)
            {
            }
        }
        // likes a resource.
        public void likeResource(Recurso resource)
        {
            // create a likeResource
            Aprobacione likeResource = new Aprobacione();
            likeResource.idRecurso = resource.id;
            likeResource.idUsuario = UserInfo.Id;

            // add likeResource to the database.
            try
            {
                IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext();
                indignadoContext.Aprobaciones.InsertOnSubmit(likeResource);
                indignadoContext.SubmitChanges();
            }
            catch (Exception error)
            {
            }
        }
 // removes a resource by the user.
 public void removeResource(Recurso resource)
 {
     IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext();
     Recurso fullResource = indignadoContext.Recursos.SingleOrDefault(res => (res.id == resource.id));
     if ((fullResource != null) && (fullResource.idUsuario == UserInfo.Id))
     {
         try
         {
             indignadoContext.ExecuteCommand("DELETE FROM Aprobaciones WHERE idRecurso = {0}", resource.id);
             indignadoContext.ExecuteCommand("DELETE FROM MarcasInadecuados WHERE idRecurso = {0}", resource.id);
             indignadoContext.SubmitChanges();
             indignadoContext = new IndignadoDBDataContext();
             indignadoContext.ExecuteCommand("DELETE FROM Recursos WHERE (id = {0}) AND (idUsuario = {1})", resource.id, UserInfo.Id);
             indignadoContext.SubmitChanges();
         }
         catch (Exception error)
         {
         }
     }
 }
        /// gets resource data from the link.
        public Recurso getResourceData(string link)
        {
            // create resource
            Recurso resource = new Recurso();
            
            // get website
            string website = new WebClient().DownloadString(link);

            // get data
            if (website != null)
            {
                // get title
                resource.titulo = Regex.Match(website, @"<title>(.+?)</title>").Value;
                resource.titulo = (resource.titulo == null) || (resource.titulo.Length < 7) ? null : resource.titulo.Substring(7);
                resource.titulo = (resource.titulo == null) || (resource.titulo.Length < 7) ? null : resource.titulo.Substring(0, resource.titulo.Length - 8);

                // get description
                resource.descripcion = Regex.Match(website, @"<meta(.+?)name\=\""(description|Description)\""(.+?)(/\s*|></\s*meta>)>").Value;
                resource.descripcion = (resource.descripcion == null) ? null : Regex.Match(resource.descripcion, @"content\=\"".*?\""").Value;
                resource.descripcion = (resource.descripcion == null) || (resource.descripcion.Length < 9) ? null : resource.descripcion.Substring(9);
                resource.descripcion = (resource.descripcion == null) || (resource.descripcion.Length < 5) ? null : resource.descripcion.Substring(0, resource.descripcion.Length - 1);
                
                // get images
                //resource.logo;
            }

            return resource;
        }
        // creates a resource.
        public void createResource(Recurso resource)
        {
            IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext();

            // set internal and foreign ids
            resource.idUsuario = UserInfo.Id;
            resource.fecha = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, DateTime.UtcNow.Hour, DateTime.UtcNow.Minute, 0);
            resource.deshabilitado = 0;

            indignadoContext.Recursos.InsertOnSubmit(resource);
            indignadoContext.SubmitChanges();
        }
 // reallows a resource.
 public void enableResource(Recurso resource)
 {
     IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext();
     indignadoContext.ExecuteCommand("UPDATE Recursos SET deshabilitado = {0} WHERE id = {1}", 0, resource.id);
 }