// ****************** // controller methods // ****************** // creates a movement. public void createMovement(Movimiento movement) { // fixes the movement settings movement.habilitado = true; movement.url.Replace(' ', '_'); if (movement.maxMarcasInadecuadasRecursoX < 1) { movement.maxMarcasInadecuadasRecursoX = 5; } if (movement.maxRecursosInadecuadosUsuarioZ < 1) { movement.maxRecursosInadecuadosUsuarioZ = 5; } if (movement.maxRecursosPopularesN < 1) { movement.maxRecursosPopularesN = 5; } if (movement.maxUltimosRecursosM < 1) { movement.maxUltimosRecursosM = 5; } // creates the movement. IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext(); indignadoContext.Movimientos.InsertOnSubmit(movement); indignadoContext.SubmitChanges(); // get the movement's id. IEnumerable<Movimiento> movementsEnum = indignadoContext.ExecuteQuery<Movimiento> ("SELECT id FROM Movimiento WHERE nombre = {0}", movement.nombre); int idMov = -1; foreach (Movimiento mov in movementsEnum) { if (mov.nombre == movement.nombre) { idMov = mov.id; } } // creates the movement admin. DTRegisterModel user = new DTRegisterModel(); user.nombre = "movadmin"; user.apodo = "movadmin"; user.contraseña = "1234"; user.idMovimiento = idMov; user.latitud = (float)movement.latitud; user.longitud = (float)movement.longitud; user.mail = movement.nombre + "@tsi1.com.uy"; Usuario userDb = DTToClass.DTToUsuario(user); userDb.banned = false; userDb.privilegio = (short) Roles.MovAdminMask; userDb.fechaRegistro = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, DateTime.UtcNow.Hour, DateTime.UtcNow.Minute, 0); indignadoContext.Usuarios.InsertOnSubmit(userDb); // submit changes to the database indignadoContext.SubmitChanges(); }
// adds a new rss resource. public void addRssSource(RssFeed rssSource) { IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext(); rssSource.idMovimiento = IdMovement; indignadoContext.RssFeeds.InsertOnSubmit(rssSource); indignadoContext.SubmitChanges(); }
public void disableMovement(int id) { var db = new IndignadoDBDataContext(); var mov = db.Movimientos.SingleOrDefault(m => (m.id == id)); if (mov != null) { mov.habilitado = false; db.SubmitChanges(); } }
// adds a new theme category. public void addThemeCategory(CategoriasTematica themeCategory) { // set foreign ids themeCategory.idMovimiento = IdMovement; // add the theme category to the database try { IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext(); indignadoContext.CategoriasTematicas.InsertOnSubmit(themeCategory); indignadoContext.SubmitChanges(); } catch (Exception error) { } }
// get interested in a theme category. public void getInterestedThemeCategory(CategoriasTematica themeCategory) { // create an interest Interese interest = new Interese(); interest.idCategoriaTematica = themeCategory.id; interest.idUsuario = UserInfo.Id; // add interest to the database. try { IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext(); indignadoContext.Intereses.InsertOnSubmit(interest); indignadoContext.SubmitChanges(); } catch (Exception error) { } }
// get uninterested in a theme category. public void getUninterestedThemeCategory(CategoriasTematica themeCategory) { // remove interest from the database. try { IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext(); indignadoContext.ExecuteCommand("DELETE FROM Intereses WHERE (idCategoriaTematica = {0}) AND (idUsuario = {1})", themeCategory.id, UserInfo.Id); indignadoContext.SubmitChanges(); } catch (Exception error) { } }
public DTUserCreateStatus RegisterUser(DTRegisterModel user) { DTUserCreateStatus status; status = DTUserCreateStatus.Success; IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext(); Usuario userDb = DTToClass.DTToUsuario(user); userDb.banned = false; userDb.privilegio = 0; userDb.fechaRegistro = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, DateTime.UtcNow.Hour, DateTime.UtcNow.Minute, 0); try { indignadoContext.Usuarios.InsertOnSubmit(userDb); indignadoContext.SubmitChanges(); } catch (Exception ex) { status = DTUserCreateStatus.GenericError; } return status; }
public DTUserCreateStatus RegisterFBUser(DTRegisterFBModel user) { DTUserCreateStatus status; status = DTUserCreateStatus.Success; FacebookUser fbUser = Facebook.GetInfo(user.token); IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext(); Usuario userDb = new Usuario(); userDb.nombre = fbUser.name; userDb.apodo = fbUser.first_name; userDb.mail = fbUser.email; userDb.idMovimiento = user.idMovimiento; userDb.latitud = user.latitud; userDb.longitud = user.longitud; byte[] noPass = new byte[1]; noPass[0] = 0; userDb.contraseña = noPass; userDb.banned = false; userDb.privilegio = 0; userDb.fechaRegistro = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, DateTime.UtcNow.Hour, DateTime.UtcNow.Minute, 0); try { indignadoContext.Usuarios.InsertOnSubmit(userDb); indignadoContext.SubmitChanges(); } catch (Exception ex) { status = DTUserCreateStatus.GenericError; } if (status == DTUserCreateStatus.Success) { UsuarioFacebook fbUserDb = new UsuarioFacebook(); fbUserDb.idUsuario = userDb.id; fbUserDb.idFacebook = (int) fbUser.id; fbUserDb.idMovimiento = user.idMovimiento; indignadoContext.UsuarioFacebooks.InsertOnSubmit(fbUserDb); indignadoContext.SubmitChanges(); } return status; }
// 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) { } }
// 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) { } }
// 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) { } }
// 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) { } } }
// 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(); }
// changes the configuration of the movement. public void setMovement(Movimiento movement) { IndignadoDBDataContext indignadoContext = new IndignadoDBDataContext(); Movimiento mov = indignadoContext.Movimientos.SingleOrDefault(m => m.id == IdMovement); mov.nombre = movement.nombre; mov.descripcion = movement.descripcion; mov.latitud = movement.latitud; mov.longitud = movement.longitud; mov.idLayout = movement.idLayout; if ((movement.logo != null) && (movement.logo != "")) { mov.logo = movement.logo; } mov.maxMarcasInadecuadasRecursoX = movement.maxMarcasInadecuadasRecursoX; mov.maxRecursosInadecuadosUsuarioZ = movement.maxRecursosInadecuadosUsuarioZ; mov.maxRecursosPopularesN = movement.maxRecursosPopularesN; mov.maxUltimosRecursosM = movement.maxUltimosRecursosM; indignadoContext.SubmitChanges(); //indignadoContext.ExecuteCommand("UPDATE Movimiento SET nombre = {0}, descripcion = {1}, latitud = {2}, longitud = {3}, idLayout = {4}, logo={6} WHERE id = {5}", movement.nombre, movement.descripcion, movement.latitud, movement.longitud, movement.idLayout, IdMovement); }