/// <summary> /// Gets the publication. /// </summary> /// <param name="publication">The publication.</param> /// <returns></returns> private Model.Publication.Publication getPublication(publication publication) { Model.Publication.Publication newPublication = new XareuServices.Model.Publication.Publication(); newPublication.Author.Email = publication.user.user_email; newPublication.Author.Id = publication.user.user_id; newPublication.Author.Nick = publication.user.user_nick; newPublication.Author.Karma = publication.user.user_karma; newPublication.CreationDateTime = publication.publication_datetime; newPublication.Id = publication.publication_id; newPublication.Place.Id = publication.place_tag_id; newPublication.Text = publication.publication_text; newPublication.Karma = (float)publication.publication_karma; newPublication.IsPrivate = publication.publlication_is_private; try { newPublication.IsQuestion = (bool)publication.publication_is_question; } catch { newPublication.IsQuestion = false; } try { newPublication.AnswersTo = (long)publication.publication_answer_to; } catch { newPublication.AnswersTo = 0; } return(newPublication); }
/// <summary> /// Edita los valores de una publicación determinada substituyéndolos por los indicados en el parámetro /// </summary> /// <param name="publication">Datos para editar la publicación</param> /// <returns> /// True si se pudo editar, false en caso contrario /// </returns> public bool EditPublication(XareuServices.Model.Publication.Publication publication) { DAL.Linq.publication actualPublicationData; actualPublicationData = (from publications in data.publications where publications.publication_id == publication.Id select publications).First <publication>(); try { actualPublicationData.place_tag_id = publication.Place.Id; actualPublicationData.publication_datetime = publication.CreationDateTime; actualPublicationData.publication_is_question = publication.IsQuestion; actualPublicationData.publlication_is_private = publication.IsPrivate; actualPublicationData.publication_karma = publication.Karma; actualPublicationData.publication_text = publication.Text; actualPublicationData.user_id_author = publication.Author.Id; data.SubmitChanges(); return(true); } catch { return(false); } }
/// <summary> /// Añade una nueva publicación a la base de datos /// </summary> /// <param name="publication">Publicación que queremos añadir</param> /// <param name="publicationID">ID de la publicación que ha añadido</param> /// <returns> /// True si la pudo añadir, false en caso contrario /// </returns> public bool AddPublication(XareuServices.Model.Publication.Publication publication, out long publicationID) { Linq.publication newPublication = this.convertToLinqPublication(publication); publicationID = 0; try { data.publications.InsertOnSubmit(newPublication); data.SubmitChanges(); publicationID = this.getLastestPublicationID(); return(true); } catch { return(false); } }
/// <summary> /// Adds the publication. /// </summary> /// <param name="userID">The user ID.</param> /// <param name="token">The token.</param> /// <param name="newToken">The new token.</param> /// <param name="publication">The publication.</param> /// <param name="publicationID">The publication ID.</param> /// <returns></returns> public bool AddPublication(long userID, Guid token, out Guid newToken, XareuServices.Model.Publication.Publication publication, out long publicationID) { if (loginService.UseToken(userID, token, out newToken)) { try { if (publication.Author.Id == userID) { publicationDAO.AddPublication(publication, out publicationID); return(true); } throw new Exception("User is not able to add that publication"); } catch { throw new Exception("Adding publication error"); } } throw new Exception("Login error"); }
/// <summary> /// Edits the publication. /// </summary> /// <param name="userID">The user ID.</param> /// <param name="token">The token.</param> /// <param name="newToken">The new token.</param> /// <param name="publication">The publication.</param> /// <returns>True if it was OK, false otherwise</returns> public bool EditPublication(long userID, Guid token, out Guid newToken, XareuServices.Model.Publication.Publication publication) { if (loginService.UseToken(userID, token, out newToken)) { try { if ((publicationDAO.GetPublication(publication.Id).Author.Id == userID) || (userDAO.IsAdmin(userID))) { publicationDAO.EditPublication(publication); return(true); } throw new Exception("User is not able to edit that publication"); } catch { throw new Exception("Edit publication error"); } } throw new Exception("Login error"); }
/// <summary> /// Gets the publication. /// </summary> /// <param name="publication">The publication.</param> /// <returns></returns> private Model.Publication.Publication getPublication(publication publication) { Model.Publication.Publication newPublication = new XareuServices.Model.Publication.Publication(); newPublication.Author.Email = publication.user.user_email; newPublication.Author.Id = publication.user.user_id; newPublication.Author.Nick = publication.user.user_nick; newPublication.Author.Karma = publication.user.user_karma; newPublication.CreationDateTime = publication.publication_datetime; newPublication.Id = publication.publication_id; newPublication.Place.Id = publication.place_tag_id; newPublication.Text = publication.publication_text; newPublication.Karma = (float)publication.publication_karma; newPublication.IsPrivate = publication.publlication_is_private; newPublication.IsQuestion = publication.publication_is_question.GetValueOrDefault(false); newPublication.AnswersTo = publication.publication_answer_to.GetValueOrDefault(0); newPublication.PositiveVotes = publication.positive_votes.GetValueOrDefault(0); newPublication.NegativeVotes = publication.negative_votes.GetValueOrDefault(0); return(newPublication); }
/// <summary> /// Edits the publication. /// </summary> /// <param name="userID">The user ID.</param> /// <param name="token">The token.</param> /// <param name="newToken">The new token.</param> /// <param name="publication">The publication.</param> /// <returns>True if it was OK, false otherwise</returns> public bool EditPublication(long userID, Guid token, out Guid newToken, XareuServices.Model.Publication.Publication publication) { return(publicationService.EditPublication(userID, token, out newToken, publication)); }
/// <summary> /// Adds the publication. /// </summary> /// <param name="userID">The user ID.</param> /// <param name="token">The token.</param> /// <param name="newToken">The new token.</param> /// <param name="publication">The publication.</param> /// <param name="publicationID">The publication ID.</param> /// <returns></returns> public bool AddPublication(long userID, Guid token, out Guid newToken, XareuServices.Model.Publication.Publication publication, out long publicationID) { return(publicationService.AddPublication(userID, token, out newToken, publication, out publicationID)); }