Exemplo n.º 1
0
        public async Task GetAnnouncementDetails_Returns_Data()
        {
            var _announcementIdString = Util.Encrypt(13);
            var _expectedResult       = new AnnouncementDetailsModel()
            {
                AgencyCode                    = "",
                AgencyName                    = "وزارة الصحة - الديوان العام",
                AnnouncementId                = 13,
                AnnouncementIdString          = "4D*@@**CkYL*@@**L*@@**yHtLTllLUmsg==",
                AnnouncementJoinRequestsCount = 1,
                AnnouncementName              = "اعلان اول",
                AnnouncementPeriod            = 1,
                BranchName                    = "فرع ابراهيم 1",
                CreatedBy = "مدخل وسكرتير نظام المنافسات والمشتريات | 5555555555",
                Details   = "تفاصيل"
            };

            var result = await _announcementController.GetAnnouncementDetails(_announcementIdString);

            Assert.NotNull(result);
            Assert.IsType <AnnouncementDetailsModel>(result);
            Assert.Equal(_expectedResult.AgencyCode, result.AgencyCode);
            Assert.Equal(_expectedResult.AgencyName, result.AgencyName);
            Assert.Equal(_expectedResult.AnnouncementId, result.AnnouncementId);
            Assert.Equal(_expectedResult.AnnouncementIdString, result.AnnouncementIdString);
            Assert.Equal(_expectedResult.AnnouncementJoinRequestsCount, result.AnnouncementJoinRequestsCount);
            Assert.Equal(_expectedResult.AnnouncementName, result.AnnouncementName);
            Assert.Equal(_expectedResult.AnnouncementPeriod, result.AnnouncementPeriod);
            Assert.Equal(_expectedResult.BranchName, result.BranchName);
            Assert.Equal(_expectedResult.CreatedBy, result.CreatedBy);
            Assert.Equal(_expectedResult.Details, result.Details);
        }
        public ActionResult Confirm(int id, string hash)
        {
            AnnouncementDetailsModel announcement = GetAnnouncementById(id);
            string computedHash = ToHash(id, announcement.Email);

            if (computedHash == hash)
            {
                HttpResponseMessage response = ConfirmAnnouncement(id, announcement.Email);
                if (response.IsSuccessStatusCode)
                {
                    ViewBag.Confirmation = "Your announcement has been successfully posted!";
                    return(View());
                }
                else
                {
                    ViewBag.Confirmation = "There was a problem posting your announcement!";
                    return(View());
                }
            }
            else
            {
                ViewBag.Confirmation = "Forbidden!";
                return(View());
            }
        }
        public AnnouncementDetailsModel GetAnnouncementById(int id)
        {
            RestClient <AnnouncementDetailsModel> rc = new RestClient <AnnouncementDetailsModel>();

            rc.WebServiceUrl = "http://localhost:61144/api/announcements/";
            AnnouncementDetailsModel announcement = rc.GetById(id);

            return(announcement);
        }
        public ActionResult Edit(int id)
        {
            AnnouncementDetailsModel announcement    = GetAnnouncementById(id);
            AnnouncementEditModel    newAnnouncement = new AnnouncementEditModel();

            newAnnouncement.AnnouncementId = announcement.AnnouncementId;
            newAnnouncement.Phonenumber    = announcement.Phonenumber;
            newAnnouncement.Email          = announcement.Email;
            newAnnouncement.Title          = announcement.Title;
            newAnnouncement.Description    = announcement.Description;
            newAnnouncement.CategoryId     = announcement.CategoryId;
            ViewBag.Categories             = GetCategories();
            return(View(newAnnouncement));
        }
        public ActionResult Create(AnnouncementCreateModel announcement)
        {
            AnnouncementDetailsModel result = PostAnnouncement(announcement);
            MailMessage message             = new MailMessage();

            message.To.Add(announcement.Email);
            message.Subject = announcement.Title;
            var callbackUrl = Url.Action("Confirm", "Announcements", new { id = result.AnnouncementId, hash = ToHash(result.AnnouncementId, announcement.Email) }, protocol: Request.Url.Scheme);

            message.Body       = "Please confirm your announcement by clicking <a href=\"" + callbackUrl + "\">here</a>";
            message.IsBodyHtml = true;


            SendEmail(message);


            return(RedirectToAction("List"));
        }
        //[ValidateAntiForgeryToken]
        public ActionResult VerifyEmail(int id, EmailTextBox txtBox)
        {
            AnnouncementDetailsModel announcement = GetAnnouncementById(id);

            if (announcement.Email == txtBox.Email)
            {
                if (!(announcement.Closed))
                {
                    return(RedirectToAction("Edit", new { id = announcement.AnnouncementId }));
                }
                else
                {
                    ViewBag.Error = "This announcement is closed! Cannot edit!";
                }
            }
            else
            {
                ViewBag.Error = "Input data is incorrect!";
            }
            return(View());
        }
Exemplo n.º 7
0
        public async Task <ActionResult> GetAnnouncementDetails(string AnnouncementIdString)
        {
            try
            {
                AnnouncementDetailsModel announcementDetailsModel = await _ApiClient.GetAsync <AnnouncementDetailsModel>("Announcement/GetAnnouncementDetails/" + AnnouncementIdString, null);

                return(View(announcementDetailsModel));
            }
            catch (AuthorizationException ex)
            {
                throw ex;
            }
            catch (BusinessRuleException ex)
            {
                AddError(ex.Message);
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.ToString(), ex);
                AddError(Resources.TenderResources.ErrorMessages.UnexpectedError);
                return(RedirectToAction(nameof(Index)));
            }
        }
        public ActionResult Details(int id)
        {
            AnnouncementDetailsModel announcement = GetAnnouncementById(id);

            return(View(announcement));
        }