Ejemplo n.º 1
0
 public MyQueriesDTO UserQueries(string userId, bool allUsers)
 {
     using (ApplicationDbContext db = new ApplicationDbContext())
     {
         var queryWorkflowUserIds = db.QueryWorkflowUsers.Where(qwu => !allUsers ? qwu.UserId == userId : true).Select(qwu => qwu.Id).ToList();
         var dbQueries            = db.Queries.Where(q => queryWorkflowUserIds.Contains(q.QueryWorkFlowUserId)).OrderByDescending(q => q.Updated);
         var tanIds = dbQueries.Select(q => q.TanId).ToList();
         Dictionary <int, Tan> idWiseTans = db.Tans.Where(t => tanIds.Contains(t.Id)).GroupBy(t => t.Id).ToDictionary(d => d.Key, d => d.First());
         List <QueryDTO>       queries    = new List <QueryDTO>();
         foreach (var q in dbQueries)
         {
             if (idWiseTans.ContainsKey(q.TanId))
             {
                 queries.Add(new QueryDTO
                 {
                     Id           = q.Id,
                     Title        = q.Title,
                     Comment      = q.Comment,
                     Page         = q.Page,
                     QueryType    = q.QueryType,
                     TanId        = q.TanId,
                     TanNumber    = idWiseTans[q.TanId].tanNumber,
                     DocumentPath = Path.Combine(C.ShipmentSharedPath, idWiseTans[q.TanId].DocumentPath)
                 });
             }
         }
         MyQueriesDTO dto = new MyQueriesDTO();
         dto.Queries = queries;
         return(dto);
     }
 }
Ejemplo n.º 2
0
        private async void DoRefreshQueriesAsync(object obj)
        {
            Loading = true;
            try
            {
                ClearQuery.Execute(this);
                Queries = new ObservableCollection <QueryVM>();
                var result = await RestHub.MyQueries();

                if (result.UserObject != null)
                {
                    MyQueriesDTO    myQueriesDto = (MyQueriesDTO)result.UserObject;
                    List <QueryDTO> dtos         = myQueriesDto.Queries;
                    foreach (var dto in dtos)
                    {
                        Queries.Add(new QueryVM
                        {
                            Id           = dto.Id,
                            TanId        = dto.TanId,
                            DocumentPath = dto.DocumentPath,
                            TanNumber    = dto.TanNumber,
                            Comment      = dto.Comment,
                            Page         = dto.Page,
                            QueryType    = dto.QueryType,
                            Title        = dto.Title
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                AppErrorBox.ShowErrorMessage("Error while loading Queries", ex.ToString());
            }
            Loading = false;
        }
Ejemplo n.º 3
0
        public static async Task <RestStatus> MyQueries()
        {
            try
            {
                RestStatus status = new RestStatus();
                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("");

                        HttpResponseMessage response = await httpClient.GetAsync($"{My_QUERIES}?allUsers={(U.RoleId == 4 ? true : false)}");

                        using (HttpContent content = response.Content)
                        {
                            string responseText = await content.ReadAsStringAsync();

                            status.HttpCode     = response.StatusCode;
                            status.HttpResponse = responseText;
                            if (status.HttpCode == System.Net.HttpStatusCode.OK)
                            {
                                MyQueriesDTO myQueries = JsonConvert.DeserializeObject <MyQueriesDTO>(responseText);
                                status.UserObject    = myQueries;
                                status.StatusMessage = "User Queries Loaded Successfully . .";
                            }
                            else
                            {
                                status.StatusMessage = "Can't Load Queries";
                                status.UserObject    = false;
                            }
                        }
                    }
                }
                return(status);
            }
            catch (Exception ex)
            {
                Log.This(ex);
            }
            return(null);
        }