Esempio n. 1
0
        public ActionResult ChooseName(ChooseNameViewModel model)
        {
            if (string.IsNullOrWhiteSpace(model.Name))
            {
                ViewBag.ErrorMessage = Resources.name_cant_be_empty;
                return(View(model));
            }

            if (!string.IsNullOrWhiteSpace(model.Email) && !IsValidEmail(model.Email))
            {
                ViewBag.ErrorMessage = Resources.invalid_email;
                return(View(model));
            }

            using (LittleGoatEntities entities = new LittleGoatEntities())
            {
                if (entities.Player.Any(p => p.Name.ToLower() == model.Name.ToLower()))
                {
                    ViewBag.ErrorMessage = Resources.name_already_used;
                    return(View(model));
                }
                else if (!string.IsNullOrWhiteSpace(model.Email) && entities.Player.Any(p => p.Email.Trim().ToLower() == model.Email.Trim().ToLower()))
                {
                    ViewBag.ErrorMessage = Resources.email_already_used;
                    return(View(model));
                }

                Player player;

                string playerId = Request.Cookies["playerId"]?.Value;
                if (playerId == null || entities.Player.FirstOrDefault(p => p.Id == playerId) == null)
                {
                    player = new Player()
                    {
                        Id = Guid.NewGuid().ToString(), Name = model.Name.Trim(), Email = model.Email?.Trim()
                    };
                    entities.Player.Add(player);
                    Response.Cookies["playerId"].Value   = player.Id;
                    Response.Cookies["playerId"].Expires = DateTime.UtcNow.AddYears(10);
                }
                else
                {
                    entities.Player.Single(p => p.Id == playerId).Name = model.Name;
                }
                entities.SaveChanges();
            }

            if (!string.IsNullOrEmpty(model.ReturnUrl))
            {
                return(Redirect(model.ReturnUrl));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Esempio n. 2
0
        public void CreateSubFolder(PresetFolderViewModel folderViewModel)
        {
            var dialogVM = new ChooseNameViewModel(EncodingRes.ChooseNameSubfolder, new List <string>());

            dialogVM.Name = EncodingRes.DefaultPresetFolderName;
            var windowManager = Ioc.Get <IWindowManager>();

            windowManager.OpenDialog(dialogVM, windowManager.Find <EncodingWindowViewModel>());

            if (dialogVM.DialogResult)
            {
                string subfolderName = dialogVM.Name;

                PresetFolder newFolder = PresetFolderStorage.AddFolder(subfolderName, folderViewModel.Id);
                folderViewModel.AddSubfolder(PresetFolderViewModel.FromPresetFolder(newFolder, this));
            }
        }
Esempio n. 3
0
        public void RenameFolder(PresetFolderViewModel folderViewModel)
        {
            var dialogVM = new ChooseNameViewModel(EncodingRes.ChooseNewFolderName, new List <string>());

            dialogVM.Name = folderViewModel.Name;
            var windowManager = Ioc.Get <IWindowManager>();

            windowManager.OpenDialog(dialogVM, windowManager.Find <EncodingWindowViewModel>());

            if (dialogVM.DialogResult)
            {
                string newName = dialogVM.Name;
                if (newName != folderViewModel.Name)
                {
                    PresetFolderStorage.RenameFolder(folderViewModel.Id, newName);
                    folderViewModel.Name = newName;

                    // Remove and re-add the folder to get the folder in the right order.
                    PresetFolderViewModel parentFolder = folderViewModel.Parent;
                    parentFolder.RemoveSubfolder(folderViewModel);
                    parentFolder.AddSubfolder(folderViewModel);
                }
            }
        }