Ejemplo n.º 1
0
        public async Task SendTenderByUnitSecretaryForModificationAsync(ReturnTenderToDataEntryFromUnitFormodificationsModel returnTenderToDataEntryFromUnitFormodificationsModel)
        {
            var    tenderId = Util.Decrypt(returnTenderToDataEntryFromUnitFormodificationsModel.tenderIdString);
            Tender tender   = await _tenderQueries.FindTenderWithUnitHistoryById(tenderId);

            _tenderDomainService.IsValidToReturnTenderToDataEntryForEdit(tender);
            tender.DeactiveAllAssingments();
            tender.SetUnitStatus(Enums.TenderUnitStatus.ReturnedToAgencyForEdit);
            tender.DeleteUnitModificationAttachments();
            TenderUnitStatusesHistory tenderUnitStatusesHistory = new TenderUnitStatusesHistory(comment: returnTenderToDataEntryFromUnitFormodificationsModel.notes, tenderUnitStatusId: (int)Enums.TenderUnitStatus.ReturnedToAgencyForEdit, updateTypeId: returnTenderToDataEntryFromUnitFormodificationsModel.modificationTypeId, estimatedValue: tender.EstimatedValue);

            tender.TenderUnitStatusesHistories.Add(tenderUnitStatusesHistory);
            tender.UpdateTenderStatus(Enums.TenderStatus.ReturnedFromUnitToAgencyForEdit,
                                      returnTenderToDataEntryFromUnitFormodificationsModel.notes,
                                      _httpContextAccessor.HttpContext.User.UserId(),
                                      TenderActions.SendTenderByUnitSecretaryForModification);
            List <TenderAttachment> tenderAttachments = new List <TenderAttachment>();

            foreach (var file in returnTenderToDataEntryFromUnitFormodificationsModel.files)
            {
                tenderAttachments.Add(new TenderAttachment(file.Name, file.FileNetReferenceId, (int)Enums.AttachmentType.UnitModificationsAttachmentsToDataEntry));
            }
            tender.Attachments.AddRange(tenderAttachments);
            #region [Send Notification]
            NotificationArguments NotificationArguments = new NotificationArguments
            {
                BodyEmailArgs    = new object[] { tender.ReferenceNumber },
                SubjectEmailArgs = new object[] { },
                PanelArgs        = new object[] { tender.ReferenceNumber },
                SMSArgs          = new object[] { tender.ReferenceNumber }
            };
            MainNotificationTemplateModel mainNotificationTemplateModel = new MainNotificationTemplateModel(NotificationArguments,
                                                                                                            $"Tender/Details?STenderId={Util.Encrypt(tender.TenderId)}",
                                                                                                            NotificationEntityType.Tender,
                                                                                                            tender.TenderId.ToString(),
                                                                                                            tender.BranchId);

            await _notificationAppService.SendNotificationForBranchUsers(NotificationOperations.Auditor.OperationsOnTheTender.editTenderFromUnit, tender.BranchId, mainNotificationTemplateModel);

            await _notificationAppService.SendNotificationForBranchUsers(NotificationOperations.DataEntry.OperationsOnTheTender.editTenderFromUnit, tender.BranchId, mainNotificationTemplateModel);

            #endregion
            _genericCommandRepository.Update(tender);
            await _genericCommandRepository.SaveAsync();
        }
Ejemplo n.º 2
0
        public async Task Should_SendTenderByUnitSecretaryLevelTwoForModificationAsync()
        {
            MoqUser();
            ReturnTenderToDataEntryFromUnitFormodificationsModel modificationModel = new ReturnTenderToDataEntryFromUnitFormodificationsModel()
            {
                notes = "s",
                files = new List <ExtendOffersValidityAttachementViewModel>()
            };

            _moqTenderQueries.Setup(i => i.FindTenderWithUnitHistoryById(It.IsAny <int>()))
            .Returns(() => { return(Task.FromResult <Tender>(new TenderDefault().GetGeneralTender())); });
            _moqTenderDomainService.Setup(d => d.IsValidToReturnTenderToDataEntryForEditLevelTwo(It.IsAny <Tender>()))
            .Verifiable();
            _NotificationService.Setup(o => o.SendNotificationForBranchUsers(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <MainNotificationTemplateModel>()))
            .Verifiable();
            _NotificationService.Setup(o => o.SendNotificationForBranchUsers(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <MainNotificationTemplateModel>()))
            .Verifiable();

            await _sut.SendTenderByUnitSecretaryLevelTwoForModificationAsync(modificationModel);

            _moqCommandRepository.Verify(g => g.Update(It.IsAny <Tender>()));
            _moqCommandRepository.Verify(g => g.SaveAsync());
        }
Ejemplo n.º 3
0
        public async Task Should_SendToLevelTwoFromUnitSecretaryLevelOneAsync()
        {
            MoqUser();
            ReturnTenderToDataEntryFromUnitFormodificationsModel modificationModel = new ReturnTenderToDataEntryFromUnitFormodificationsModel()
            {
                notes = "s",
                files = new List <ExtendOffersValidityAttachementViewModel>()
            };

            _moqTenderQueries.Setup(i => i.FindTenderWithUnitHistoryById(It.IsAny <int>()))
            .Returns(() => { return(Task.FromResult <Tender>(new TenderDefault().GetGeneralTender())); });
            _moqTenderDomainService.Setup(d => d.IsValidToSendToLevelTwoFromUnitSecretaryLevelOne(It.IsAny <Tender>(), It.IsAny <string>()))
            .Verifiable();
            _IIDMAppService.Setup(i => i.FindUserProfileByUserNameAsync(It.IsAny <string>()))
            .Returns(() => { return(Task.FromResult <UserProfile>(new AgencyDefaults().GetUserProfileData())); });
            _NotificationService.Setup(o => o.SendNotificationForCommitteeUsers(It.IsAny <int>(), null, It.IsAny <MainNotificationTemplateModel>()))
            .Verifiable();

            await _sut.SendToLevelTwoFromUnitSecretaryLevelOneAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>());

            _moqTenderCommand.Verify(g => g.UpdateAsync(It.IsAny <Tender>()));
            _moqCommandRepository.Verify(g => g.CreateAsync(It.IsAny <TenderUnitAssign>()));
            _moqCommandRepository.Verify(g => g.SaveAsync());
        }