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; }
/* 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); }