public async Task <IActionResult> EditPost(AdvertisingViewModel model)
        {
            try
            {
                var post = await _advertisingRepository.GetByIdAsync(model.Id);

                post.ModifiedBy = await GetCurrentUser();

                post.UpdateDate = DateTime.UtcNow;

                var result = await _advertisingRepository.UpdatePostAsync(post);

                if (!result.Success)
                {
                    return(new NotFoundViewResult("_Error404"));
                }

                //notification
                result = await _notificationHelper.UpdateNotificationAsync(post.PostGuidId, UserType.SuperUser, "");

                if (!result.Success)
                {
                    await _notificationHelper.CreateNotificationAsync(post.PostGuidId, UserType.SuperUser, "", NotificationType.Advertising);
                }

                return(RedirectToAction(nameof(NewsIndex)));
            }
            catch (Exception)
            {
                return(new NotFoundViewResult("_500Error"));
            }
        }
        public async Task <IActionResult> PublishPost()
        {
            var partners = await _partnerRepository.GetComboPartners();

            var model = new AdvertisingViewModel
            {
                PartnersList = partners,
            };

            return(PartialView("_PublishPost", model));
        }
        public Advertising ToAdvertising(AdvertisingViewModel model, bool isNew, Partner partner)
        {
            var advertisng = new Advertising
            {
                Id         = isNew ? 0 : model.Id,
                Title      = model.Title,
                Content    = model.Content,
                Image      = model.Image,
                EndDate    = model.EndDate,
                UpdateDate = DateTime.Now,
                Status     = 1,
                PostGuidId = isNew ? GuidHelper.CreatedGuid() : model.PostGuidId
            };

            return(advertisng);
        }
Beispiel #4
0
        public AdvertisingViewModel ToAdvertisingViewModel(Advertising advertising)
        {
            var advertisings = new AdvertisingViewModel
            {
                Id      = advertising.Id,
                Title   = advertising.Title,
                Content = advertising.Content,
                Image   = advertising.Image,
                EndDate = advertising.EndDate,
                Status  = advertising.Status,
                //PartnerName = advertising.Partner.CompanyName,
                PostGuidId = advertising.PostGuidId,
                CreatedBy  = advertising.CreatedBy == null ? "unknown" : advertising.CreatedBy.Name,
                CreatedOn  = advertising.CreateDate
            };

            return(advertisings);
        }
        public async Task <IActionResult> PublishPost(AdvertisingViewModel model)
        {
            try
            {
                foreach (var item in model.ImageFile)
                {
                    if (item.Length > 0)
                    {
                        using (var stream = new MemoryStream())
                        {
                            await item.CopyToAsync(stream);

                            model.Image = stream.ToArray();
                        }
                    }
                }

                var partner = await _partnerRepository.GetByIdAsync(model.PartnerId);

                if (partner == null)
                {
                    return(new NotFoundViewResult("_Error404"));
                }

                Advertising post = _converter.ToAdvertising(model, true, partner);

                //send notification
                await _notificationHelper.CreateNotificationAsync(post.PostGuidId, UserType.SuperUser, "", NotificationType.Advertising);

                post.CreatedBy = await GetCurrentUser();

                post.CreateDate = DateTime.UtcNow;

                await _advertisingRepository.CreateAsync(post);

                return(RedirectToAction(nameof(NewsIndex)));
            }

            catch (Exception exception)
            {
                ModelState.AddModelError(string.Empty, exception.Message);
            }
            return(RedirectToAction(nameof(NewsIndex)));
        }