Ejemplo n.º 1
0
        public OperationResultVo GenerateNew(Guid currentUserId)
        {
            try
            {
                //int lastIssueNumber = userContentDomainService.GetMaxIssueNumber(currentUserId);

                ComicStripViewModel newVm = new ComicStripViewModel
                {
                    UserId      = currentUserId,
                    SeriesId    = currentUserId,
                    PublishDate = DateTime.Now,
                    Language    = SupportedLanguage.English
                };

                newVm.Images.Add(new ImageListItemVo
                {
                    Language = newVm.Language,
                    Image    = Constants.DefaultComicStripPlaceholder
                });

                newVm.Images.Add(new ImageListItemVo
                {
                    Language = SupportedLanguage.Portuguese,
                    Image    = Constants.DefaultComicStripPlaceholder
                });

                return(new OperationResultVo <ComicStripViewModel>(newVm));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo(ex.Message));
            }
        }
Ejemplo n.º 2
0
        public JsonResult Save(ComicStripViewModel vm)
        {
            bool isNew = vm.Id == Guid.Empty;

            try
            {
                vm.UserId = CurrentUserId;

                OperationResultVo <Guid> saveResult = comicsAppService.Save(CurrentUserId, vm);

                if (saveResult.Success)
                {
                    string url = Url.Action("edit", "comics", new { area = "member", id = vm.Id, pointsEarned = saveResult.PointsEarned });

                    if (isNew && EnvName.Equals(ConstantHelper.ProductionEnvironmentName))
                    {
                        NotificationSender.SendTeamNotificationAsync("New Comic Strip created!");
                    }

                    return(Json(new OperationResultRedirectVo <Guid>(saveResult, url)));
                }
                else
                {
                    return(Json(new OperationResultVo(false)));
                }
            }
            catch (Exception ex)
            {
                return(Json(new OperationResultVo(ex.Message)));
            }
        }
Ejemplo n.º 3
0
 private void SetLocalization(ComicStripViewModel item, bool editing)
 {
     //if (item != null)
     //{
     //    DisplayAttribute displayStatus = item.Status.GetAttributeOfType<DisplayAttribute>();
     //    item.StatusLocalized = SharedLocalizer[displayStatus != null ? displayStatus.Name : item.Status.ToString()];
     //}
 }
Ejemplo n.º 4
0
        private void SetImagesToShow(ComicStripViewModel vm, bool editing)
        {
            vm.FeaturedImage      = ContentHelper.SetFeaturedImage(vm.UserId, vm.FeaturedImage, ImageRenderType.Full);
            vm.FeaturedImageLquip = ContentHelper.SetFeaturedImage(vm.UserId, vm.FeaturedImage, ImageRenderType.LowQuality);

            foreach (ImageListItemVo image in vm.Images)
            {
                image.Image           = ContentHelper.SetFeaturedImage(vm.UserId, image.Image, ImageRenderType.Full);
                image.ImageResponsive = ContentHelper.SetFeaturedImage(vm.UserId, image.Image, ImageRenderType.Responsive);
                image.ImageLquip      = ContentHelper.SetFeaturedImage(vm.UserId, image.Image, ImageRenderType.LowQuality);
            }

            if (editing)
            {
                if (!vm.Images.Any(x => x.Language == SupportedLanguage.English))
                {
                    vm.Images.Add(new ImageListItemVo
                    {
                        Language = SupportedLanguage.English,
                        Image    = Constants.DefaultComicStripPlaceholder
                    });
                }

                if (!vm.Images.Any(x => x.Language == SupportedLanguage.Portuguese))
                {
                    vm.Images.Add(new ImageListItemVo
                    {
                        Language = SupportedLanguage.Portuguese,
                        Image    = Constants.DefaultComicStripPlaceholder
                    });
                }
            }
            else
            {
                string selectedFeaturedImage = vm.FeaturedImage;

                if (vm.Images.Any(x => x.Language == vm.Language))
                {
                    selectedFeaturedImage = vm.Images.FirstOrDefault(x => x.Language == vm.Language)?.Image;
                }
                else if (vm.Images.Any())
                {
                    selectedFeaturedImage = vm.Images.FirstOrDefault()?.Image;
                }

                vm.FeaturedImage           = ContentHelper.SetFeaturedImage(vm.UserId, selectedFeaturedImage, ImageRenderType.Full);
                vm.FeaturedImageResponsive = ContentHelper.SetFeaturedImage(vm.UserId, selectedFeaturedImage, ImageRenderType.Responsive);
                vm.FeaturedImageLquip      = ContentHelper.SetFeaturedImage(vm.UserId, selectedFeaturedImage, ImageRenderType.LowQuality);
            }

            vm.Images = vm.Images.OrderBy(x => x.Language).ToList();
        }
