Berikut adalah cara mengirim data melalui web service dengan metode post.
Mengirimkan object
Web service:
[code language=”csharp”]
[HttpPost]
public ServiceResponseStub<ProcurementPresentationStub> GetAll(GridRequestParameters parameter)
{
//kamus
ServiceResponseStub<ProcurementPresentationStub> response = new ServiceResponseStub<ProcurementPresentationStub>();
//EFMemoDeptRepository repo = new EFMemoDeptRepository();
List<Procurement> data;
List<ProcurementPresentationStub> returnData;
List<SGUser> userList;
Business.Infrastructure.FilterInfo filters;
int? take = null;
//algoritma
filters = parameter.Filters;
if (parameter.Take != 0)
take = parameter.Take;
data = RepoProcurement.FindAll(parameter.Skip, take, (parameter.Sortings != null ? parameter.Sortings.ToList() : null), filters);
userList = RepoUser.FindAll();
returnData = ProcurementPresentationStub.MapList(data, userList);
response.status = 200;
response.message = "Success";
response.total = data.Count;
response.data = returnData;
return response;
}
[/code]
Cara memanggil:
[code language=”csharp”]
public List<ProcurementModel> FindAll(int? skip = null, int? take = null, List<SortingInfo> sortings = null, FilterInfo filters = null)
{
//kamus
string baseUrl = ConfigurationManager.AppSettings["SPSURL"];
string serviceUrl = "/api/Procurement/GetAll";
string fullUrl = baseUrl + serviceUrl;
string json = null;
GridRequestParameters param = new GridRequestParameters();
string paramAsString;
List<ProcurementModel> list;
ServiceResponseStub<ProcurementModel> response;
//algoritma
using (var client = new WebClient())
{
param = new GridRequestParameters
{
Skip = (skip.HasValue ? skip.Value : 0),
Take = (take.HasValue ? take.Value : 0),
Sortings = sortings,
Filters = filters
};
paramAsString = new JavaScriptSerializer().Serialize(param);
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
json = client.UploadString(fullUrl, paramAsString);
response = new JavaScriptSerializer().Deserialize<ServiceResponseStub<ProcurementModel>>(json);
list = response.data;
}
return list;
}
[/code]
Mengirimkan single parameter
Web service:
[code language=”csharp”]
[HttpPost]
public ServiceResponseStub<ProcurementDetailServiceStub> GetDetail([FromBody] int procurementId)
{
//kamus
ServiceResponseStub<ProcurementDetailServiceStub> response = new ServiceResponseStub<ProcurementDetailServiceStub>();
//EFMemoDeptRepository repo = new EFMemoDeptRepository();
Procurement dbItem;
ProcurementDetailServiceStub data;
List<ProcurementDetailServiceStub> returnData;
//algoritma
dbItem = RepoProcurement.FindByPk(procurementId);
data = new ProcurementDetailServiceStub(dbItem);
returnData = new List<ProcurementDetailServiceStub> { data };
response.status = 200;
response.message = "Success";
response.total = 1;
response.data = returnData;
return response;
}
[/code]
Cara memanggil:
[code language=”csharp”]
public ProcurementDetailModel FindDetailByPk(int procurementId)
{
//kamus
string baseUrl = ConfigurationManager.AppSettings["SPSURL"];
string serviceUrl = "/api/Procurement/GetDetail";
string fullUrl = baseUrl + serviceUrl;
string json = null;
GridRequestParameters param = new GridRequestParameters();
string paramAsString;
ProcurementDetailModel data = null;
ServiceResponseStub<ProcurementDetailModel> response;
//algoritma
using (var client = new WebClient())
{
paramAsString = procurementId.ToString();
client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
json = client.UploadString(fullUrl, paramAsString);
response = new JavaScriptSerializer().Deserialize<ServiceResponseStub<ProcurementDetailModel>>(json);
if (response.data != null && response.data.Count() > 0)
{
data = response.data[0];
}
}
return data;
}
[/code]