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);
            }
        }
Exemple #2
0
        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());
                }
            }
        }
Exemple #3
0
        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;
            }
        }