public void Should_Update_ReturnsObj()
        {
            var plaintRequestNotification = new PlaintRequestNotification();
            var obj = plaintRequestNotification.Update(_isSent);

            obj.ShouldNotBeNull();
            obj.ShouldBeOfType(typeof(PlaintRequestNotification));
            obj.IsSent.ShouldBeTrue();
            obj.State.ShouldBe(SharedKernal.ObjectState.Modified);
        }
Beispiel #2
0
        public async Task FindTendersWithPlaintsAfterStoppingPeriodJob()
        {
            List <AgencyCommunicationRequest> agencyCommunications = await _communicationRequestJobQueries.FindTendersWithPlaintsAfterStoppingPeriodJob();

            var agencyCodeList = agencyCommunications.Select(d => d.Tender.AgencyCode).Distinct().ToList();
            var agencies       = await _communicationRequestJobQueries.FindAgenciesByAgencyCodes(agencyCodeList);

            int?agencyCategoryId = 0;

            foreach (var request in agencyCommunications)
            {
                if (request.PlaintNotification == null)
                {
                    continue;
                }
                PlaintRequestNotification obj = request.PlaintNotification;
                obj.Update(true);
                _genericCommandRepository.Update(obj);
                await _genericCommandRepository.SaveAsync();

                agencyCategoryId = agencies.Where(a => a.AgencyCode == request.Tender.AgencyCode).FirstOrDefault().CategoryId;

                NotificationArguments NotificationArguments = new NotificationArguments
                {
                    BodyEmailArgs    = new object[] { "", request.PlaintAcceptanceStatus.Name, request.Tender.ReferenceNumber },
                    SubjectEmailArgs = new object[] { },
                    PanelArgs        = new object[] { request.Tender.ReferenceNumber },
                    SMSArgs          = new object[] { request.Tender.ReferenceNumber }
                };
                MainNotificationTemplateModel approveTender = new MainNotificationTemplateModel(NotificationArguments, $"Tender/Details?STenderId{Util.Encrypt(request.Tender.TenderId)}", NotificationEntityType.Tender, request.Tender.TenderId.ToString(), request.Tender.BranchId);

                if (request.Tender.TenderTypeId == (int)Enums.TenderType.NewDirectPurchase)
                {
                    await _notificationJobAppService.SendNotifications(NotificationOperations.DirectPurchaseSecretary.AgencyCommunicationRequest.PlaintStoppingPeriodEnd, request.Tender.AgencyCode, agencyCategoryId.Value, approveTender, Enums.UserRole.NewMonafasat_SecretaryDirtectPurshasingCommittee.ToString(), (int)request.Tender.DirectPurchaseCommitteeId);
                }
                else
                {
                    await _notificationJobAppService.SendNotifications(NotificationOperations.OffersCheckSecretary.AgencyCommunicationRequest.PlaintStoppingPeriodEnd, request.Tender.AgencyCode, agencyCategoryId.Value, approveTender, Enums.UserRole.NewMonafasat_OffersCheckSecretary.ToString(), (int)request.Tender.OffersCheckingCommitteeId);
                }
            }
        }