public IActionResult CreateWorkItemComment(int workItemId, [FromBody] WorkItemCommentCreateModel workItemComment) { if (workItemComment == null) { return(BadRequest("Not a valid request.")); } var workItemUserDetails = new WorkItemUserDetails { Id = User.FindFirst("userid")?.Value.NullSafeTrim(), Name = $"{User.FindFirst("firstname")?.Value} {User.FindFirst("lastname")?.Value}".NullSafeTrim(), Phone = User.FindFirst("dayphone")?.Value.NullSafeTrim(), Email = User.FindFirst("emailaddress")?.Value.NullSafeTrim(), Fax = User.FindFirst("faxnumber")?.Value.NullSafeTrim() }; var addWorkItemCommunicationResponse = _workItemTrackerServiceRepository.CreateWorkItemCommunication(workItemId, workItemUserDetails, workItemComment); if (addWorkItemCommunicationResponse.Success == false) { return(BadRequest(addWorkItemCommunicationResponse.ErrorMessage)); } return(CreatedAtRoute("GetAllWorkItemComments", new { CommunicationId = addWorkItemCommunicationResponse.CommunicationId })); }
public AddWorkItemCommunicationResponse CreateWorkItemCommunication(int workItemId, WorkItemUserDetails workItemUserDetails, WorkItemCommentCreateModel commentModel) { #region Create 'AddWorkItemCommunicationRequest' request var request = CreateBasicRequest <AddWorkItemCommunicationRequest>(); const int commentMethodIsEBSCONET = 6; const int commentFromContactTypeIsCustomer = 1; const int commentToContactTypeIsInternal = 3; const string commentOrganization = "EBSCO, Inc."; request.Communication = new Communication { WorkItemId = workItemId, CommunicationMethodId = commentModel.CommentMethodId ?? commentMethodIsEBSCONET, CommunicationFromContactTypeId = commentModel.CommentFromContactTypeId ?? commentFromContactTypeIsCustomer, CommunicationToContactTypeId = commentModel.CommentToContactTypeId ?? commentToContactTypeIsInternal, Organization = commentModel.Organization ?? commentOrganization, ContactName = workItemUserDetails.Name, ContactPhone = workItemUserDetails.Phone, ContactEmail = workItemUserDetails.Email, ContactFax = workItemUserDetails.Fax, Details = commentModel.Details, IsInCommunication = commentModel.IsInComment, CreatedBy = workItemUserDetails.Id }; request.CorrelationId = Guid.NewGuid().ToString(); #endregion return(ServiceHelper.ExecuteServiceCall( _serviceFactory.Invoke(), x => x.AddWorkItemCommunicationAsync(request) )); }