public ActionResult EditSection(long?sectionId = null) { pageResourceManager.InsertTitlePart("帖吧设置"); if (sectionId.HasValue) { BarSection section = barSectionService.Get(sectionId ?? 0); if (section == null) { return(HttpNotFound()); } ViewData["UserId"] = section.UserId; ViewData["ManagerUserIds"] = barSectionService.GetSectionManagers(sectionId ?? 0).Select(n => n.UserId); ISettingsManager <BarSettings> manager = DIContainer.Resolve <ISettingsManager <BarSettings> >(); BarSettings settings = manager.Get(); ViewData["SectionManagerMaxCount"] = settings.SectionManagerMaxCount; BarSectionEditModel model = section.AsEditModel(); IEnumerable <Category> categories = categoryService.GetCategoriesOfItem(section.SectionId, 0, TenantTypeIds.Instance().BarSection()); if (categories != null && categories.Count() > 0) { model.CategoryId = categories.ElementAt(0).CategoryId; } return(View(model)); } else { ViewData["UserId"] = UserContext.CurrentUser.UserId; } return(View(new BarSectionEditModel())); }
public ActionResult EditSection(BarSectionEditModel model) { if (authorizer.BarSection_Manage(model.SectionId)) { HttpPostedFileBase logoImage = Request.Files["LogoImage"]; string logoImageFileName = string.Empty; Stream stream = null; if (logoImage != null && !string.IsNullOrEmpty(logoImage.FileName)) { TenantLogoSettings tenantLogoSettings = TenantLogoSettings.GetRegisteredSettings(TenantTypeIds.Instance().BarSection()); if (!tenantLogoSettings.ValidateFileLength(logoImage.ContentLength)) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, string.Format("Logo文件大小不允许超过{0}", Formatter.FormatFriendlyFileSize(tenantLogoSettings.MaxLogoLength * 1024))); return View(model); } LogoSettings logoSettings = DIContainer.Resolve<ISettingsManager<LogoSettings>>().Get(); if (!logoSettings.ValidateFileExtensions(logoImage.FileName)) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "Logo文件是不支持的文件类型,仅支持" + logoSettings.AllowedFileExtensions); return View(model); } stream = logoImage.InputStream; logoImageFileName = logoImage.FileName; } BarSection section = model.GetBarSectionByEditForManager(); if (!string.IsNullOrEmpty(logoImageFileName)) section.LogoImage = logoImageFileName; IEnumerable<long> managerUserIds = barSectionService.GetSectionManagers(model.SectionId).Select(n => n.UserId); if (authorizer.BarSection_SetManager(model.SectionId)) { managerUserIds = Request.Form.Gets<long>("ManagerUserIds") == null ? null : Request.Form.Gets<long>("ManagerUserIds"); } barSectionService.Update(section, UserContext.CurrentUser.UserId, managerUserIds, stream); TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "更新设置成功"); return RedirectToAction("EditSection", new { sectionId = model.SectionId }); } else { return Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel { Body = "保存失败,您可能没有权限编辑帖子描述", Title = "保存失败", StatusMessageType = StatusMessageType.Hint })); } }
public ActionResult CreateSection(BarSectionEditModel model) { if (!authorizer.BarSection_Create()) return HttpNotFound(); if (!ModelState.IsValid) { return View(model); } HttpPostedFileBase logoImage = Request.Files["LogoImage"]; string logoImageFileName = string.Empty; Stream stream = null; if (logoImage != null && !string.IsNullOrEmpty(logoImage.FileName)) { TenantLogoSettings tenantLogoSettings = TenantLogoSettings.GetRegisteredSettings(TenantTypeIds.Instance().BarSection()); if (!tenantLogoSettings.ValidateFileLength(logoImage.ContentLength)) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, string.Format("文件大小不允许超过{0}", Formatter.FormatFriendlyFileSize(tenantLogoSettings.MaxLogoLength * 1024))); return View(model); } LogoSettings logoSettings = DIContainer.Resolve<ISettingsManager<LogoSettings>>().Get(); if (!logoSettings.ValidateFileExtensions(logoImage.FileName)) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "不支持的文件类型,仅支持" + logoSettings.AllowedFileExtensions); return View(model); } stream = logoImage.InputStream; logoImageFileName = logoImage.FileName; } IEnumerable<long> managerUserIds = Request.Form.Gets<long>("ManagerUserIds"); BarSection barSection = model.AsBarSection(); barSection.IsEnabled = true; barSection.LogoImage = logoImageFileName; barSection.UserId = UserContext.CurrentUser.UserId; //独立帖吧应用中帖吧拥有者指定为0 barSection.OwnerId = 0; barSectionService.Create(barSection, UserContext.CurrentUser.UserId, managerUserIds, stream); if (model.CategoryId > 0) categoryService.AddItemsToCategory(new List<long> { barSection.SectionId }, model.CategoryId); return Redirect(SiteUrls.Instance().SectionDetail(barSection.SectionId)); }
public ActionResult EditSection(BarSectionEditModel model) { HttpPostedFileBase logoImage = Request.Files["LogoImage"]; string logoImageFileName = string.Empty; Stream stream = null; if (logoImage != null && !string.IsNullOrEmpty(logoImage.FileName)) { TenantLogoSettings tenantLogoSettings = TenantLogoSettings.GetRegisteredSettings(TenantTypeIds.Instance().BarSection()); if (!tenantLogoSettings.ValidateFileLength(logoImage.ContentLength)) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, string.Format("Logo文件大小不允许超过{0}", Formatter.FormatFriendlyFileSize(tenantLogoSettings.MaxLogoLength * 1024))); return(View(model)); } LogoSettings logoSettings = DIContainer.Resolve <ISettingsManager <LogoSettings> >().Get(); if (!logoSettings.ValidateFileExtensions(logoImage.FileName)) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "Logo文件是不支持的文件类型,仅支持" + logoSettings.AllowedFileExtensions); return(View(model)); } stream = logoImage.InputStream; logoImageFileName = logoImage.FileName; } IEnumerable <long> managerUserIds = Request.Form.Gets <long>("ManagerUserIds"); if (model.SectionId == 0) { BarSection section = model.AsBarSection(); //long userId = Request.QueryString.Gets<long>(model.UserId, new List<long>()).FirstOrDefault(); section.UserId = Request.Form.Gets <long>("UserId", new List <long>()).FirstOrDefault(); if (section.UserId == 0) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "请输入吧主信息"); return(View(model)); } section.LogoImage = logoImageFileName; section.DisplayOrder = model.DisplayOrder ?? 100; if (managerUserIds != null && managerUserIds.Count() > 0) { managerUserIds = managerUserIds.Where(n => n != section.UserId); } bool isCreated = barSectionService.Create(section, UserContext.CurrentUser.UserId, managerUserIds, stream); categoryService.AddItemsToCategory(new List <long> { section.SectionId }, model.CategoryId); if (isCreated) { TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "创建成功"); return(Redirect(SiteUrls.Instance().EditSection(section.SectionId))); } ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "创建失败"); return(View(model)); } else { BarSection section = model.AsBarSection(); long userId = Request.Form.Gets <long>("UserId", new List <long>()).FirstOrDefault(); if (userId == 0) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "必须输入吧主信息"); ViewData["ManagerUserIds"] = barSectionService.GetSectionManagers(section.SectionId).Select(n => n.UserId); ISettingsManager <BarSettings> manager = DIContainer.Resolve <ISettingsManager <BarSettings> >(); BarSettings settings = manager.Get(); ViewData["SectionManagerMaxCount"] = settings.SectionManagerMaxCount; return(View(model)); } section.UserId = userId; if (!string.IsNullOrEmpty(logoImageFileName)) { section.LogoImage = logoImageFileName; } section.DisplayOrder = model.DisplayOrder ?? 100; barSectionService.Update(section, UserContext.CurrentUser.UserId, managerUserIds, stream); categoryService.ClearCategoriesFromItem(section.SectionId, 0, TenantTypeIds.Instance().BarSection()); categoryService.AddItemsToCategory(new List <long> { section.SectionId }, model.CategoryId); TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "更新成功"); return(Redirect(SiteUrls.Instance().EditSection(model.SectionId))); } }
public ActionResult EditSection(BarSectionEditModel model) { HttpPostedFileBase logoImage = Request.Files["LogoImage"]; string logoImageFileName = string.Empty; Stream stream = null; if (logoImage != null && !string.IsNullOrEmpty(logoImage.FileName)) { TenantLogoSettings tenantLogoSettings = TenantLogoSettings.GetRegisteredSettings(TenantTypeIds.Instance().BarSection()); if (!tenantLogoSettings.ValidateFileLength(logoImage.ContentLength)) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, string.Format("Logo文件大小不允许超过{0}", Formatter.FormatFriendlyFileSize(tenantLogoSettings.MaxLogoLength * 1024))); return View(model); } LogoSettings logoSettings = DIContainer.Resolve<ISettingsManager<LogoSettings>>().Get(); if (!logoSettings.ValidateFileExtensions(logoImage.FileName)) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "Logo文件是不支持的文件类型,仅支持" + logoSettings.AllowedFileExtensions); return View(model); } stream = logoImage.InputStream; logoImageFileName = logoImage.FileName; } IEnumerable<long> managerUserIds = Request.Form.Gets<long>("ManagerUserIds"); if (model.SectionId == 0) { BarSection section = model.AsBarSection(); //long userId = Request.QueryString.Gets<long>(model.UserId, new List<long>()).FirstOrDefault(); section.UserId = Request.Form.Gets<long>("UserId", new List<long>()).FirstOrDefault(); if (section.UserId == 0) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "请输入吧主信息"); return View(model); } section.LogoImage = logoImageFileName; section.DisplayOrder = model.DisplayOrder ?? 100; if (managerUserIds != null && managerUserIds.Count() > 0) managerUserIds = managerUserIds.Where(n => n != section.UserId); bool isCreated = barSectionService.Create(section, UserContext.CurrentUser.UserId, managerUserIds, stream); categoryService.AddItemsToCategory(new List<long> { section.SectionId }, model.CategoryId); if (isCreated) { TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "创建成功"); return Redirect(SiteUrls.Instance().EditSection(section.SectionId)); } ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "创建失败"); return View(model); } else { BarSection section = model.AsBarSection(); long userId = Request.Form.Gets<long>("UserId", new List<long>()).FirstOrDefault(); if (userId == 0) { ViewData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Error, "必须输入吧主信息"); ViewData["ManagerUserIds"] = barSectionService.GetSectionManagers(section.SectionId).Select(n => n.UserId); ISettingsManager<BarSettings> manager = DIContainer.Resolve<ISettingsManager<BarSettings>>(); BarSettings settings = manager.Get(); ViewData["SectionManagerMaxCount"] = settings.SectionManagerMaxCount; return View(model); } section.UserId = userId; if (!string.IsNullOrEmpty(logoImageFileName)) section.LogoImage = logoImageFileName; section.DisplayOrder = model.DisplayOrder ?? 100; barSectionService.Update(section, UserContext.CurrentUser.UserId, managerUserIds, stream); categoryService.ClearCategoriesFromItem(section.SectionId, 0, TenantTypeIds.Instance().BarSection()); categoryService.AddItemsToCategory(new List<long> { section.SectionId }, model.CategoryId); TempData["StatusMessageData"] = new StatusMessageData(StatusMessageType.Success, "更新成功"); return Redirect(SiteUrls.Instance().EditSection(model.SectionId)); } }