protected override void ExecuteWorkflowLogic() { var detailRecord = new Entity(ProductEntityName) { [ParentEntityLookupFieldName] = ParentEntity, ["quantity"] = Quantity.Get(Context.ExecutionContext), ["description"] = Description.Get(Context.ExecutionContext), ["manualdiscountamount"] = ManualDiscountAmount.Get(Context.ExecutionContext), ["tax"] = Tax.Get(Context.ExecutionContext) }; var writeInProduct = ProductName.Get(Context.ExecutionContext); if (!string.IsNullOrEmpty(writeInProduct)) { detailRecord["productdescription"] = writeInProduct; detailRecord["isproductoverridden"] = true; detailRecord["ispriceoverridden"] = true; detailRecord["priceperunit"] = PricePerUnit.Get(Context.ExecutionContext); } else { detailRecord["productid"] = ProductId.Get(Context.ExecutionContext); detailRecord["isproductoverridden"] = false; detailRecord["uomid"] = UomId.Get(Context.ExecutionContext); var ispriceoverridden = IsPriceOverridden.Get(Context.ExecutionContext); detailRecord["ispriceoverridden"] = ispriceoverridden; if (ispriceoverridden) { detailRecord["priceperunit"] = PricePerUnit.Get(Context.ExecutionContext); } } ProcessAdditionalFields(ref detailRecord); Context.UserService.Create(detailRecord); }