Creating a deal with a script

This is an example of a script for creating a deal in the CRM section

Script without PublicAPI.

The script includes the following context variables:
context.Contractor - variable of the Contractor type
context.DealType - variable of the Deal Type type

For the script to work, add the following assembly:

Elewise.ELMA.CRM

Namespaces:

 
using EleWise.ELMA.CRM;
using EleWise.ELMA.CRM.Managers;
using EleWise.ELMA.CRM.Models;
using EleWise.ELMA.Extensions;
using EleWise.ELMA.Model.Entities;
using EleWise.ELMA.Model.Managers;
using EleWise.ELMA.Model.Mappings;
using EleWise.ELMA.Model.Services;
using EleWise.ELMA.Security.Services;
using EleWise.ELMA.Services;
using EleWise.ELMA.Configuration;
Script:
var sale=SaleManager.Instance.Create();
sale.Name="Deal name";
sale.SaleType= context.DealType;
sale.Contractor=context.Contractor;
sale.Author=AuthenticationService.GetCurrentUser<EleWise.ELMA.Security.Models.IUser>(); //author - current executor
sale.Responsible=AuthenticationService.GetCurrentUser<EleWise.ELMA.Security.Models.IUser>(); //responsible - current executor
sale.Save();
 
Creating a similar script with PublicAPI
Documentation on PublicAPI is available here

Context variable:

context.Contractor - variable of the Contractor type

Namespace:

using EleWise.ELMA.API;
 

Script:

 
var sale = PublicAPI.CRM.Sale.Create();
sale.Name = "Deal name";
sale.SaleType = PublicAPI.CRM.Sale.LoadSaleTypeOrNull("Deal #1"); //Identify the deal type by its name
sale.Contractor=context.Contractor;
sale.Author = PublicAPI.Portal.Security.User.GetCurrentUser(); //author - current executor
sale.Responsible = PublicAPI.Portal.Security.User.GetCurrentUser(); //responsible - current executor
sale.Save();