Exemple #1
0
        public async Task CreateNewAnnouncement_UpdateSuccess()
        {
            var _createAnnouncementModel = new CreateAnnouncementModel()
            {
                AnnouncementName               = "announcement name",
                IntroAboutTender               = "into about tender",
                AnnouncementPeriod             = 1,
                InsideKsa                      = true,
                Details                        = "details",
                ActivityDescription            = "activity description",
                AnnouncementId                 = 14,
                AnnouncementIdString           = Util.Encrypt(14),
                TenderTypeId                   = 1,
                AgencyCode                     = "019001000000",
                ReasonIdForSelectingTenderType = 0,
            };

            var _branchId   = "3";
            var _agencyCode = "019001000000";

            _claims = new Claim[3] {
                new Claim(IdentityConfigs.Claims.BranchId, _branchId),
                new Claim(IdentityConfigs.Claims.isSemiGovAgency, "1"),
                new Claim(IdentityConfigs.Claims.SelectedCR, _agencyCode),
            };
            _announcementController = _announcementController.WithIdentity(_claims);

            await _announcementController.CreateNewAnnouncement(_createAnnouncementModel);
        }
Exemple #2
0
        public async Task GetAnnouncementByIdForEdit_Returns_Data()
        {
            var _announcementIdString = Util.Encrypt(13);
            var _expectedResult       = new CreateAnnouncementModel()
            {
                AgencyCode           = "022001000000",
                AnnouncementId       = 13,
                AnnouncementIdString = "4D*@@**CkYL*@@**L*@@**yHtLTllLUmsg==",
                AnnouncementName     = "اعلان اول",
                CreatedBy            = "مدخل وسكرتير نظام المنافسات والمشتريات | 5555555555",
                Details          = "تفاصيل",
                BranchId         = 4,
                InsideKsa        = true,
                IntroAboutTender = "تعريف",
                TenderTypeId     = 2
            };

            var result = await _announcementController.GetAnnouncementByIdForEdit(_announcementIdString);

            Assert.NotNull(result);
            Assert.IsType <CreateAnnouncementModel>(result);
            Assert.Equal(_expectedResult.AgencyCode, result.AgencyCode);
            Assert.Equal(_expectedResult.AnnouncementId, result.AnnouncementId);
            Assert.Equal(_expectedResult.AnnouncementIdString, result.AnnouncementIdString);
            Assert.Equal(_expectedResult.AnnouncementName, result.AnnouncementName);
            Assert.Equal(_expectedResult.CreatedBy, result.CreatedBy);
            Assert.Equal(_expectedResult.Details, result.Details);
            Assert.Equal(_expectedResult.BranchId, result.BranchId);
            Assert.Equal(_expectedResult.IntroAboutTender, result.IntroAboutTender);
            Assert.Equal(_expectedResult.TenderTypeId, result.TenderTypeId);
            Assert.False(result.InsideKsa);
        }
