partial void DeleteMarcasInadecuado(MarcasInadecuado instance);
partial void UpdateMarcasInadecuado(MarcasInadecuado instance);
partial void InsertMarcasInadecuado(MarcasInadecuado instance);
private void detach_MarcasInadecuados(MarcasInadecuado entity) { this.SendPropertyChanging(); entity.Usuario = null; }
private void attach_MarcasInadecuados(MarcasInadecuado entity) { this.SendPropertyChanging(); entity.Recurso = this; }
// 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) { } }