public virtual IActionResult VendorNotesSelect(VendorNoteSearchModel searchModel) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageVendors)) { return(AccessDeniedDataTablesJson()); } //try to get a vendor with the specified id var vendor = _vendorService.GetVendorById(searchModel.VendorId) ?? throw new ArgumentException("No vendor found with the specified id"); //prepare model var model = _vendorModelFactory.PrepareVendorNoteListModel(searchModel, vendor); return(Json(model)); }
/// <summary> /// Prepare vendor note search model /// </summary> /// <param name="searchModel">Vendor note search model</param> /// <param name="vendor">Vendor</param> /// <returns>Vendor note search model</returns> protected virtual VendorNoteSearchModel PrepareVendorNoteSearchModel(VendorNoteSearchModel searchModel, Vendor vendor) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (vendor == null) { throw new ArgumentNullException(nameof(vendor)); } searchModel.VendorId = vendor.Id; //prepare page parameters searchModel.SetGridPageSize(); return(searchModel); }
/// <summary> /// Prepare paged vendor note list model /// </summary> /// <param name="searchModel">Vendor note search model</param> /// <param name="vendor">Vendor</param> /// <returns>Vendor note list model</returns> public virtual VendorNoteListModel PrepareVendorNoteListModel(VendorNoteSearchModel searchModel, Vendor vendor) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (vendor == null) { throw new ArgumentNullException(nameof(vendor)); } //get vendor notes var vendorNotes = vendor.VendorNotes.OrderByDescending(note => note.CreatedOnUtc).ToList(); //prepare list model var model = new VendorNoteListModel { Data = vendorNotes.PaginationByRequestModel(searchModel).Select(note => { //fill in model values from the entity var vendorNoteModel = new VendorNoteModel { Id = note.Id, VendorId = note.VendorId }; //convert dates to the user time vendorNoteModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(note.CreatedOnUtc, DateTimeKind.Utc); //fill in additional values (not existing in the entity) vendorNoteModel.Note = _vendorService.FormatVendorNoteText(note); return(vendorNoteModel); }), Total = vendorNotes.Count }; return(model); }
/// <summary> /// Prepare paged vendor note list model /// </summary> /// <param name="searchModel">Vendor note search model</param> /// <param name="vendor">Vendor</param> /// <returns>Vendor note list model</returns> public virtual VendorNoteListModel PrepareVendorNoteListModel(VendorNoteSearchModel searchModel, Vendor vendor) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (vendor == null) { throw new ArgumentNullException(nameof(vendor)); } //get vendor notes var vendorNotes = _vendorService.GetVendorNotesByVendor(vendor.Id, searchModel.Page - 1, searchModel.PageSize); //prepare list model var model = new VendorNoteListModel().PrepareToGrid(searchModel, vendorNotes, () => { //fill in model values from the entity return(vendorNotes.Select(note => { //fill in model values from the entity var vendorNoteModel = note.ToModel <VendorNoteModel>(); //convert dates to the user time vendorNoteModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(note.CreatedOnUtc, DateTimeKind.Utc); //fill in additional values (not existing in the entity) vendorNoteModel.Note = _vendorService.FormatVendorNoteText(note); return vendorNoteModel; })); }); return(model); }