Exemple #3
0
        public async Task CreateNewAnnouncement(CreateAnnouncementModel announcementModel)
        {
            Check.ArgumentNotNull(nameof(announcementModel), announcementModel);
            if (!string.IsNullOrEmpty(announcementModel.AnnouncementIdString))
            {
                // Update Existing Announcement
                Announcement updatedAnnouncement = await _announcementQueries.GetAnnouncementByIdForCreationStep(Util.Decrypt(announcementModel.AnnouncementIdString));

                updatedAnnouncement.UpdateAnnouncement(announcementModel.AnnouncementName,
                                                       announcementModel.AnnouncementPeriod, announcementModel.TenderTypeId, announcementModel.ReasonIdForSelectingTenderType, announcementModel.IntroAboutTender, announcementModel.InsideKsa, announcementModel.Details,
                                                       announcementModel.ActivityDescription, announcementModel.BranchId, announcementModel.AgencyCode,
                                                       announcementModel.ActivityIds, announcementModel.ConstructionWorkIds, announcementModel.MaintenanceRunnigWorkIds, announcementModel.AreasIds, announcementModel.CountriesIds);
                await _announcementCommands.UpdateAnnouncement(updatedAnnouncement);
            }
            else
            {
                // Add New Announcement
                Announcement announcement = new Announcement(announcementModel.AnnouncementName,
                                                             announcementModel.AnnouncementPeriod, announcementModel.TenderTypeId, announcementModel.ReasonIdForSelectingTenderType, announcementModel.IntroAboutTender, announcementModel.InsideKsa, announcementModel.Details,
                                                             announcementModel.ActivityDescription, announcementModel.BranchId, announcementModel.AgencyCode,
                                                             announcementModel.ActivityIds, announcementModel.ConstructionWorkIds, announcementModel.MaintenanceRunnigWorkIds, announcementModel.AreasIds, announcementModel.CountriesIds);
                await _announcementCommands.CreateAnnouncement(announcement);
            }
            await _announcementCommands.SaveChangesAsync();
        }
        public async Task <ActionResult> CreateAnnouncement(string announcementIdString)
        {
            try
            {
                CreateAnnouncementModel announcementModel = new CreateAnnouncementModel();
                if (string.IsNullOrEmpty(announcementIdString))
                {
                    announcementModel.CreatedBy          = User.FullName();
                    announcementModel.AnnouncementPeriod = 10;
                    return(View(announcementModel));
                }
                var newAnnouncementModel = await _ApiClient.GetAsync <CreateAnnouncementModel>("Announcement/GetAnnouncementByIdForEdit/" + announcementIdString, null);

                return(View(newAnnouncementModel));
            }
            catch (AuthorizationException ex)
            {
                throw ex;
            }
            catch (BusinessRuleException ex)
            {
                AddError(ex.Message);
                return(RedirectToAction(nameof(AllAgencyAnnouncements)));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString(), ex);
                AddError(Resources.TenderResources.ErrorMessages.UnexpectedError);
                return(RedirectToAction(nameof(AllAgencyAnnouncements)));
            }
        }
Exemple #5
0
        public async Task <IActionResult> CreateAnnouncement(
            [FromBody] CreateAnnouncementModel model)
        {
            model.Author = User.Identity.Name;
            var entity = _mapper.Map <CreateAnnouncementModel, Announcement>(model);

            await _repo.Announcements.InsertOneAsync(entity);

            return(new ObjectResult(new { id = entity.Id }));
        }
        public async Task <IActionResult> CreateAnnouncement(CreateAnnouncementModel announcementModel)
        {
            try
            {
                if (announcementModel.InsideKsa)
                {
                    ModelState.Remove("CountriesIds");
                    announcementModel.CountriesIds.Clear();
                }
                else
                {
                    ModelState.Remove("AreasIds");
                    announcementModel.AreasIds.Clear();
                }

                if (!ModelState.IsValid)
                {
                    announcementModel.CreatedBy = User.FullName();
                    return(View(announcementModel));
                }
                await _ApiClient.PostAsync("Announcement/CreateNewAnnouncement", null, announcementModel);

                return(RedirectToAction(nameof(AllAgencyAnnouncements)));
            }
            catch (AuthorizationException ex)
            {
                throw ex;
            }
            catch (BusinessRuleException ex)
            {
                AddError(ex.Message);
                announcementModel.CreatedBy = User.FullName();
                return(View(announcementModel));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString(), ex);
                AddError(Resources.TenderResources.ErrorMessages.UnexpectedError);
                return(RedirectToAction(nameof(Index)));
            }
        }
Exemple #7
0
 public async Task CreateNewAnnouncement([FromBody] CreateAnnouncementModel announcementModel)
 {
     announcementModel.BranchId   = User.UserBranch();
     announcementModel.AgencyCode = User.UserAgency();
     await _announcementAppService.CreateNewAnnouncement(announcementModel);
 }