'
Show / Hide Table of Contents

Class CampaignController

The Campaign Controller is a controller that allows data to be retrieved and updated within the Ayuda Platform.

Namespace: Ayuda.BMS.Splash.Areas.Pi.Controllers
Remarks

This web service can be accessed using an address similar to the following: https://[AYUDA DEPLOYMENT URL]/Juice/Pi/Campaign

Methods

AddDesign(CampaignDesignModel)

Associates a design with a campaign.

Declaration
public JsonResult AddDesign(CampaignDesignModel model)
Parameters
Type Name Description
CampaignDesignModel model

The model containing the information of the association.

Returns
Type Description
System.Web.Mvc.JsonResult

A Json encoded string containing the ID of the association.

AutomaticallyExpireCampaigns(Guid[])

Expires campaigns that have reached a certain age, depending on their current status.

note

If no sales contract status is configured to expire, this method will fail.

Declaration
public JsonResult AutomaticallyExpireCampaigns(Guid[] campaignIds = null)
Parameters
Type Name Description
System.Guid[] campaignIds

The IDs of the campaigns to verify for expiry. If this parameter is omitted, all campaigns are checked.

Returns
Type Description
System.Web.Mvc.JsonResult

A Json encoded array with the IDs of all expired campaigns. If no campaigns are expired, the array will be empty.

ChangeDigitalOverbookingStatus(Guid, Boolean)

Changes the overbooking status of the campaign to enable or disable overbooking of digital faces.

Declaration
public JsonResult ChangeDigitalOverbookingStatus(Guid campaignID, bool overbookingStatus)
Parameters
Type Name Description
System.Guid campaignID
System.Boolean overbookingStatus
Returns
Type Description
System.Web.Mvc.JsonResult

true if the update was successful.

Create(CampaignModel)

Creates a new campaign using the specified parameters.

Declaration
public JsonResult Create(CampaignModel model)
Parameters
Type Name Description
CampaignModel model

Model of the campaign to be created.

Returns
Type Description
System.Web.Mvc.JsonResult

The ID associated with the new campaign and the Sales Contract ID of the campaign if successfully created.

Delete(Guid)

Declaration
public JsonResult Delete(Guid id)
Parameters
Type Name Description
System.Guid id
Returns
Type Description
System.Web.Mvc.JsonResult

FindByName(String)

Find Campaigns by Name.

Declaration
public JsonResult FindByName(string name)
Parameters
Type Name Description
System.String name

Name of the Campaign

Returns
Type Description
System.Web.Mvc.JsonResult

A list of matching Campaigns.

FindBySalesContractNumber(String)

Finds Campaigns by SalesContractNumber.

Declaration
public JsonResult FindBySalesContractNumber(string scn)
Parameters
Type Name Description
System.String scn

SalesContractNumber of the Campaign

Returns
Type Description
System.Web.Mvc.JsonResult

A list of matching Campaigns.

Get(Guid)

Gets all properties of a given campaign.

Declaration
public JsonResult Get(Guid id)
Parameters
Type Name Description
System.Guid id

ID of the campaign.

Returns
Type Description
System.Web.Mvc.JsonResult

Model of the campaign corresponding to the Campaign ID.

GetByName(String)

Gets the Campaign by Name. (Obsolete: replaced by FindByName) If multiple campaigns have the same name, only the first one is returned (based on ID).

Declaration
[Obsolete]
public JsonResult GetByName(string name)
Parameters
Type Name Description
System.String name

Name of the Campaign

Returns
Type Description
System.Web.Mvc.JsonResult

The Campaign if found.

GetBySalesContractNumber(String)

Gets the Campaign by SalesContractNumber. (Obsolete: replaced by FindBySalesContractNumber) If multiple campaigns match, only the first one is returned (based on ID).

Declaration
[Obsolete]
public JsonResult GetBySalesContractNumber(string scn)
Parameters
Type Name Description
System.String scn

SalesContractNumber of the Campaign

Returns
Type Description
System.Web.Mvc.JsonResult

The Campaign if found.

GetCampaignIdsWithBookingsWithinDateRange(DateTime, DateTime)

Return campaign ids for campaigns that have bookings within specified date range.

Declaration
public JsonResult GetCampaignIdsWithBookingsWithinDateRange(DateTime startDate, DateTime endDate)
Parameters
Type Name Description
System.DateTime startDate

Start of date range.

System.DateTime endDate

End of date range.

