/*** STATIC METHODS  ***/

        public static bool DeleteIssueNotification(int issueId, string username)
        {
            if (issueId <= DefaultValues.GetIssueIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("issueId"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            return(DBLayer.DeleteIssueNotification(issueId, username));
        }
Exemple #2
0
        public static Issue GetIssueById(int issueId)
        {
            if (issueId <= DefaultValues.GetIssueIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("issueId"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            return(DBLayer.GetIssueById(issueId));
        }
Exemple #3
0
        public static bool DeleteStatus(int statusId)
        {
            if (statusId <= DefaultValues.GetStatusIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("statusId"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            return(DBLayer.DeleteStatus(statusId));
        }
Exemple #4
0
        public static CustomFieldCollection GetCustomFieldsByIssueId(int issueId)
        {
            if (issueId <= DefaultValues.GetProjectIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("issueId"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            return(DBLayer.GetCustomFieldsByIssueId(issueId));
        }
Exemple #5
0
        public static bool SaveCustomFieldValues(int issueId, CustomFieldCollection fields)
        {
            if (fields == null)
            {
                throw (new ArgumentOutOfRangeException("fields"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            return(DBLayer.SaveCustomFieldValues(issueId, fields));
        }
        public static void DeleteIssueAttachment(int attachmentId)
        {
            // validate input
            if (attachmentId <= DefaultValues.GetIssueAttachmentIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("attachmentId"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            DBLayer.DeleteIssueAttachment(attachmentId);
        }
        /*** INSTANCE METHODS  ***/

        public bool Save()
        {
            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();
            int TempId = DBLayer.CreateNewIssueNotification(this);

            if (TempId > 0)
            {
                _Id = TempId;
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #8
0
        public static IssueCollection GetIssuesByOwnerUsername(int projectId, string username)
        {
            if (projectId <= DefaultValues.GetProjectIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("projectId"));
            }

            if (username == null || username.Length == 0)
            {
                throw (new ArgumentOutOfRangeException("username"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            return(DBLayer.GetIssuesByOwnerUsername(projectId, username));
        }
        public static bool DeleteParentIssue(int primaryIssueId, int secondaryIssueId)
        {
            if (primaryIssueId <= DefaultValues.GetIssueIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("primaryIssueId"));
            }

            if (secondaryIssueId <= DefaultValues.GetIssueIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("secondaryIssueId"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            return(DBLayer.DeleteParentIssue(primaryIssueId, secondaryIssueId));
        }
        public static int CreateNewChildIssue(int primaryIssueId, int secondaryIssueId)
        {
            if (primaryIssueId == secondaryIssueId)
            {
                return(0);
            }

            if (primaryIssueId <= DefaultValues.GetIssueIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("primaryIssueId"));
            }

            if (secondaryIssueId <= DefaultValues.GetIssueIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("secondaryIssueId"));
            }

            DataAccessLayerBaseClass DBLayer = DataAccessLayerBaseClassHelper.GetDataAccessLayer();

            return(DBLayer.CreateNewChildIssue(primaryIssueId, secondaryIssueId));
        }
        public static void SendIssueNotifications(int issueId)
        {
            // validate input
            if (issueId <= DefaultValues.GetIssueIdMinValue())
            {
                throw (new ArgumentOutOfRangeException("issueId"));
            }

            DataAccessLayerBaseClass    DBLayer          = DataAccessLayerBaseClassHelper.GetDataAccessLayer();
            IssueNotificationCollection issNotifications = DBLayer.GetIssueNotificationsByIssueId(issueId);

            System.Web.Mail.SmtpMail.SmtpServer = Globals.SmtpServer;

            string notifyEmail       = Globals.NotifyEmail;
            string desktopDefaultUrl = Globals.DesktopDefaultUrl;

            foreach (IssueNotification notify in issNotifications)
            {
                try {
                    System.Web.Mail.SmtpMail.Send(notifyEmail, notify.NotificationEmail, String.Format("Issue {0} has been updated", issueId), String.Format("The following issue has been updated: \n\n {0}Issues/IssueDetail.aspx?id={1}", desktopDefaultUrl, issueId));
                } catch {}
            }
        }