public async Task UpdateStatus(int travelrequestId, TravelRequestStatus status, string comments) { var travelRequest = await _travelRequestRepository.GetAsync(travelrequestId); if (travelRequest != null) { travelRequest.Status = status; if (!string.IsNullOrWhiteSpace(comments)) { if (!string.IsNullOrEmpty(travelRequest.Comments)) { travelRequest.Comments = String.Format("{0}{1}{2}", travelRequest.Comments, System.Environment.NewLine, comments); } else { travelRequest.Comments = comments; } } await _travelRequestRepository.UpdateAsync(travelRequest); if (travelRequest.Status == TravelRequestStatus.Approved) { TravelsNotificationHub.NotifyApproved(travelRequest); } await _notificationService.EmailNotifyStatusChange(travelRequest, comments); } }
/// <summary> /// <see cref="MyCompany.Travel.Client.ITravelRequestService"/> /// </summary> /// <param name="travelRequestId"><see cref="MyCompany.Travel.Client.ITravelRequestService"/></param> /// <param name="status"><see cref="MyCompany.Travel.Client.ITravelRequestService"/></param> /// <param name="comments"><see cref="MyCompany.Travel.Client.ITravelRequestService"/></param> /// <returns><see cref="MyCompany.Travel.Client.ITravelRequestService"/></returns> public async Task UpdateStatus(int travelRequestId, TravelRequestStatus status, string comments) { string url = String.Format(CultureInfo.InvariantCulture , "{0}api/travelrequests/update?travelRequestId={1}&status={2}&comments={3}", _urlPrefix, travelRequestId, (int)status, comments); await base.GetAsync(url); }