示例#1
0
        private ArtPiece AssignValues(string languageCode, TextAsset nameAsset, TextAsset descriptionAsset,
                                      TextAsset additionalInfoAsset, Technique technique, ArtPieceCreationViewModel viewModel, ArtPiece artPiece)
        {
            switch (languageCode)
            {
            case "pl":
                nameAsset.Value_pl           = viewModel.Name;
                descriptionAsset.Value_pl    = viewModel.Description;
                additionalInfoAsset.Value_pl = viewModel.AdditionalInfo;
                technique = _techniqueRepo.Techniques.Where(t => t.Name.Value_pl == viewModel.Technique).FirstOrDefault();
                break;

            case "en":
                nameAsset.Value_en           = viewModel.Name;
                descriptionAsset.Value_en    = viewModel.Description;
                additionalInfoAsset.Value_en = viewModel.AdditionalInfo;
                technique = _techniqueRepo.Techniques.Where(t => t.Name.Value_en == viewModel.Technique).FirstOrDefault();
                break;
            }

            _textRepo.SaveAsset(nameAsset);
            _textRepo.SaveAsset(descriptionAsset);
            _textRepo.SaveAsset(additionalInfoAsset);

            artPiece.AdditionalInfo = additionalInfoAsset;
            artPiece.CreationDate   = viewModel.CreationDate;
            artPiece.Description    = descriptionAsset;
            artPiece.Dimensions     = viewModel.Dimensions;
            artPiece.Technique      = technique;
            artPiece.ImageUri       = viewModel.ImageUri;
            artPiece.ForSale        = viewModel.ForSale;
            artPiece.Name           = nameAsset;

            return(artPiece);
        }
示例#2
0
        public async Task <IActionResult> UploadAsync(AboutViewModel viewModel)
        {
            try
            {
                viewModel.ImageUri = _textRepository.GetTranslatedValue("about_image_uri", Request.HttpContext);
                var file = Request.Form.Files.FirstOrDefault();
                if (file == null && viewModel.ImageUri == null)
                {
                    ModelState.AddModelError("FileNotSelected", "Plik ze zdjęciem nie został wybrany");
                }

                if (ModelState.IsValid)
                {
                    if (file != null)
                    {
                        if (viewModel.ImageUri != null && file != null)
                        {
                            await _storageFacade.DeleteImageBlob(viewModel.ImageUri);
                        }
                        viewModel.ImageUri = await _storageFacade.UploadImageBlob(file);
                    }

                    var asset = _textRepository.GetAsset("about_image_uri");
                    asset.Value_pl = viewModel.ImageUri;
                    _textRepository.SaveAsset(asset);

                    asset = _textRepository.GetAsset("about_text");
                    switch (viewModel.Language)
                    {
                    case "pl":
                        asset.Value_pl = viewModel.Text;
                        break;

                    case "en":
                        asset.Value_en = viewModel.Text;
                        break;
                    }
                    _textRepository.SaveAsset(asset);

                    return(RedirectToAction("Index", new { language = viewModel.Language, success = true }));
                }
                else
                {
                    return(View("Index", viewModel));
                }
            }
            catch (Exception ex)
            {
                ViewData["message"] = ex.Message;
                ViewData["trace"]   = ex.StackTrace;
                return(View("Error"));
            }
        }
示例#3
0
        public IActionResult UploadAsync(ContactViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var emailAsset     = _textRepository.GetAsset("contact_email_address");
                var telephoneAsset = _textRepository.GetAsset("contact_telephone_number");

                emailAsset.Value_pl     = viewModel.Email;
                emailAsset.Value_en     = viewModel.Email;
                telephoneAsset.Value_pl = viewModel.Telephone;
                telephoneAsset.Value_en = viewModel.Telephone;

                _textRepository.SaveAsset(emailAsset);
                _textRepository.SaveAsset(telephoneAsset);

                return(View("Success", new string[] { "Pomyślnie zaktualizowano dane kontaktowe", "/Contact" }));
            }
            else
            {
                return(View("Index", viewModel));
            }
        }
