/// <summary> /// Saves this instance. /// </summary> /// <returns></returns> public static bool SaveOrUpdate(IssueRevision entity) { if (entity == null) throw new ArgumentNullException("entity"); if (entity.IssueId <= Globals.NEW_ID) throw (new ArgumentException("The issue id for the revision is not valid")); var tempId = DataProviderManager.Provider.CreateNewIssueRevision(entity); if (tempId > Globals.NEW_ID) { entity.Id = tempId; return true; } return false; }
public bool CreateNewIssueRevision(int revision, int issueId, string repository, string revisionAuthor, string revisionDate, string revisionMessage, string changeset = "", string branch = "") { if (issueId <= 0) throw new ArgumentOutOfRangeException("issueId"); var projectId = IssueManager.GetById(issueId).ProjectId; //authentication checks against user access to project if (ProjectManager.GetById(projectId).AccessType == ProjectAccessType.Private && !ProjectManager.IsUserProjectMember(UserName, projectId)) throw new UnauthorizedAccessException(string.Format(LoggingManager.GetErrorMessageResource("ProjectAccessDenied"), UserName)); var issueRevision = new IssueRevision { Revision = revision, IssueId = issueId, Author = revisionAuthor, Message = revisionMessage, Repository = repository, RevisionDate = revisionDate, Changeset = changeset, Branch = branch }; return IssueRevisionManager.SaveOrUpdate(issueRevision); }
/// <summary> /// Creates the new issue revision. /// </summary> /// <param name="newIssueRevision">The new issue revision.</param> /// <returns></returns> public override int CreateNewIssueRevision(IssueRevision newIssueRevision) { if (newIssueRevision == null) throw new ArgumentNullException("newIssueRevision"); try { using (var sqlCmd = new SqlCommand()) { AddParamToSqlCmd(sqlCmd, "@ReturnValue", SqlDbType.Int, 0, ParameterDirection.ReturnValue, null); AddParamToSqlCmd(sqlCmd, "@Revision", SqlDbType.Int, 0, ParameterDirection.Input, newIssueRevision.Revision); AddParamToSqlCmd(sqlCmd, "@IssueId", SqlDbType.Int, 0, ParameterDirection.Input, newIssueRevision.IssueId); AddParamToSqlCmd(sqlCmd, "@Repository", SqlDbType.NVarChar, 400, ParameterDirection.Input, newIssueRevision.Repository); AddParamToSqlCmd(sqlCmd, "@RevisionAuthor", SqlDbType.NVarChar, 100, ParameterDirection.Input, newIssueRevision.Author); AddParamToSqlCmd(sqlCmd, "@RevisionDate", SqlDbType.NVarChar, 100, ParameterDirection.Input, newIssueRevision.RevisionDate); AddParamToSqlCmd(sqlCmd, "@RevisionMessage", SqlDbType.NText, 0, ParameterDirection.Input, newIssueRevision.Message); AddParamToSqlCmd(sqlCmd, "@Changeset", SqlDbType.NVarChar, 100, ParameterDirection.Input, newIssueRevision.Changeset); AddParamToSqlCmd(sqlCmd, "@Branch", SqlDbType.NVarChar, 255, ParameterDirection.Input, newIssueRevision.Branch); SetCommandType(sqlCmd, CommandType.StoredProcedure, SP_ISSUEREVISION_CREATE); ExecuteScalarCmd(sqlCmd); return ((int)sqlCmd.Parameters["@ReturnValue"].Value); } } catch (Exception ex) { throw ProcessException(ex); } }
// IssueRevisions public abstract int CreateNewIssueRevision(IssueRevision newIssueRevision);