Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /articles | Add new article | Add article to the company for the currently logged in user |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BokaMera.API.ServiceModel.Dtos;
using BokaMera.API.ServiceModel.Db;
namespace BokaMera.API.ServiceModel.Db
{
public partial class ArticleServiceRelation
: BaseModel
{
[Required]
public virtual Guid CompanyId { get; set; }
public virtual int Id { get; set; }
[Required]
public virtual int ServiceId { get; set; }
[Required]
public virtual int ArticleId { get; set; }
}
public partial class BaseModel
{
}
}
namespace BokaMera.API.ServiceModel.Dtos
{
public partial class ArticleResponse
{
public ArticleResponse()
{
Services = new List<ArticleServiceRelation>{};
ServiceIds = new List<int>{};
}
public virtual Guid CompanyId { get; set; }
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual int ArticleTypeId { get; set; }
public virtual string Description { get; set; }
public virtual string ImageUrl { get; set; }
public virtual bool Active { get; set; }
public virtual int Amount { get; set; }
public virtual double Price { get; set; }
public virtual string CurrencyId { get; set; }
public virtual DateTime UpdatedDate { get; set; }
public virtual DateTime CreatedDate { get; set; }
public virtual List<ArticleServiceRelation> Services { get; set; }
public virtual List<int> ServiceIds { get; set; }
public virtual string PriceSign { get; set; }
}
public partial class CreateArticle
{
public CreateArticle()
{
ServiceIds = new int[]{};
}
///<summary>
///
///</summary>
[ApiMember(Description="")]
public virtual Guid? CompanyId { get; set; }
///<summary>
///
///</summary>
[ApiMember(Description="", IsRequired=true)]
public virtual string Name { get; set; }
///<summary>
///
///</summary>
[ApiMember(Description="", IsRequired=true)]
public virtual int ArticleTypeId { get; set; }
///<summary>
///
///</summary>
[ApiMember(Description="", IsRequired=true)]
public virtual string Description { get; set; }
///<summary>
///
///</summary>
[ApiMember(Description="")]
public virtual Uri ImageUrl { get; set; }
///<summary>
///
///</summary>
[ApiMember(Description="", IsRequired=true)]
public virtual bool Active { get; set; }
///<summary>
///
///</summary>
[ApiMember(Description="", IsRequired=true)]
public virtual int Amount { get; set; }
///<summary>
///.
///</summary>
[ApiMember(Description=".", IsRequired=true)]
public virtual double Price { get; set; }
///<summary>
///The payment currency id
///</summary>
[ApiMember(Description="The payment currency id", IsRequired=true)]
public virtual string CurrencyId { get; set; }
///<summary>
///Query for specific services.
///</summary>
[ApiMember(Description="Query for specific services.", ParameterType="query")]
public virtual int[] ServiceIds { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /articles HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
Name: String,
ArticleTypeId: 0,
Description: String,
Active: False,
Amount: 0,
Price: 0,
CurrencyId: String,
ServiceIds:
[
0
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Id: 0, Name: String, ArticleTypeId: 0, Description: String, ImageUrl: String, Active: False, Amount: 0, Price: 0, CurrencyId: String, Services: [ { Id: 0, ServiceId: 0, ArticleId: 0 } ], ServiceIds: [ 0 ], PriceSign: String }