WPF实战学习笔记15-使用Memo类的GetAll接口
使用Memo类的GetAll接口
总体参照上节即可
创建MemoService接口
新建文件Mytodo/Service/IMemoService.cs
using MyToDo.Share.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Mytodo.Service
{public interface IMemoService : IBaseService<MemoDto>{}
}
实现MemoService接口
新建文件Mytodo/Service/MemoService.cs
using MyToDo.Share.Contact;
using MyToDo.Share.Models;
using MyToDo.Share.Parameters;
using MyToDo.Share;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Mytodo.Service
{public class MemoService : BaseService<MemoDto>,IMemoService{private readonly HttpRestClient client;public MemoService(HttpRestClient client) : base(client, "Memo"){this.client = client;}public async Task<ApiResponse<PagedList<MemoDto>>> GetAllFilterAsync(MemoParameter parameter){BaseRequest request = new BaseRequest();request.Method = RestSharp.Method.Get;request.Route = $"api/Memo/GetAll?PageIndex={parameter.PageIndex}" +$"&PageSize={parameter.PageSize}" +$"&search={parameter.Search}" +$"&status={parameter.Status}";return await client.ExecuteAsync<PagedList<MemoDto>>(request);}}
}
依赖注入
修改 文件:Mytodo/App.xaml.cs
部分修改为:
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{//注册服务containerRegistry.GetContainer().Register<HttpRestClient>(made: Parameters.Of.Type<string>(serviceKey: "webUrl"));containerRegistry.GetContainer().RegisterInstance(@"Http://localhost:19007/", serviceKey: "webUrl");containerRegistry.Register<ITodoService, TodoService>();containerRegistry.Register<IMemoService, MemoService>();containerRegistry.RegisterForNavigation<AboutView, AboutViewModel>();containerRegistry.RegisterForNavigation<SysSetView, SysSetViewModel>();containerRegistry.RegisterForNavigation<SkinView, SkinViewModel>();containerRegistry.RegisterForNavigation<IndexView, IndexViewModel>();containerRegistry.RegisterForNavigation<TodoView, TodoViewModel>();containerRegistry.RegisterForNavigation<MemoView, MemoViewModel>();containerRegistry.RegisterForNavigation<SettingsView, SettingsViewModel>();
}
修改ViewModel
参照上节