public object Workflow(int id, string userId) { using (ApplicationDbContext db = new ApplicationDbContext()) { var queryWorkflowUser = db.Queries.Include(nameof(QueryWorkflowUser.User)).Where(q => q.Id == id).Select(q => q.QueryWorkFlowUser).FirstOrDefault(); var user = db.Users.Find(queryWorkflowUser.UserId); QueryWorkflowDTO dto = new QueryWorkflowDTO(); var nextUser = NextUser(db, (int)queryWorkflowUser.Role, queryWorkflowUser.WorkflowId); if (nextUser != null) { dto.AllowSubmit = true; dto.NextUser = nextUser.User.UserName; } if (nextUser == null && queryWorkflowUser.Role == QueryRole.L5) { dto.AllowSubmit = true; dto.NextUser = Curator(db, queryWorkflowUser.WorkflowId)?.User?.UserName; } var previousUser = PreviousUser(db, (int)queryWorkflowUser.Role, queryWorkflowUser.WorkflowId); if (previousUser != null) { dto.AllowReject = true; dto.PreviousUser = previousUser.User.UserName; } dto.CurrentUser = user.UserName; return(dto); } }
private async void DoLoadWorkflow(object obj) { Responses = new ObservableCollection <QueryResponseVM>(); if (FormQuery != null && FormQuery.Id > 0) { try { var result = await RestHub.QueryWorkflow(FormQuery.Id); if (result.UserObject != null) { QueryWorkflowDTO dto = result.UserObject as QueryWorkflowDTO; if (dto != null) { AllowSubmit = dto.AllowSubmit; AllowReject = dto.AllowReject; string before = String.IsNullOrEmpty(dto.PreviousUser) ? String.Empty : dto.PreviousUser + " <img src='http://www.iconsdb.com/icons/download/icon-sets/web-2-blue/arrow-11-24.jpg'/>"; string after = String.IsNullOrEmpty(dto.NextUser) ? String.Empty : "<img src='http://www.iconsdb.com/icons/download/orange/arrow-11-24.jpg'/>" + dto.NextUser; QueryWorkflow = $"{before} <b>{dto.CurrentUser}</b> {after}"; } } else { MessageBox.Show("Can't Load Responses . ."); } } catch (Exception ex) { AppErrorBox.ShowErrorMessage("Error while Loading Responses . .", ex.ToString()); } } }
public static async Task <RestStatus> QueryWorkflow(int queryId) { try { ; RestStatus status = new RestStatus(); List <string> tanNums = new List <string>(); if (!string.IsNullOrEmpty(Sessionkey)) { using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(BEARER_HEDER, Sessionkey); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(APPLICATION_JSON)); StringContent stringContent = new StringContent("productId=1"); HttpResponseMessage response = await httpClient.PostAsync(QUERY_WORKFLOW + "?id=" + queryId, stringContent); using (HttpContent content = response.Content) { string responseText = await content.ReadAsStringAsync(); status.HttpCode = response.StatusCode; status.HttpResponse = responseText; if (status.HttpCode == System.Net.HttpStatusCode.OK) { QueryWorkflowDTO queryWorkflow = JsonConvert.DeserializeObject <QueryWorkflowDTO>(responseText); status.UserObject = queryWorkflow; status.StatusMessage = "Workflows Loaded Successfully . ."; } else { status.StatusMessage = "Can't Get worflow . . ."; } } } ; } return(status); } catch (Exception ex) { Log.This(ex); throw; } }