internal static MarkAsReceivedModel MarkAsReceived(IServerAuthentication restClientAuthenticator, MarkAsReceivedModel model, string controllerName) { var baseAddress = restClientAuthenticator.GetBaseAddress(); var authorizationToken = restClientAuthenticator.GetToken(); var tries = 0; var keepTrying = true; using (var restClient = new HttpClient()) { restClient.BaseAddress = new Uri(baseAddress); restClient.DefaultRequestHeaders.Accept.Clear(); restClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); while (keepTrying) { restClient.DefaultRequestHeaders.Add("Authorization", authorizationToken); var response = restClient.PostAsJsonAsync <MarkAsReceivedModel>(string.Format(ApiClientGenericObjectResources.PostRequestUri, controllerName), model).Result; if (response.StatusCode == HttpStatusCode.Unauthorized) { authorizationToken = restClientAuthenticator.GetToken(true); tries++; keepTrying = tries < 4; } else { keepTrying = false; if (response.IsSuccessStatusCode) { MarkAsReceivedModel MarkAsReceivedModel = response.Content.ReadAsAsync <MarkAsReceivedModel>().Result; return(MarkAsReceivedModel); } else { var additionalInformation = response.Content.ReadAsStringAsync().Result; throw new ApplicationException(string.Format("{0}{1}", string.Format(ApiClientGenericObjectResources.UnsuccessfulResponseMessage, HttpStatusCode.BadRequest.ToString()), additionalInformation)); } } } throw new ApplicationException(string.Format(ApiClientGenericObjectResources.UnsuccessfulResponseMessage, HttpStatusCode.Unauthorized.ToString())); } }
/// Sets the status for the patient update to approved or denied. (To do) Triggers an email to inform patient of the results. public static MarkAsReceivedModel MarkAsReceived(IServerAuthentication restClientAuthenticator, MarkAsReceivedModel model) { return(MarkAsReceivedProvider.MarkAsReceived(restClientAuthenticator, model, MarkAsSentControllerName)); }
public ActionResult Send(MarkAsReceivedModel viewModel) { viewModel.ResultMessage = string.Empty; Guid markAsReceivedID; if (!Guid.TryParse(viewModel.MarkAsReceivedID, out markAsReceivedID)) { viewModel.Success = false; viewModel.ResultMessage = "Please provide a valid ID."; return(View("Index", viewModel)); } Api.Models.MarkAsReceived.MarkAsReceivedModel result; try { switch (viewModel.ObjectType) { case "Appointment cancel request": result = AppointmentCancelRequestProvider.MarkAsReceived(Helpers.GetAuthenticator(), new Api.Models.MarkAsReceived.MarkAsReceivedModel { InternalID = markAsReceivedID }); viewModel.ResultMessage = result.ResultMessage; viewModel.Success = result.Success; break; case "Appointment request": result = AppointmentRequestProvider.MarkAsReceived(Helpers.GetAuthenticator(), new Api.Models.MarkAsReceived.MarkAsReceivedModel { InternalID = markAsReceivedID }); viewModel.ResultMessage = result.ResultMessage; viewModel.Success = result.Success; break; case "Appointment update": result = CommunicationUpdatesAppointmentsProvider.MarkAsReceived(Helpers.GetAuthenticator(), new Api.Models.MarkAsReceived.MarkAsReceivedModel { InternalID = markAsReceivedID }); viewModel.ResultMessage = result.ResultMessage; viewModel.Success = result.Success; break; case "Communication update": result = PatientCommunicationProvider.MarkAsReceived(Helpers.GetAuthenticator(), new Api.Models.MarkAsReceived.MarkAsReceivedModel { InternalID = markAsReceivedID }); viewModel.ResultMessage = result.ResultMessage; viewModel.Success = result.Success; break; case "Patient update": result = CommunicationUpdatesPatientsProvider.MarkAsReceived(Helpers.GetAuthenticator(), new Api.Models.MarkAsReceived.MarkAsReceivedModel { InternalID = markAsReceivedID }); viewModel.ResultMessage = result.ResultMessage; viewModel.Success = result.Success; break; case "Order update": result = CommunicationUpdatesOrdersProvider.MarkAsReceived(Helpers.GetAuthenticator(), new Api.Models.MarkAsReceived.MarkAsReceivedModel { InternalID = markAsReceivedID }); viewModel.ResultMessage = result.ResultMessage; viewModel.Success = result.Success; break; default: viewModel.Success = false; viewModel.ResultMessage = "Please select an object type."; break; } } catch (Exception ex) { viewModel.ResultMessage = ex.GetBaseException().Message; } return(View("Index", viewModel)); }
// Index public ActionResult Index() { var viewModel = new MarkAsReceivedModel(); return(View(viewModel)); }