BokaMera.API.Host

<back to all web services

CreateArticle

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/articlesAdd new articleAdd 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; }
    }

}

C# CreateArticle DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
}