使用Memo类的GetAll接口
总体参照上节即可
创建MemoService接口
新建文件Mytodo/Service/IMemoService.cs
c#
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
c#
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
参照上节