コード例 #1
0
        public async Task GetSupplierAnnouncements_Returns_Data()
        {
            var _supplierAnnouncementSearchCriteria = new SupplierAnnouncementSearchCriteria()
            {
            };

            var result = await _announcementController.GetSupplierAnnouncements(_supplierAnnouncementSearchCriteria);

            Assert.NotNull(result);
            Assert.IsType <QueryResult <SupplierGridAnnouncementModel> >(result);
            Assert.Empty(result.Items);
            Assert.True(result.PageNumber > 0);
            Assert.True(result.PageSize > 0);
        }
コード例 #2
0
        public async Task <ActionResult> SupplierAnnouncementsPaging(SupplierAnnouncementSearchCriteria announcementCriteria)
        {
            try
            {
                var result = await _ApiClient.GetQueryResultAsync <SupplierGridAnnouncementModel>("Announcement/GetSupplierAnnouncements/", announcementCriteria.ToDictionary());

                return(Json(new PaginationModel(result.Items, result.TotalCount, announcementCriteria.PageSize, result.PageNumber, null)));
            }
            catch (AuthorizationException ex)
            {
                throw ex;
            }
            catch (BusinessRuleException ex)
            {
                return(JsonErrorMessage(ex.Message));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString(), ex);
                return(JsonErrorMessage(Resources.TenderResources.ErrorMessages.UnexpectedError));
            }
        }
コード例 #3
0
        public async Task <QueryResult <SupplierGridAnnouncementModel> > FindSupplierAnnouncements(SupplierAnnouncementSearchCriteria cretria)
        {
            var query = await _context.Announcements.
                        Where(d => d.AnnouncementJoinRequests.Any(d => d.Cr == cretria.CommericalRegisterNo && d.StatusId == (int)Enums.AnnouncementJoinRequestStatus.Sent))
                        .WhereIf(!string.IsNullOrEmpty(cretria.AnnouncementName), f => f.AnnouncementName.Contains(cretria.AnnouncementName))
                        .WhereIf(!string.IsNullOrEmpty(cretria.ReferenceNumber), f => f.ReferenceNumber == cretria.ReferenceNumber)
                        .WhereIf(!string.IsNullOrEmpty(cretria.AgencyCode), f => f.AgencyCode == cretria.AgencyCode)
                        .WhereIf(cretria.TenderTypeId.HasValue, a => a.TenderTypeId == cretria.TenderTypeId)
                        .OrderByDescending(a => a.PublishedDate)
                        .Select(d =>
                                new SupplierGridAnnouncementModel
            {
                ActivityDescription    = d.ActivityDescription,
                agencyName             = d.Agency.NameArabic,
                announcementStatusName = d.AnnouncementStatusId == (int)Enums.AnnouncementStatus.Ended ? "منتهي" : d.AnnouncementStatus.Name,
                announcementTypeName   = d.TenderType.NameAr,
                ReferenceNumber        = d.ReferenceNumber,
                AnnouncementName       = d.AnnouncementName,
                JoinRequestStatusId    = d.AnnouncementJoinRequests.OrderByDescending(d => d.CreatedAt).FirstOrDefault(f => f.Cr == cretria.CommericalRegisterNo).StatusId,
                JoinRequestStatusName  = d.AnnouncementJoinRequests.OrderByDescending(d => d.CreatedAt).FirstOrDefault(f => f.Cr == cretria.CommericalRegisterNo).joinRequestStatus.NameAr,
                publishDate            = d.PublishedDate,
                lastApplyDate          = d.LastApplyingRequestsDate,
                Id = d.AnnouncementId,
                announcementPeriod   = d.AnnouncementPeriod,
                AnnouncementStatusId = d.AnnouncementStatusId
            }
                                ).ToQueryResult(cretria.PageNumber, cretria.PageSize);

            foreach (var item in query.Items)
            {
                item.lastApplyDateString  = item.lastApplyDate.HasValue ? item.lastApplyDate.Value.ToHijriDateWithFormat("yyyy-MM-dd") : "";
                item.publishDateString    = item.publishDate.HasValue ? item.publishDate.Value.ToHijriDateWithFormat("yyyy-MM-dd") : "";
                item.AnnouncementIdString = Util.Encrypt(item.Id);
            }
            return(query);
        }
コード例 #4
0
 public async Task <QueryResult <SupplierGridAnnouncementModel> > GetSupplierAnnouncements(SupplierAnnouncementSearchCriteria cretria)
 {
     cretria.CommericalRegisterNo = _httpContextAccessor.HttpContext.User.SupplierNumber();
     return(await _announcementQueries.FindSupplierAnnouncements(cretria));
 }
コード例 #5
0
        public async Task <QueryResult <SupplierGridAnnouncementModel> > GetSupplierAnnouncements(SupplierAnnouncementSearchCriteria cretria)
        {
            var suppliers = await _announcementAppService.GetSupplierAnnouncements(cretria);

            return(suppliers);
        }