コード例 #1
0
        /// <summary>
        /// Update specific fields of alert
        /// </summary>
        /// <param name="alert"></param>
        /// <param name="updateAlertModel"></param>
        /// <returns>the updated alert</returns>
        public async Task <Alert> UpdateAlert(Alert alert, UpdateAlertModel updateAlertModel)
        {
            if (alert == null)
            {
                throw new ArgumentNullException(nameof(alert));
            }

            if (!Enum.TryParse <AlertStatus>(updateAlertModel.UpdateStatus, true, out var status))
            {
                throw new ArgumentOutOfRangeException(nameof(alert.Status));
            }

            alert.Status = status;

            if (!Enum.TryParse <AlertFeedback>(updateAlertModel.Feedback, true, out var feedback))
            {
                throw new ArgumentOutOfRangeException(nameof(alert.Feedback));
            }

            alert.Feedback = feedback;

            if (!string.IsNullOrEmpty(updateAlertModel.Comments))
            {
                alert.Comments = updateAlertModel.Comments;
            }

            alert.AssignedTo = await GetMyEmailAddress();

            return(await graphClient.Security.Alerts[alert.Id].Request().UpdateAsync(alert));
        }
コード例 #2
0
        /// <summary>
        /// Update specific fields of alert
        /// </summary>
        /// <param name="alert"></param>
        /// <param name="updateAlertModel"></param>
        /// <returns>the updated alert</returns>
        public async Task <Alert> UpdateAlert(Alert alert, UpdateAlertModel updateAlertModel)
        {
            if (alert == null)
            {
                throw new ArgumentNullException(nameof(alert));
            }

            if (!Enum.TryParse <AlertStatus>(updateAlertModel.UpdateStatus, true, out var status))
            {
                throw new ArgumentOutOfRangeException(nameof(alert.Status));
            }

            alert.Status = status;

            if (!Enum.TryParse <AlertFeedback>(updateAlertModel.Feedback, true, out var feedback))
            {
                throw new ArgumentOutOfRangeException(nameof(alert.Feedback));
            }

            alert.Feedback = feedback;

            if (!string.IsNullOrEmpty(updateAlertModel.Comments))
            {
                updateAlertModel.Comments = updateAlertModel.Comments.Replace("\r", "");
                char[]        charSeperators = new char[] { '\n' };
                List <string> comments       = updateAlertModel.Comments.Split(charSeperators, StringSplitOptions.RemoveEmptyEntries).ToList();
                alert.Comments = comments;
            }

            alert.AssignedTo = await GetMyEmailAddress();

            return(await graphClient.Security.Alerts[alert.Id].Request().UpdateAsync(alert));
        }