示例#4
0
 public IActionResult AddTechnique(TechniqueAddViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         if (viewModel.Id == 0)
         {
             var asset = new TextAsset()
             {
                 Key = "technique_value"
             };
             asset.Value_pl = viewModel.NamePl;
             asset.Value_en = viewModel.NameEn;
             _textRepo.SaveAsset(asset);
             var technique = new Technique()
             {
                 Name = asset
             };
             _techniqueRepo.Save(technique);
             var queryParams = new Dictionary <string, string>()
             {
                 { "messageKey", "success_technique_added" },
                 { "returnUri", "/GalleryEditor/ManageTechniques" }
             };
             return(Redirect(QueryHelpers.AddQueryString("/InformationScreens/Success", queryParams)));
         }
         else
         {
             var technique = _techniqueRepo.Techniques.Where(t => t.ID == viewModel.Id).FirstOrDefault();
             technique.Name.Value_pl = viewModel.NamePl;
             technique.Name.Value_en = viewModel.NameEn;
             _textRepo.UpdateAsset(technique.Name);
             _techniqueRepo.Update(technique);
             var queryParams = new Dictionary <string, string>()
             {
                 { "messageKey", "success_technique_updated" },
                 { "returnUri", "/GalleryEditor/ManageTechniques" }
             };
             return(Redirect(QueryHelpers.AddQueryString("/InformationScreens/Success", queryParams)));
         }
     }
     else
     {
         viewModel.TextRepository = _textRepo;
         return(View("AddTechnique", viewModel));
     }
 }
示例#5
0
        public async Task <ActionResult> UploadAsync(NewsAddViewModel viewModel)
        {
            try
            {
                var file = Request.Form.Files.FirstOrDefault();
                if (file == null && viewModel.ImageUri == null)
                {
                    ModelState.AddModelError("FileNotSelected", "Plik ze zdjęciem nie został wybrany");
                }

                if (ModelState.IsValid)
                {
                    if (file != null)
                    {
                        viewModel.ImageUri = await _storageFacade.UploadImageBlob(file);
                    }
                    var news = _repo.News.Where(n => n.ID == viewModel.ID).FirstOrDefault();
                    if (news == null)
                    {
                        news = new News()
                        {
                            ID        = viewModel.ID,
                            ImageUrl  = viewModel.ImageUri,
                            Timestamp = viewModel.Timestamp
                        };

                        var headerAsset = new TextAsset()
                        {
                            Key = "news_piece_header"
                        };
                        var textAsset = new TextAsset()
                        {
                            Key = "news_piece_text"
                        };
                        news.Header = headerAsset;
                        news.Text   = textAsset;
                        switch (viewModel.Language)
                        {
                        case "pl":
                            news.Header.Value_pl = viewModel.Header;
                            news.Text.Value_pl   = viewModel.Text;
                            break;

                        case "en":
                            news.Header.Value_en = viewModel.Header;
                            news.Text.Value_en   = viewModel.Text;
                            break;
                        }
                        _textRepo.SaveAsset(headerAsset);
                        _textRepo.SaveAsset(textAsset);
                        _repo.Save(news);
                        return(RedirectToAction("UpdateNews", new
                        {
                            id = news.ID,
                            language = viewModel.Language,
                            success = true
                        }));
                    }
                    else
                    {
                        if (file != null)
                        {
                            await _storageFacade.DeleteImageBlob(news.ImageUrl);
                        }
                        news.ImageUrl = viewModel.ImageUri;
                        switch (viewModel.Language)
                        {
                        case "pl":
                            news.Header.Value_pl = viewModel.Header;
                            news.Text.Value_pl   = viewModel.Text;
                            break;

                        case "en":
                            news.Header.Value_en = viewModel.Header;
                            news.Text.Value_en   = viewModel.Text;
                            break;
                        }
                        _repo.Update(news);
                        return(RedirectToAction("UpdateNews", new
                        {
                            id = news.ID,
                            language = viewModel.Language,
                            success = true
                        }));
                    }
                }
                else
                {
                    return(View("AddNews", viewModel));
                }
            }
            catch (Exception ex)
            {
                ViewData["message"] = ex.Message;
                ViewData["trace"]   = ex.StackTrace;
                return(View("Error"));
            }
        }