Class SaleAgent
Facade for the Sale Agent Sale data services
Namespace: SuperOffice.CRM.Services
Assembly: SuperOffice.Services.dll
Syntax
public class SaleAgent : AgentBase<ISaleAgent>, IDisposable, ISaleAgent, IAgent
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
Constructors
SaleAgent()
Facade for the Sale Agent Sale data services
Declaration
public SaleAgent()
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
Methods
AddSaleStakeholders(Int32, SaleStakeholder[])
Facade for the Sale Agent Sale data services
Declaration
public void AddSaleStakeholders(int saleId, SaleStakeholder[] saleStakeholders)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId | |
SaleStakeholder[] | saleStakeholders |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
BatchUpdateNextDueDate()
Re-calculate all the next due dates
Declaration
public void BatchUpdateNextDueDate()
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
CreateDefaultSaleEntity()
Loading default values into a new SaleEntity. NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance
Declaration
public SaleEntity CreateDefaultSaleEntity()
Returns
Type | Description |
---|---|
SaleEntity | New SaleEntity with default values |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
CreateDefaultSaleStakeholder()
Loading default values into a new SaleStakeholder. NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance
Declaration
public SaleStakeholder CreateDefaultSaleStakeholder()
Returns
Type | Description |
---|---|
SaleStakeholder | New SaleStakeholder with default values |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
CreateDefaultSaleSummary()
Loading default values into a new SaleSummary. NetServer calculates default values (e.g. Country) on the entity, which is required when creating/storing a new instance
Declaration
public SaleSummary CreateDefaultSaleSummary()
Returns
Type | Description |
---|---|
SaleSummary | New SaleSummary with default values |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
DeleteSaleEntity(Int32)
Deletes the SaleEntity
Declaration
public void DeleteSaleEntity(int saleEntityId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleEntityId | The identity of the SaleEntity |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
DeleteSaleStakeholder(Int32)
Deletes the SaleStakeholder
Declaration
public void DeleteSaleStakeholder(int saleStakeholderId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleStakeholderId | The identity of the SaleStakeholder |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
DeleteSaleStakeholders(Int32[])
Facade for the Sale Agent Sale data services
Declaration
public void DeleteSaleStakeholders(int[] saleStakeholderIds)
Parameters
Type | Name | Description |
---|---|---|
Int32[] | saleStakeholderIds |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetMyOpportunities(Int32)
Returning the opportunities (open sales) belonging to the user currently logged on
Declaration
public Sale[] GetMyOpportunities(int count)
Parameters
Type | Name | Description |
---|---|---|
Int32 | count | The number of sales that is returned. -1 returns all. |
Returns
Type | Description |
---|---|
Sale[] | Array of open sales (opportunities). |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetNextDueDate(Int32)
Gets the next due date for a sale. The next due date is the next future appointment that is not completed.
Declaration
public DateTime GetNextDueDate(int saleId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId | Sale id |
Returns
Type | Description |
---|---|
DateTime | Next due date for the given sale. |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetNextSaleStage(Int32, Boolean)
Gets the next (not deleted) sale stage id if the current stage is deleted. If the current stage is not deleted, the CurrentStageId is returned
Declaration
public int GetNextSaleStage(int saleId, bool includeCurrentStage)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId | |
Boolean | includeCurrentStage |
Returns
Type | Description |
---|---|
Int32 |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetOpenSalesForContact(Int32)
Returns all open sales for the contact provided.
Declaration
public Sale[] GetOpenSalesForContact(int contactId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | contactId | The ID of the contact whose sales we want. |
Returns
Type | Description |
---|---|
Sale[] | Aray of sales. |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetProbabilityFromStage(Int32)
Get the probability percentage for a given sale stage
Declaration
public int GetProbabilityFromStage(int stageId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | stageId | Probability list id |
Returns
Type | Description |
---|---|
Int32 | Probability percentage |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetRecentSales(Int32, Int32)
Returns the latest sales (that are sold) limited by their amount. The result is sorted descending with the latest first. If the amount is -1, the amount restriction is omitted.
Declaration
public Sale[] GetRecentSales(int amountLimit, int count)
Parameters
Type | Name | Description |
---|---|---|
Int32 | amountLimit | The amount limit in the local currency. |
Int32 | count | The maximum number of items to return. If -1 all are returned. |
Returns
Type | Description |
---|---|
Sale[] | Array of all recent sales. |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSale(Int32)
Gets a Sale object.
Declaration
public Sale GetSale(int saleId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId | The identifier of the Sale object |
Returns
Type | Description |
---|---|
Sale | Sale |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSaleEntity(Int32)
Gets a SaleEntity object.
Declaration
public SaleEntity GetSaleEntity(int saleEntityId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleEntityId | The identifier of the SaleEntity object |
Returns
Type | Description |
---|---|
SaleEntity | SaleEntity |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSaleList(Int32[])
Gets an array of Sale objects.
Declaration
public Sale[] GetSaleList(int[] saleIds)
Parameters
Type | Name | Description |
---|---|---|
Int32[] | saleIds | The identifiers of the Sale object |
Returns
Type | Description |
---|---|
Sale[] | Array of Sale objects |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSalesByDate(DateTime, DateTime, Int32, SaleStatus)
Returns all sales within a time period. The sales array can be limited by amount and status.
Declaration
public Sale[] GetSalesByDate(DateTime fromDate, DateTime toDate, int amountLimit, SaleStatus status)
Parameters
Type | Name | Description |
---|---|---|
DateTime | fromDate | The beginning of the time interval. |
DateTime | toDate | The end of the time interval. |
Int32 | amountLimit | The amount limit in the local currency. -1 means no amount limit |
SaleStatus | status | The sale status (Lost, Open, Sold, Unknown). SaleStatus.Unknown means no status filtering. |
Returns
Type | Description |
---|---|
Sale[] | Array of sales. |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSalesFromContact(Int32, Boolean)
Returns all sales for the contact provided.
Declaration
public Sale[] GetSalesFromContact(int contactId, bool onlyOpenSales)
Parameters
Type | Name | Description |
---|---|---|
Int32 | contactId | The ID of the contact whose sales we want. |
Boolean | onlyOpenSales | If true, only get open sales. |
Returns
Type | Description |
---|---|
Sale[] | List of sales matching query |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSalesFromPerson(Int32, Boolean)
Returns all sales for the person provided.
Declaration
public Sale[] GetSalesFromPerson(int personId, bool onlyOpenSales)
Parameters
Type | Name | Description |
---|---|---|
Int32 | personId | The ID of the person whose sales we want. |
Boolean | onlyOpenSales | If true, only get open sales. |
Returns
Type | Description |
---|---|
Sale[] | List of sales matching query |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSaleStakeholder(Int32)
Gets a SaleStakeholder object.
Declaration
public SaleStakeholder GetSaleStakeholder(int saleStakeholderId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleStakeholderId | The identifier of the SaleStakeholder object |
Returns
Type | Description |
---|---|
SaleStakeholder | SaleStakeholder |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSaleStakeholderById(Int32[])
Facade for the Sale Agent Sale data services
Declaration
public SaleStakeholder[] GetSaleStakeholderById(int[] saleStakeholderIds)
Parameters
Type | Name | Description |
---|---|---|
Int32[] | saleStakeholderIds |
Returns
Type | Description |
---|---|
SaleStakeholder[] |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSaleStakeholderList(Int32[])
Gets an array of SaleStakeholder objects.
Declaration
public SaleStakeholder[] GetSaleStakeholderList(int[] saleStakeholderIds)
Parameters
Type | Name | Description |
---|---|---|
Int32[] | saleStakeholderIds | The identifiers of the SaleStakeholder object |
Returns
Type | Description |
---|---|
SaleStakeholder[] | Array of SaleStakeholder objects |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSaleStakeholders(Int32)
Facade for the Sale Agent Sale data services
Declaration
public SaleStakeholder[] GetSaleStakeholders(int saleId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId |
Returns
Type | Description |
---|---|
SaleStakeholder[] |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSummaryByAssociate(Int32, DateTime, DateTime)
Facade for the Sale Agent Sale data services
Declaration
public SaleSummary GetSummaryByAssociate(int associateId, DateTime fromDate, DateTime toDate)
Parameters
Type | Name | Description |
---|---|---|
Int32 | associateId | |
DateTime | fromDate | |
DateTime | toDate |
Returns
Type | Description |
---|---|
SaleSummary |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSummaryByContact(Int32, DateTime, DateTime)
Facade for the Sale Agent Sale data services
Declaration
public SaleSummary GetSummaryByContact(int contactId, DateTime fromDate, DateTime toDate)
Parameters
Type | Name | Description |
---|---|---|
Int32 | contactId | |
DateTime | fromDate | |
DateTime | toDate |
Returns
Type | Description |
---|---|
SaleSummary |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetSummaryByGroup(Int32, DateTime, DateTime)
Facade for the Sale Agent Sale data services
Declaration
public SaleSummary GetSummaryByGroup(int groupId, DateTime fromDate, DateTime toDate)
Parameters
Type | Name | Description |
---|---|---|
Int32 | groupId | |
DateTime | fromDate | |
DateTime | toDate |
Returns
Type | Description |
---|---|
SaleSummary |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
GetUpcomingSales(Int32, Int32)
Returns all open sales, sorted descending with the latest first. If the weigthed amount is -1, the amount restriction is omitted.
Declaration
public Sale[] GetUpcomingSales(int weightedAmountLimit, int count)
Parameters
Type | Name | Description |
---|---|---|
Int32 | weightedAmountLimit | The amount weighted by the probability that the sale is closed (amount * probability). |
Int32 | count | The maximum number of items to return. If -1 all are returned. |
Returns
Type | Description |
---|---|
Sale[] | Array of upcoming sales. |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
HasGuide(Int32)
Does this sale have a sale guide associated with its sale type?
Declaration
public bool HasGuide(int saleId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId | Sale id |
Returns
Type | Description |
---|---|
Boolean | True if the sale has a guide |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
HasGuideActivities(Int32)
Facade for the Sale Agent Sale data services
Declaration
public bool HasGuideActivities(int saleId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId |
Returns
Type | Description |
---|---|
Boolean |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
HasStakeholderSetting(Int32)
Facade for the Sale Agent Sale data services
Declaration
public bool HasStakeholderSetting(int saleId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId |
Returns
Type | Description |
---|---|
Boolean |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
IsNumberValid(Int32, String)
Checks if the number is unique or required. The setting is configured from admin under system options.
Declaration
public bool IsNumberValid(int contactId, string number)
Parameters
Type | Name | Description |
---|---|---|
Int32 | contactId | SaleId |
String | number | Number value to check for uniqueness/required |
Returns
Type | Description |
---|---|
Boolean | True if the number is valid |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
OfferAutoNextStageOnApppointmentCompleted(Int32)
Facade for the Sale Agent Sale data services
Declaration
public bool OfferAutoNextStageOnApppointmentCompleted(int appointmentId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | appointmentId |
Returns
Type | Description |
---|---|
Boolean |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
SaleHasQuote(Int32)
Returns true is the sale has a quote
Declaration
public bool SaleHasQuote(int saleId)
Parameters
Type | Name | Description |
---|---|---|
Int32 | saleId | The id of the sale |
Returns
Type | Description |
---|---|
Boolean | True if the sale has a quote |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
SaveSaleEntity(SaleEntity)
Updates the existing SaleEntity or creates a new SaleEntity if the id parameter is empty
Declaration
public SaleEntity SaveSaleEntity(SaleEntity saleEntity)
Parameters
Type | Name | Description |
---|---|---|
SaleEntity | saleEntity | The SaleEntity that is saved. |
Returns
Type | Description |
---|---|
SaleEntity | New or updated SaleEntity |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
SaveSaleStakeholder(SaleStakeholder)
Updates the existing SaleStakeholder or creates a new SaleStakeholder if the id parameter is empty
Declaration
public SaleStakeholder SaveSaleStakeholder(SaleStakeholder saleStakeholder)
Parameters
Type | Name | Description |
---|---|---|
SaleStakeholder | saleStakeholder | The SaleStakeholder that is saved. |
Returns
Type | Description |
---|---|
SaleStakeholder | New or updated SaleStakeholder |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
SetAsLost(Int32[])
Change the status of one or more sales to Lost. Note that this does not affect the Completed state of the sale.
Declaration
public void SetAsLost(int[] saleIds)
Parameters
Type | Name | Description |
---|---|---|
Int32[] | saleIds | Array of sale ids to be marked as lost. All normal write access rules apply. |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
SetAsSold(Int32[])
Change the status of one or more Sales to Sold. Note that this does not mark them as Completed.
Declaration
public void SetAsSold(int[] saleIds)
Parameters
Type | Name | Description |
---|---|---|
Int32[] | saleIds | Array of sale ids to be marked as lost. All the normal write access rules apply. |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
UpdateSaleStakeholders(SaleStakeholder[])
Facade for the Sale Agent Sale data services
Declaration
public SaleStakeholder[] UpdateSaleStakeholders(SaleStakeholder[] stakeholders)
Parameters
Type | Name | Description |
---|---|---|
SaleStakeholder[] | stakeholders |
Returns
Type | Description |
---|---|
SaleStakeholder[] |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}
ValidateSaleEntity(SaleEntity)
Check that entity is ready for saving, return error messages by field.
Declaration
public StringDictionary ValidateSaleEntity(SaleEntity saleEntity)
Parameters
Type | Name | Description |
---|---|---|
SaleEntity | saleEntity | Entity to be checked for errors. |
Returns
Type | Description |
---|---|
StringDictionary | Error messages tagged by field. |
Examples
using SuperOffice;
using SuperOffice.CRM.Services;
using (SoSession mySession = SoSession.Authenticate("user", "pass"))
{
using (SaleAgent agent = new SaleAgent())
{
// call methods on agent here...
}
}