/// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public BannerTemplateJsonModel(UserBannerTemplate banner) { Id = banner.Id; Filename = banner.Filename; Category = banner.Category; }
/// <summary> /// Обнолвяет объект баннера /// </summary> /// <param name="banner"></param> public void UpdateBanner(UserBannerTemplate banner) { banner.Filename = Filename; banner.Category = Category; }
public JsonResult Save([ModelBinder(typeof(JsonModelBinder))] BannerTemplateJsonModel model) { try { // Репозиторий var repository = Locator.GetService<IUserBannerTemplatesRepository>(); // Сохраняем файл с картинкой bool fileSubmitted = false; string submittedFileName = ""; var file = Request.Files["file"]; if (file != null && file.ContentLength > 0 && file.ContentType.Contains("image")) { fileSubmitted = true; var fileName = String.Format("{0}-{1}{2}", Path.GetFileNameWithoutExtension(file.FileName), new Random(System.Environment.TickCount).Next(65535), Path.GetExtension(file.FileName)); FileUtils.SavePostedFile(file, "bannertemplates", fileName); submittedFileName = fileName; } if (model.Id <= 0) { // Создаем новую страничку var banner = new UserBannerTemplate() { Category = model.Category, Filename = fileSubmitted ? submittedFileName : model.Filename }; repository.Add(banner); // Сохраняем изменения repository.SubmitChanges(); } else { // Обновляем существующую var banner = repository.Load(model.Id); if (banner == null) { throw new ObjectNotFoundException(String.Format("Баннер с идентификатором {0} не найден", model.Id)); } banner.Category = model.Category; banner.Filename = fileSubmitted ? submittedFileName : model.Filename; // Сохраняем изменения repository.SubmitChanges(); } return JsonSuccess(); } catch (Exception e) { return JsonErrors(e); } }