Ejemplo n.º 1
0
        public async Task <IActionResult> Update([FromBody] LocalizationViewModel localization)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest("Bad data"));
            }

            Localization results = this.repository.GetLocalization(new Localization {
                Id = localization.Id
            });

            if (results == null || results.Id == 0)
            {
                return(this.BadRequest("User does not exist"));
            }
            else
            {
                if (!string.IsNullOrWhiteSpace(localization.Name))
                {
                    results.Name = localization.Name;
                }
                this.repository.UpdateLocalization(results);
                return(this.Ok(results));
            }
        }
        public IActionResult Save(LocalizationViewModel vm)
        {
            bool isNew = vm.Id == Guid.Empty;

            try
            {
                vm.UserId = CurrentUserId;

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

                if (saveResult.Success)
                {
                    //GenerateFeedPost(vm);

                    string url = Url.Action("details", "localization", new { area = "tools", id = vm.Id });

                    if (isNew)
                    {
                        url = Url.Action("edit", "localization", new { area = "tools", id = vm.Id, pointsEarned = saveResult.PointsEarned });

                        NotificationSender.SendTeamNotificationAsync("New Localization Project created!");
                    }

                    return(Json(new OperationResultRedirectVo <Guid>(saveResult, url)));
                }
                else
                {
                    return(Json(new OperationResultVo(false)));
                }
            }
            catch (Exception ex)
            {
                return(Json(new OperationResultVo(ex.Message)));
            }
        }
        public OperationResultVo GetTerms(Guid currentUserId, Guid projectId)
        {
            try
            {
                Localization basicData = translationDomainService.GetBasicInfoById(projectId);

                IEnumerable <LocalizationTerm> entries = translationDomainService.GetTerms(projectId);

                List <LocalizationTermViewModel> vms = mapper.Map <IEnumerable <LocalizationTerm>, IEnumerable <LocalizationTermViewModel> >(entries).ToList();

                foreach (LocalizationTermViewModel entry in vms)
                {
                    UserProfile profile = GetCachedProfileByUserId(entry.UserId);
                    entry.AuthorName    = profile.Name;
                    entry.AuthorPicture = UrlFormatter.ProfileImage(entry.UserId);
                }

                LocalizationViewModel projectVm = new LocalizationViewModel
                {
                    Id = projectId,
                    PrimaryLanguage = basicData.PrimaryLanguage,
                    Terms           = vms
                };

                return(new OperationResultVo <LocalizationViewModel>(projectVm));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo(ex.Message));
            }
        }
Ejemplo n.º 4
0
        public LocalizationConfig()
        {
            InitializeComponent();

            _localizationViewModel = new LocalizationViewModel();
            this.DataContext       = _localizationViewModel;
        }
        public OperationResultVo <LocalizationViewModel> GetById(Guid currentUserId, Guid id)
        {
            try
            {
                Localization model = translationDomainService.GetById(id);

                if (model == null)
                {
                    return(new OperationResultVo <LocalizationViewModel>("Translation Project not found!"));
                }

                LocalizationViewModel vm = mapper.Map <LocalizationViewModel>(model);

                SetGameViewModel(model.GameId, vm);

                SetPermissions(currentUserId, vm);

                vm.CurrentUserHelped  = model.Entries.Any(x => x.UserId == currentUserId);
                vm.CurrentUserIsOwner = model.UserId == currentUserId;

                return(new OperationResultVo <LocalizationViewModel>(vm));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo <LocalizationViewModel>(ex.Message));
            }
        }
Ejemplo n.º 6
0
        public IActionResult New()
        {
            OperationResultVo serviceResult = translationAppService.GenerateNew(CurrentUserId);

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

                LocalizationViewModel model = castResult.Value;

                SetLocalization(model, true);

                OperationResultVo gamesResult = translationAppService.GetMyUntranslatedGames(CurrentUserId);
                if (gamesResult.Success)
                {
                    OperationResultListVo <SelectListItemVo> castResultGames = gamesResult as OperationResultListVo <SelectListItemVo>;

                    IEnumerable <SelectListItemVo> games = castResultGames.Value;

                    List <SelectListItem> gamesDropDown = games.ToSelectList();
                    ViewBag.UserGames = gamesDropDown;
                }
                else
                {
                    ViewBag.UserGames = new List <SelectListItem>();
                }

                return(View("CreateEditWrapper", model));
            }
            else
            {
                return(View("CreateEditWrapper", new LocalizationViewModel()));
            }
        }
