Priority ERP for BizDoc
$ dotnet add package BizDoc.Infrastructure.PriorityIn program.cs
builder.Services.AddBizDoc().
AddPriority(options =>
{
}, configure => {
});
app.UseBizDoc().UsePriority();
Choose configuration:
builder.Services.AddBizDoc().
AddPriority(options =>
{
}, configure => configure.UseOracle("priority-connection-string"));
builder.Services.AddBizDoc().
AddPriority(options =>
{
}, configure => configure.UseOData(options =>
{
options.ServiceUri = "priority-service-uri";
}));
Set either PersonalAccessToken or Username-Password.
Set AppId and AppKey.
builder.Services.AddBizDoc().
AddPriority(options =>
{
}, configure => configure.UseSqlServer("priority-connection-string"));
Set options collation SQL_Latin1_General_CP1_CS_AS.
| Name | Usage |
|---|---|
| WithModel() | DbContext |
| UseExchangeRate() | Use Priority exchange rates |
AddBizDoc().
AddPriority(
options => ...,
configure => configure.UseExchangeRate());
Components may need to map BizDoc users to employee record in Priority to present comparison between them. Such components can be dashboard widget, showing statistical data.
If the employee id is a claim of ClaimsPrincipal, set the EmployeeIdClaimType in options.
Alternatively, developer can resolve employee id in code.
options.EmployeeId => ctx =>
ctx.PriorityStorage.
Employees.FirstOrDefault(e => e.Code == ctx.UserId).Id;
And the way backward, resolve BizDoc user id from Priority employee id.
options.UserId => ctx =>
ctx.PriorityStorage.
Employees.FirstOrDefault(e => e.Id == ctx.EmployeeId).UserId;
Types added to bizdoc.priority.json.
| Name | Usage |
|---|---|
| CostCenters | |
| CostCenterTrees | |
| Manufacturers | |
| SalaryGroups | |
| SalaryUserGroups | |
| Agents | |
| Sites | |
| Warehouses | |
| Teams | |
| PartStates | Part state |
| PalletTypes | Part pallet |
| PartTypes | |
| Zones | |
| Units | |
| Families | |
| Departments | |
| Projects | |
| Budgets | |
| Companies | |
| Accounts | |
| Divisions | |
| Shippers | |
| Suppliers | |
| SupplierTypes | |
| Branches | |
| FobOrderTypes | |
| FobOrderStatuses | |
| Parts | |
| PartStatuses | |
| OrderTypes | |
| OrderStatuses | |
| Customers | |
| CustomerStatuses | |
| Facilities | |
| DealStatuses | |
| OrganizationUnits | |
| PurchaseOrderStatuses | |
| Positions | |
| Countries | |
| States | |
| Skills | Employee skills |
| SkillTypes | |
| Courses | |
| CourseGroups | |
| ObjectType | List of sources |
Create analysis model from Architecture tool, cubes. Choose the Priority objects that you wish to see, and select axes.
Press the Synchronize button, or schedule recurring synchroniation.
PurchaseRequestMappingPolicy, PurchaseOrderMappingPolicy, FoodOrderMappingPolicy, InvoiceMappingPolicy, PurchaseDealMappingPolicy,
PurchaseProposalMappingPolicy,
CustomerProposalMappingPolicy,
FobProposalMappingPolicy,
FobDocumentMappingPolicy,
TransactionOrderMappingPolicy,
SalaryTransactionMappingPolicy,
PartMappingPolicy,
GeneralLedgerMappingPolicy, SalesOrderMappingPolicy, WwwPurchaseOrderMappingPolicy, DealMappingPolicy and WwwOrderMappingPolicy
Use Architecture tool to tune policies behavior.
Developer can replace the default policies with custom ones, or inherit from Priority.Configuration.SqlCubeBase to customize many aspects.
undefined
By PO, 'po' and number.
By part, #.
Position job.
Skill.
My Team Peers.
Projects Performance.
Teams Performance.
Skills Performance.
Access database by injecting the IPriorityStorage service.
using BizDoc.Priority.Storage;
public class MyService {
private readonly SqlStorage _storage;
public MyService (IPriorityStorage storage) => _storage = storage as SqlStorage;
private void List() {
foreach (var order in _storage.Orders) {
...
}
}
}
Inject WebApi.
using BizDoc.Priority.Storage;
public class MyClass {
public MyClass(WebApi webApi) {
webApi.Container.ORDERS.Select(o => ...);
}
}
npm @bizdoc/priority package.