示例#1
0
        public async Task GetAllAgencyAnnouncements_Returns_Data()
        {
            var _allAgencyAnnouncementSearchCriteriaModel = new AllAgencyAnnouncementSearchCriteriaModel()
            {
            };
            var _commercialRegisterNo = "142154293000206";

            _claims = new Claim[1] {
                new Claim(IdentityConfigs.Claims.SelectedCR, _commercialRegisterNo)
            };
            _announcementController = _announcementController.WithIdentity(_claims);

            var result = await _announcementController.GetAllAgencyAnnouncements(_allAgencyAnnouncementSearchCriteriaModel);

            Assert.NotNull(result);
            Assert.IsType <QueryResult <AllAnouuncementsForAgencyModel> >(result);
            Assert.NotEmpty(result.Items);
            Assert.True(result.PageNumber > 0);
            Assert.True(result.PageSize > 0);
        }
示例#2
0
        public async Task <QueryResult <AllAnouuncementsForAgencyModel> > FindAllAgencyAnnouncements(AllAgencyAnnouncementSearchCriteriaModel criteria)
        {
            var result = await _context.Announcements
                         .Where(a => a.IsActive == true)
                         .WhereIf(criteria.Type == "Current", x => x.StatusId == (int)Enums.AnnouncementStatus.Approved && x.PublishedDate.Value.AddDays(x.AnnouncementPeriod) > DateTime.Now)
                         .WhereIf(criteria.Type == "Finished", a => a.PublishedDate.Value.AddDays(a.AnnouncementPeriod) < DateTime.Now)
                         .WhereIf(!string.IsNullOrEmpty(criteria.CurrentAgencyCode) && !new List <string> {
                RoleNames.MonafasatAccountManager, RoleNames.CustomerService
            }.Contains(criteria.CurrentRoleName), a => a.AgencyCode == criteria.CurrentAgencyCode)
                         .WhereIf(!string.IsNullOrEmpty(criteria.AgencyCode), a => a.AgencyCode == criteria.AgencyCode)
                         .WhereIf(criteria.BranchId.HasValue, a => a.BranchId == criteria.BranchId)
                         .WhereIf(criteria.CurrentBranchId.HasValue && criteria.CurrentBranchId.Value != 0, a => a.BranchId == criteria.CurrentBranchId)
                         .WhereIf(!string.IsNullOrEmpty(criteria.AnnouncementName), a => a.AnnouncementName.Contains(criteria.AnnouncementName))
                         .WhereIf(!string.IsNullOrEmpty(criteria.ReferenceNumber), a => a.ReferenceNumber == criteria.ReferenceNumber)
                         .WhereIf(criteria.FromPublishDate.HasValue, a => a.PublishedDate.Value.Date >= criteria.FromPublishDate.Value)
                         .WhereIf(criteria.ToPublishDate.HasValue, a => a.PublishedDate.Value.Date <= criteria.ToPublishDate.Value)
                         .WhereIf(criteria.AnnouncementStatusId.HasValue && (criteria.AnnouncementStatusId != (int)Enums.AnnouncementStatus.Ended && criteria.AnnouncementStatusId != (int)Enums.AnnouncementStatus.Approved), a => a.StatusId == criteria.AnnouncementStatusId)
                         .WhereIf(criteria.AnnouncementStatusId.HasValue && criteria.AnnouncementStatusId == (int)Enums.AnnouncementStatus.Ended, a => a.PublishedDate.Value.AddDays(a.AnnouncementPeriod) < DateTime.Now)
                         .WhereIf(criteria.AnnouncementStatusId.HasValue && criteria.AnnouncementStatusId == (int)Enums.AnnouncementStatus.Approved, a => (a.PublishedDate.Value.AddDays(a.AnnouncementPeriod) >= DateTime.Now))
                         .WhereIf(!string.IsNullOrEmpty(criteria.CreatedBy), a => a.CreatedBy.Contains(criteria.CreatedBy))
                         .WhereIf(!string.IsNullOrEmpty(criteria.ApprovedBy), a => a.ApprovedBy.Contains(criteria.ApprovedBy))
                         .WhereIf(criteria.TenderTypeId.HasValue, a => a.TenderTypeId == criteria.TenderTypeId)
                         .OrderByDescending(a => a.PublishedDate).ThenByDescending(a => a.CreatedAt)
                         .Select(announcement => new AllAnouuncementsForAgencyModel
            {
                AnnouncementIdString     = Util.Encrypt(announcement.AnnouncementId),
                AnnouncementName         = announcement.AnnouncementName,
                ReferenceNumber          = announcement.ReferenceNumber,
                AgencyName               = announcement.Agency.NameArabic,
                AgencyCode               = announcement.AgencyCode,
                BranchName               = announcement.Branch.BranchName,
                TenderTypeString         = announcement.TenderType.NameAr,
                AnnouncementPeriod       = announcement.AnnouncementPeriod,
                PublishedDate            = announcement.PublishedDate,
                StatusId                 = announcement.StatusId,
                AnnouncementStatusString = announcement.AnnouncementStatusId == (int)Enums.AnnouncementStatus.Ended ? "منتهي" : announcement.AnnouncementStatus.Name
            }
                                 ).ToQueryResult(criteria.PageNumber, criteria.PageSize);

            return(result);
        }
示例#3
0
 public async Task <QueryResult <AllAnouuncementsForAgencyModel> > GetAllAgencyAnnouncements(AllAgencyAnnouncementSearchCriteriaModel criteria)
 {
     return(await _announcementQueries.FindAllAgencyAnnouncements(criteria));
 }
示例#4
0
        public async Task <QueryResult <AllAnouuncementsForAgencyModel> > GetAllAgencyAnnouncements(AllAgencyAnnouncementSearchCriteriaModel criteria)
        {
            criteria.CurrentAgencyCode = User.UserAgency();
            criteria.CurrentBranchId   = User.UserBranch();
            criteria.CurrentRoleName   = User.UserRole();
            var result = await _announcementAppService.GetAllAgencyAnnouncements(criteria);

            return(result);
        }