Returns
Type Description
System.Web.Mvc.JsonResult

A Json encoded array of Guids.

GetDesign(Guid)

Gets all properties of a campaign/design association.

Declaration
public JsonResult GetDesign(Guid id)
Parameters
Type Name Description
System.Guid id

ID of the campaign/design association.

Returns
Type Description
System.Web.Mvc.JsonResult

A Json encoded instance of the class.

GetExpiredCampaigns(Guid[])

Gets the IDs of expired campaigns.

note

If no sales contract status is configured to expire, this method will fail.

Declaration
public JsonResult GetExpiredCampaigns(Guid[] campaignIds = null)
Parameters
Type Name Description
System.Guid[] campaignIds

The IDs of the campaigns to verify for expiry. If this parameter is omitted, all campaigns are checked.

Returns
Type Description
System.Web.Mvc.JsonResult

A Json encoded array with the IDs of all expired campaigns. If no campaigns are expired, the array will be empty.

GetMany(Guid[])

Return information about the specified campaigns.

Declaration
public JsonResult GetMany(Guid[] ids)
Parameters
Type Name Description
System.Guid[] ids

The IDs of the campaigns.

Returns
Type Description
System.Web.Mvc.JsonResult

A Json encoded array if instances of the type.

GetOverbookedFaces(Guid)

Returns the list of overbooked faceIds in a Campaign

Declaration
public ActionResult GetOverbookedFaces(Guid campaignID)
Parameters
Type Name Description
System.Guid campaignID

ID of the campaign whose faces have to be checked for overbooking

Returns
Type Description
System.Web.Mvc.ActionResult

A Json encoded array of elements. If there exists no digital faces that are overbooked, the array will be empty.

InjectServices(ISalesContractService, ICampaignService)

Declaration
public void InjectServices(ISalesContractService salesContractService, ICampaignService campaignService)
Parameters
Type Name Description
ISalesContractService salesContractService
ICampaignService campaignService

ListSegments(Guid)

Lists all segments associated with the campaign.

Declaration
public JsonResult ListSegments(Guid campaignID)
Parameters
Type Name Description
System.Guid campaignID

ID of the campaign to list all segments for.

Returns
Type Description
System.Web.Mvc.JsonResult

Models of all segments belonging to the campaign.

RemoveDesign(Guid)

Removes the association between a campaign and a design.

Declaration
public JsonResult RemoveDesign(Guid id)
Parameters
Type Name Description
System.Guid id

The ID of the campaign/design association.

Returns
Type Description
System.Web.Mvc.JsonResult

A Json encoded boolean. true if the removal succeeded, else false.

Search(String, Int32)

Searches all campaigns.

Declaration
public JsonResult Search(string term, int limit = 25)
Parameters
Type Name Description
System.String term

Term to search.

System.Int32 limit
Returns
Type Description
System.Web.Mvc.JsonResult

Models of all the results that match the search term.

Update(Nullable<Guid>, Nullable<Guid>, String, String, Nullable<Guid>, Nullable<Guid>, Nullable<Guid>, Nullable<Guid>, String, String, Nullable<DateTime>, Nullable<DateTime>, Nullable<Guid>, Nullable<Guid>, Nullable<Guid>, Nullable<Int32>, Nullable<Boolean>, Nullable<Boolean>, Nullable<DateTime>, String, Nullable<Guid>, Nullable<Guid>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>, Nullable<Boolean>)

Updates the campaign with the specified parameters.

Declaration
public JsonResult Update(Guid? id, Guid? campaignId, string name, string description, Guid? companyID, Guid? advertiserID, Guid? agencyID, Guid? specialistAgencyID, string salesContractNumber, string referenceNumber, DateTime? startDate, DateTime? endDate, Guid? salesContractStatusTypeID, Guid? salesContractTypeID, Guid? salesContractContentTypeID, int? holdDurationInDays, bool? isNetAmount, bool? productionCostIncluded, DateTime? signedOnDate, string notes, Guid? accountExecutiveID, Guid? backOfficeOwnerID, bool? forceUnlinkBundlesOnAdvertiserChange, bool? forceUnlinkDesignsOnAdvertiserChange, bool? forceDeleteInvoicesOnAdvertiserChange, bool? forceRemoveOtherCostsOnDivisionChange, bool? forceRemoveDiscountsOnDivisionChange, bool? forceClearInvoiceScheduleOnDivisionChange, bool? forceAll)
Parameters
Type Name Description
System.Nullable<System.Guid> id

