Example #1
0
        public IActionResult Update(SiteSettingViewModel siteSetting, MailSettingViewModel mailSetting, SSOSettingViewModel SSOSetting)
        {
            var CurrentSiteSetting = siteSettingRepository.Single();
            var CurrentMailSetting = mailSettingRepository.Single();
            var CurrentSSOSetting  = SSOSettingRepository.Single();

            if (CurrentSiteSetting == null)
            {
                CurrentSiteSetting = new Domain.Application.Entities.SiteSetting()
                {
                    Id = Guid.NewGuid().ToString()
                };
                siteSettingRepository.Add(CurrentSiteSetting);
            }
            else
            {
                siteSettingRepository.Update(CurrentSiteSetting);
            }
            if (CurrentMailSetting == null)
            {
                CurrentMailSetting = new Domain.Application.Entities.MailSetting()
                {
                    Id = Guid.NewGuid().ToString()
                };
                mailSettingRepository.Add(CurrentMailSetting);
            }
            else
            {
                mailSettingRepository.Update(CurrentMailSetting);
            }
            if (CurrentSSOSetting == null)
            {
                CurrentSSOSetting = new Domain.Application.Entities.SSOSetting()
                {
                    Id = Guid.NewGuid().ToString()
                };
                SSOSettingRepository.Add(CurrentSSOSetting);
            }
            else
            {
                SSOSettingRepository.Update(CurrentSSOSetting);
            }
            PropertyCopy.Copy(siteSetting, CurrentSiteSetting);
            PropertyCopy.Copy(mailSetting, CurrentMailSetting);
            PropertyCopy.Copy(SSOSetting, CurrentSSOSetting);
            siteSettingRepository.Save(requestContext);
            configuration.SetConfiguration();

            return(RedirectToAction("Index"));
        }
Example #2
0
        public IActionResult Update(SiteSettingViewModel siteSetting, MailSettingViewModel mailSetting, SSOSettingViewModel SSOSetting)
        {
            var currentSiteSetting = _siteSettingRepository.Single();
            var currentMailSetting = _mailSettingRepository.Single();
            var currentSsoSetting  = _ssoSettingRepository.Single();

            if (currentSiteSetting == null)
            {
                currentSiteSetting = new Domain.Application.Entities.SiteSetting()
                {
                    Id = Guid.NewGuid().ToString()
                };
                _siteSettingRepository.Add(currentSiteSetting);
            }
            else
            {
                _siteSettingRepository.Update(currentSiteSetting);
            }
            if (currentMailSetting == null)
            {
                currentMailSetting = new Domain.Application.Entities.MailSetting()
                {
                    Id = Guid.NewGuid().ToString()
                };
                _mailSettingRepository.Add(currentMailSetting);
            }
            else
            {
                _mailSettingRepository.Update(currentMailSetting);
            }
            if (currentSsoSetting == null)
            {
                currentSsoSetting = new Domain.Application.Entities.SSOSetting()
                {
                    Id = Guid.NewGuid().ToString()
                };
                _ssoSettingRepository.Add(currentSsoSetting);
            }
            else
            {
                _ssoSettingRepository.Update(currentSsoSetting);
            }
            PropertyCopy.Copy(siteSetting, currentSiteSetting);
            PropertyCopy.Copy(mailSetting, currentMailSetting);
            PropertyCopy.Copy(SSOSetting, currentSsoSetting);
            _siteSettingRepository.Save(RequestContext);
            _configuration.SetConfiguration();

            return(RedirectToAction("Index"));
        }
Example #3
0
        public async Task <IActionResult> SiteSetting(SiteSettingViewModel model)
        {
            if (ModelState.IsValid)
            {
                var settings = Mapper.Map <SiteSetting>(model);

                if (Request.Form.Files != null && Request.Form.Files.Count > 0 && Request.Form.Files[0].Length > 0)
                {
                    try
                    {
                        var webRootPath  = _environment.WebRootPath;
                        var imageDirPath = $"{webRootPath}/upload/logos";
                        if (!Directory.Exists(imageDirPath))
                        {
                            Directory.CreateDirectory(imageDirPath);
                        }

                        var fileName = $"{DateTime.Now:yyyyMMddHHmmssff}{ new Random().Next(10000, 99999) }.png";
                        //存储路径
                        var filePath = $"{imageDirPath}/{fileName}";

                        //上传文件
                        using (Stream stream = Request.Form.Files[0].OpenReadStream())
                        {
                            ImageHelper.Square(stream, filePath, 160, 160);
                        }

                        //删除旧的图片
                        var oldHeadImagePath = $"{webRootPath}{settings.Logo}";
                        if (IOFile.Exists(oldHeadImagePath))
                        {
                            IOFile.Delete(oldHeadImagePath);
                        }
                        settings.Logo = $"/upload/logos/{fileName}";//图片文件相对路径
                    }
                    catch
                    {
                        Notifier.Error("上传图片操作失败。");
                    }
                }
                await _configurationManager.SaveSettingAsync(settings);

                Notifier.Success("你已成功保存了站点配置。");
                return(RedirectToAction(nameof(SiteSetting)));
            }
            return(View(model));
        }
        public async Task <IActionResult> Site(SiteSettingViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var setting = (await _db.SettingRepository.GetAsync()).LastOrDefault();
                _mapper.Map(viewModel, setting);
                _db.SettingRepository.Update(setting);
                await _db.SaveAsync();

                ViewBag.ChangeSuccess = true;
                return(View(viewModel));
            }
            else
            {
                ViewBag.ChangeSuccess = false;
                return(View());
            }
        }
Example #5
0
        public async Task <IActionResult> Index(SiteSettingViewModel model)
        {
            if (ModelState.IsValid)
            {
                var baseSiteSetting = await _siteSettingService.GetAll().AsNoTracking().FirstOrDefaultAsync();

                baseSiteSetting.SiteLogoId   = model.SiteLogoId;
                baseSiteSetting.FooterLogoId = model.FooterLogoId;
                baseSiteSetting.FavIconId    = model.FavIconId;

                baseSiteSetting.Name               = model.Name;
                baseSiteSetting.Title              = model.Title;
                baseSiteSetting.Description        = model.Description;
                baseSiteSetting.FooterText         = model.FooterText;
                baseSiteSetting.RightConditionText = model.RightConditionText;

                await _siteSettingService.Update(baseSiteSetting);

                return(RedirectToAction("Index", "SiteSetting"));
            }
            return(View(model));
        }