public virtual IActionResult VendorPictureUpdate(VendorPictureModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageVendors)) { return(AccessDeniedView()); } //try to get a vendor picture with the specified id var vendorPicture = this.GetVendorPictureById(model.Id) ?? throw new ArgumentException("No vendor picture found with the specified id"); //try to get a picture with the specified id var picture = _pictureService.GetPictureById(vendorPicture.PictureId) ?? throw new ArgumentException("No picture found with the specified id"); _pictureService.UpdatePicture(picture.Id, _pictureService.LoadPictureBinary(picture), picture.MimeType, picture.SeoFilename, model.OverrideAltAttribute, model.OverrideTitleAttribute); vendorPicture.DisplayOrder = model.DisplayOrder; this.UpdateVendorPicture(vendorPicture); return(new NullJsonResult()); }
/// <summary> /// Prepare paged vendor picture list model /// </summary> /// <param name="searchModel">Vendor picture search model</param> /// <param name="vendor">Vendor</param> /// <returns>Vendor picture list model</returns> public virtual VendorPictureListModel PrepareVendorPictureListModel(VendorPictureSearchModel searchModel, Vendor vendor) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (vendor == null) { throw new ArgumentNullException(nameof(vendor)); } //get vendor pictures var vendorPictures = this.GetVendorPicturesByVendorId(vendor.Id); //prepare grid model var model = new VendorPictureListModel { Data = vendorPictures.PaginationByRequestModel(searchModel).Select(vendorPicture => { //fill in model values from the entity var vendorPictureModel = new VendorPictureModel { Id = vendorPicture.Id, VendorId = vendorPicture.VendorId, PictureId = vendorPicture.PictureId, DisplayOrder = vendorPicture.DisplayOrder }; //fill in additional values (not existing in the entity) var picture = _pictureService.GetPictureById(vendorPicture.PictureId) ?? throw new Exception("Picture cannot be loaded"); vendorPictureModel.PictureUrl = _pictureService.GetPictureUrl(picture); vendorPictureModel.OverrideAltAttribute = picture.AltAttribute; vendorPictureModel.OverrideTitleAttribute = picture.TitleAttribute; return(vendorPictureModel); }), Total = vendorPictures.Count }; return(model); }