Ejemplo n.º 5
0
        public IActionResult Add()
        {
            OperationResultVo serviceResult = comicsAppService.GenerateNew(CurrentUserId);

            if (serviceResult.Success)
            {
                OperationResultVo <ComicStripViewModel> castResult = serviceResult as OperationResultVo <ComicStripViewModel>;

                ComicStripViewModel model = castResult.Value;

                SetLocalization(model);

                return(View("CreateEditWrapper", model));
            }
            else
            {
                return(View("CreateEditWrapper", new ComicStripViewModel()));
            }
        }
Ejemplo n.º 6
0
        public OperationResultVo <Guid> Save(Guid currentUserId, ComicStripViewModel viewModel)
        {
            int pointsEarned = 0;

            try
            {
                UserContent model;

                UserContent existing = userContentDomainService.GetById(viewModel.Id);
                if (existing != null)
                {
                    model = mapper.Map(viewModel, existing);
                }
                else
                {
                    model = mapper.Map <UserContent>(viewModel);
                }

                FormatImagesToSave(model);

                if (viewModel.Id == Guid.Empty)
                {
                    userContentDomainService.Add(model);
                    viewModel.Id = model.Id;
                }
                else
                {
                    userContentDomainService.Update(model);
                }

                unitOfWork.Commit();

                viewModel.Id = model.Id;

                return(new OperationResultVo <Guid>(model.Id, pointsEarned));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo <Guid>(ex.Message));
            }
        }
Ejemplo n.º 7
0
        public OperationResultVo GetForEdit(Guid currentUserId, Guid id)
        {
            try
            {
                UserContent existing = userContentDomainService.GetById(id);

                ComicStripViewModel vm = mapper.Map <ComicStripViewModel>(existing);

                SetAuthorDetails(vm);

                SetImagesToShow(vm, true);

                SetPermissions(currentUserId, vm);

                return(new OperationResultVo <ComicStripViewModel>(vm));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo(ex.Message));
            }
        }
Ejemplo n.º 8
0
        public IActionResult Details(Guid id)
        {
            OperationResultVo result = comicsAppService.GetForDetails(CurrentUserId, id);

            if (result.Success)
            {
                OperationResultVo <ComicStripViewModel> castRestult = result as OperationResultVo <ComicStripViewModel>;

                ComicStripViewModel model = castRestult.Value;

                SetAuthorDetails(model);

                SetLocalization(model);

                return(View("Details", model));
            }
            else
            {
                return(RedirectToAction("index", "home", new { area = string.Empty }));
            }
        }
Ejemplo n.º 9
0
        public OperationResultVo GetForDetails(Guid currentUserId, Guid id)
        {
            try
            {
                UserContent existing = userContentDomainService.GetById(id);

                ComicStripViewModel vm = mapper.Map <ComicStripViewModel>(existing);

                UserContentRating currentUserRate = existing.Ratings.FirstOrDefault(x => x.UserId == currentUserId);

                if (currentUserRate != null)
                {
                    vm.CurrentUserRating = currentUserRate.Score;
                }

                int ratingCounts = existing.Ratings.Count > 0 ? existing.Ratings.Count : 1;

                vm.RatingCount = existing.Ratings.Count;
                vm.TotalRating = existing.Ratings.Sum(x => x.Score) / ratingCounts;

                vm.LikeCount    = vm.Likes.Count;
                vm.CommentCount = vm.Comments.Count;

                SetAuthorDetails(vm);

                LoadAuthenticatedData(currentUserId, vm);

                SetImagesToShow(vm, false);

                return(new OperationResultVo <ComicStripViewModel>(vm));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo(ex.Message));
            }
        }
Ejemplo n.º 10
0
 private void SetPermissions(Guid currentUserId, ComicStripViewModel vm)
 {
     SetBasePermissions(currentUserId, vm);
 }
Ejemplo n.º 11
0
 private void SetLocalization(ComicStripViewModel model)
 {
     SetLocalization(model, false);
 }