ID of the campaign to be updated.

System.Nullable<System.Guid> campaignId
System.String name

Name of the campaign to be updated.

System.String description
System.Nullable<System.Guid> companyID
System.Nullable<System.Guid> advertiserID

ID of the Advertiser associated with the campaign to be updated.

System.Nullable<System.Guid> agencyID

ID of the Agent associated with the campaign to be updated.

System.Nullable<System.Guid> specialistAgencyID

ID of the Specialist Agent associated with the campaign to be updated.

System.String salesContractNumber
System.String referenceNumber
System.Nullable<System.DateTime> startDate

Start Date of the campaign to be updated.

System.Nullable<System.DateTime> endDate

End Date of the campaign to be updated.

System.Nullable<System.Guid> salesContractStatusTypeID
System.Nullable<System.Guid> salesContractTypeID
System.Nullable<System.Guid> salesContractContentTypeID
System.Nullable<System.Int32> holdDurationInDays
System.Nullable<System.Boolean> isNetAmount
System.Nullable<System.Boolean> productionCostIncluded
System.Nullable<System.DateTime> signedOnDate
System.String notes
System.Nullable<System.Guid> accountExecutiveID

ID of the Account Executive associated with the campaign to be updated.

System.Nullable<System.Guid> backOfficeOwnerID

ID of the Back Office Owner associated with the campaign to be updated.

System.Nullable<System.Boolean> forceUnlinkBundlesOnAdvertiserChange

Indicates if the bundles are automatically unlinked if the advertiser changes (true for yes). This parameter is optional. If not specified or set to false, the method may purposefully fail to prevent illegal changes to the data.

System.Nullable<System.Boolean> forceUnlinkDesignsOnAdvertiserChange

Indicates if the designs are automatically unlinked if the advertiser changes (true for yes). This parameter is optional. If not specified or set to false, the method may purposefully fail to prevent illegal changes to the data.

System.Nullable<System.Boolean> forceDeleteInvoicesOnAdvertiserChange

Indicates if invoices are automatically deleted if the advertiser changes (true for yes). This parameter is optional. If not specified or set to false, the method may purposefully fail to prevent illegal changes to the data.

System.Nullable<System.Boolean> forceRemoveOtherCostsOnDivisionChange

Indicates if other costs are automatically removed if the division changes (true for yes). This parameter is optional. If not specified or set to false, the method may purposefully fail to prevent illegal changes to the data.

System.Nullable<System.Boolean> forceRemoveDiscountsOnDivisionChange

Indicates if discounts are automatically removed if the advertiser changes (true for yes). This parameter is optional. If not specified or set to false, the method may purposefully fail to prevent illegal changes to the data.

System.Nullable<System.Boolean> forceClearInvoiceScheduleOnDivisionChange

Indicates if the invoice schedule is cleared automatically if the advertiser changes (true for yes). This parameter is optional. If not specified or set to false, the method may purposefully fail to prevent illegal changes to the data.

System.Nullable<System.Boolean> forceAll

Forces the same answer to all "force" parameters that are not explicitly given a value.

Returns
Type Description
System.Web.Mvc.JsonResult

true if the update was successful.

UpdateDesign(Nullable<Guid>, Nullable<Guid>, Nullable<Guid>, String, Nullable<Int32>, Nullable<Guid>, Nullable<Boolean>)

Updates the information for a campaign/design association.

Only the ID of the design and the fields to be updated need to be specified.
It is also possible to send a whole instance of the class.

Declaration
public JsonResult UpdateDesign(Guid? id, Guid? salesContractDesignID, Guid? designID, string name, int? expectedQuantity, Guid? faceSizeID, bool? isCustomerSupplied)
Parameters
Type Name Description
System.Nullable<System.Guid> id

The id of the sales contract design to update.

System.Nullable<System.Guid> salesContractDesignID

The id of the sales contract design to update. Can be used as an alternate to the field, if the class is used.

System.Nullable<System.Guid> designID

The ID of the design .

System.String name

The new name of the sales contract design.

System.Nullable<System.Int32> expectedQuantity

The new value for the expected quantity.

System.Nullable<System.Guid> faceSizeID

The new face size.

System.Nullable<System.Boolean> isCustomerSupplied

The new value for the "IsIsCustomerSupplied" field.

Returns
Type Description
System.Web.Mvc.JsonResult

A Json encoded boolean. true if the update succeeded, else false.

Back to top Generated by DocFX