【发布时间】:2018-12-23 20:36:29
【问题描述】:
我迷路了……我错过了什么。我复制了一个工作服务并将其重命名。该服务不会加载到服务堆栈中。无法通过 api 访问且未显示在元数据页面中...
代码如下
using cbw.service.models.Models;
using ServiceStack;
namespace cbw.service.models.Routes
{
/// <summary>
/// Company RTO - Response DataObject with custom Route
/// </summary>
[Route("/GetPermission/{Id}", "GET")]
public class GetPermission : IReturn<GetPermission>
{
public int Id { get; set; }
}
[Route("/Permission", "PUT")]
public class AddPermission : PostReturn
{
public string Name { get; set; }
public string Description { get; set; }
public int AuditUserId { get; set; }
}
[Route("/Permission/{Id}", "PUT")]
public class UpdatePermission : IReturn<UpdatePermission>
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int AuditUserId { get; set; }
}
[Route("/Permission/{Id}", "DELETE")]
public class DeletePermission : IReturnVoid
{
public int Id { get; set; }
}
}
using System;
using cbw.service.models.Models;
using cbw.service.models.Routes;
using ServiceStack;
using ServiceStack.OrmLite;
namespace cbw.service.interfaces.Services
{
/// <summary>
///
/// </summary>
//[Authenticate]
public class SecurityService : Service
{
/// <summary>
/// To insert new permission
/// </summary>
/// <returns></returns>
public long AddPermission(AddPermission request)
{
var perm = request.ConvertTo<Permission>();
perm.AuditUserId = Convert.ToInt32(UserInfo.UserSession().UserAuthId);
return Db.Insert(perm);
}
/// <summary>
/// To Update permission
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public int UpdatePermission(UpdatePermission request)
{
using (var trans = Db.OpenTransaction())
{
//Insert Historical
var permissionHist = Db.SingleById<Permission>(request.Id).ConvertTo<PermissionHist>();
permissionHist.Action = DbAction.Update;
//update Permission
var perm = request.ConvertTo<Permission>();
perm.AuditUserId = Convert.ToInt32(UserInfo.UserSession().UserAuthId);
var i = Db.Update(perm);
Db.Insert(permissionHist);
trans.Commit();
return i;
}
}
/// <summary>
/// To delete permissions
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public int DeletePermisssion(DeletePermission request)
{
//Insert Historical
Db.Insert(Db.SingleById<Permission>(request.Id).ConvertTo<PermissionHist>().Action = DbAction.Delete);
return Db.Delete<Permission>(c => c.Id == request.Id);
}
}
}
【问题讨论】:
标签: servicestack