Ejemplo n.º 7
0
        public JsonResult Create(LocalizationViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { Result = "ERROR", Message = BaseResource.Get("InvalidData") }));
            }

            var toCreate = new Models.LocalizationModel()
            {
                Key               = model.Key,
                Value             = model.Value,
                Culture           = model.Culture,
                LastModDate       = DateTime.Now,
                ModUser           = User.Identity.Name,
                TranslationStatus = Enums.EnumTranslationStatus.Undefined,
                WasHit            = false
            };

            try
            {
                var dbobj = localizationRepository.Create(toCreate, User.Identity.Name);
                db.SaveChanges();
                return(Json(new { Result = "OK", Record = dbobj.ToLocalizationViewModel() }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
Ejemplo n.º 8
0
 private void SetLocalization(LocalizationViewModel model, bool editing)
 {
     if (model != null && !editing && string.IsNullOrWhiteSpace(model.Introduction))
     {
         model.Introduction = SharedLocalizer["No extra information."];
     }
 }
Ejemplo n.º 9
0
        private void SetLocalization(LocalizationViewModel model)
        {
            SetLocalization(model, false);

            model.SetShareText(SharedLocalizer["Help translate {0}", model.Game.Title]);

            model.SetShareUrl(Url.Action("details", "localization", new { area = "tools", id = model.Id }));
        }
Ejemplo n.º 10
0
        public void GetLocalization_CallsLocalizationService()
        {
            var expectedResponse = new LocalizationViewModel();

            this.localizationService.Setup(s => s.ViewModel)
            .Returns(expectedResponse);

            var result = this.localizationController.GetLocalization();

            var response = Assert.IsType <OkNegotiatedContentResult <LocalizationViewModel> >(result);

            Assert.Equal(expectedResponse, response.Content);
        }
Ejemplo n.º 11
0
        private void SetGameViewModel(Guid gameId, LocalizationViewModel vm)
        {
            GameViewModel game = GetGameWithCache(gameDomainService, gameId);

            if (game != null)
            {
                vm.Game.Title = game.Title;

                vm.Game.ThumbnailUrl        = SetFeaturedImage(game.UserId, game?.ThumbnailUrl, ImageRenderType.Full);
                vm.Game.ThumbnailResponsive = SetFeaturedImage(game.UserId, game?.ThumbnailUrl, ImageRenderType.Responsive);
                vm.Game.ThumbnailLquip      = SetFeaturedImage(game.UserId, game?.ThumbnailUrl, ImageRenderType.LowQuality);
            }
        }
Ejemplo n.º 12
0
        public OperationResultVo <Guid> Save(Guid currentUserId, LocalizationViewModel viewModel)
        {
            int pointsEarned = 0;

            try
            {
                Localization model;

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

                foreach (LocalizationTerm term in model.Terms)
                {
                    if (term.UserId == Guid.Empty)
                    {
                        term.UserId = currentUserId;
                    }
                }

                if (viewModel.Id == Guid.Empty)
                {
                    translationDomainService.Add(model);
                    viewModel.Id = model.Id;

                    pointsEarned += gamificationDomainService.ProcessAction(currentUserId, PlatformAction.LocalizationRequest);
                }
                else
                {
                    translationDomainService.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.º 13
0
        public OperationResultVo GenerateNew(Guid currentUserId)
        {
            try
            {
                Localization model = translationDomainService.GenerateNewProject(currentUserId);

                LocalizationViewModel newVm = mapper.Map <LocalizationViewModel>(model);

                return(new OperationResultVo <LocalizationViewModel>(newVm));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo(ex.Message));
            }
        }
Ejemplo n.º 14
0
        public JsonResult Update(LocalizationViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new { Result = "ERROR", Message = BaseResource.Get("InvalidData") }));
            }

            try
            {
                var dbObj = localizationRepository.Update(model.ToLocalizationModel(), User.Identity.Name);
                Localization.UiResources.Instance.removeFromCache(dbObj.Key, CultureInfo.CurrentCulture.Name);
                return(Json(new { Result = "OK", Record = dbObj.ToLocalizationViewModel() }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> Add([FromBody] LocalizationViewModel localization)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest("Bad data"));
            }

            try
            {
                this.repository.AddLocalization(this.mapper.Map <Localization>(localization));
                return(this.Ok("Done"));
            }
            catch (Exception ex)
            {
                this.logger.LogError($"Failed to create the localization: {ex}");
                return(this.BadRequest("Error Occurred"));
            }
        }
Ejemplo n.º 16
0
        public IActionResult Edit(Guid id)
        {
            OperationResultVo serviceResult = translationAppService.GetById(CurrentUserId, id);

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

                LocalizationViewModel model = castResult.Value;

                SetLocalization(model, true);

                return(View("CreateEditWrapper", model));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 17
0
        public IActionResult Review(Guid id, SupportedLanguage language, int?pointsEarned)
        {
            OperationResultVo result = translationAppService.GetById(CurrentUserId, id);

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

                LocalizationViewModel model = castRestult.Value;

                SetLocalization(model);
                SetAuthorDetails(model);

                SetGamificationMessage(pointsEarned);

                ViewData["language"] = language.ToString();

                return(View("ReviewWrapper", model));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 18
0
        public OperationResultVo GetBasicInfoById(Guid currentUserId, Guid id)
        {
            try
            {
                Localization model = translationDomainService.GetBasicInfoById(id);

                if (model == null)
                {
                    return(new OperationResultVo <LocalizationViewModel>("Translation Project not found!"));
                }

                LocalizationViewModel vm = mapper.Map <LocalizationViewModel>(model);

                SetGameViewModel(model.GameId, vm);

                SetPermissions(currentUserId, vm);

                return(new OperationResultVo <LocalizationViewModel>(vm));
            }
            catch (Exception ex)
            {
                return(new OperationResultVo <LocalizationViewModel>(ex.Message));
            }
        }
Ejemplo n.º 19
0
 public void SetPermissions(Guid currentUserId, LocalizationViewModel vm)
 {
     SetBasePermissions(currentUserId, vm);
 }