Metodi STD

Questi Metodi possono essere richiamati direttamente dal Modello oppure richiamati dall' applicativo: solitamente si dota l' applicativo di una libreria di metodi locali il cui obiettivo è risolvere problemi propri dell' applicazione a cui appartengono.

 

Tipologia dei parametri di passaggio e di ritorno

Il parametro di passaggio:

1- Identifica l' elemento su cui operare;

2- Identifica l' elemento stringa contenente il nome dell' elemento su cui operare o info richieste dal metodo;

Il parametro di ritorno:

1- Identifica l' elemento valorizzato dal metodo: la sua tipologia è una di quelle previste dall' ambiente BBT;

 

Lista metodi standard

 

Class=GraphicBOM; Namespace=BBProcedures; Assembly=BBProcedures

Metodi per la gestione Grafica della BOM.

void BBP_GraphicBOM(string diagramName, string structNameOfBOM, string fatherOfBOM): disegna la BOM definita dal parametro lista "structNameOfBOM".

string diagramName: contiene il nome dell' area grafica appartenente alla pagina (o frame) utilizzata per la visualizzazione grafica della BOM;

string structNameOfBOM: elemento lista che descrive la struttura della BOM. Deve prevedere le colonne che seguono (stesso nome e stesso tio):

  • Level: livello di BOM, di tipo numerico;
  • FatherCode: codice del Padre, di tipo stringa;
  • ChildCode: codiceFiglio, di tipo stringa;
  • Quantity: quantità, di tipo numerico;
  • InfoCode: note / informazioni;

string fatherOfBOM: codice del padre della BOM;

 

void BBP_ViewInfoNodeOfBOM(): consente di visualizzare le info allegate al nodo.

Per visualizzare le info è necessario che sul modello sia definito almeno un elemento di tipo Message;

 

void BBP_PrepareStructOfBOM(string containerStructNameOfBOM, string level, string containerFatherObj, string containerChildObj,
string qty, string notesRelation): utilizzato dalle Decision Rules che consentono di definire la BOM di base. In sostanza permette di preparare l' attributo lista che definisce la struttura della BOM: con BOM di base si intende fare riferimento alla struttura della BOM cioè alla relazione tra i suoi diversi componenti. Altra cosa è la BOM valorizzata (vedasi più avanti);

string containerStructNameOfBOM: identifica la stringa che contiene il nome dell' attributo lista che definisce la struttura della BOM;

string level: identifica la variabile numerica che definisce il livello;

string containerFatherObj: definisce l' oggetto (o elemento) padre della relazione;

string containerChildObj: definisce l' oggetto (o elemento) figlio della relazione;
string qty: quantità;

string notesRelation: note da associare alla relazione;

 

void BBP_DevelopsStructOfBOM(string structBaseName, string structDevelopedName, string columnPriceName, string columnQtyName): sviluppa la BOM di base sostituendo agli oggetti che la compongono i corrispondenti valori;

string structBaseName: identificativo della Grid che definisce la struttura Base della BOM;

string structDevelopedName: identificativo della Grid che definisce la struttura sviluppata della BOM;

string columnPriceName: variabile contenente il nome della colonna che definisce il PREZZO dell' oggetto;

string columnQtyName: variabile contenente il nome della colonna che definisce la quantità dell' oggetto;

 

Definizione dell' attributo che definisce la BOM

Le immagini che seguono mostrano come deve essere la struttura dell' attributo per rappresentare la BOM riportata;

 

 

 

 

Area grafica

Di seguito come deve essere compilata l' area grafica della pagina utilizzata per visualizzare la BOM: il diagramName deve essere uguale al valore di placeholder;

 

Regole

Riportiamo anche le regole che possono essere costruite per la visualizzazione grafica della BOM:

  • CreateGraphicFrame: è la regola che consente di creare il frame per la visualizzazione grafica;
  • CreateGraphicBOM: è la regola che disegna la BOM. Questa regola deve essere attivata dall' evento ExecWhenInit del frame;

 

 

 

 

Class=EmailMng; Namespace=BBProcedures; Assembly=BBProcedures

Metodi per la gestione delle E-mail. Per utilizzare questi metodi è necessario definire nell' Web.Config (sez. appSettings) le seguenti chiavi:

  • add key="SmtpAddress": indirizzo SMTP;
  • add key="PortNumber": numero della porta;
  • add key="EmailFrom": chi spedisce;
  • add key="UserEmail": utente che spedisce;
  • add key="PasswordEmail": password associata all' utente che spedisce;
  • add key="EnableSsl": se è o meno abilitato il protocollo SSL;
  • add key="UseCredentials": se si devono usere o meno le credenziali;

 

void BBP_SendMailMessageFromServer(string subject, string message, string emailTo): invia messagi di posta dal Server. Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' invio è andato a buon fine, a false in caso contrario. Se sul Box è definito l' lemento di tipo string "BBP_EmailFileToAttach" e questo elemento contiene il nome di una file esistente sul Server, questo file viene allegato alla Mail che viene inviata;

string subject: identificativo della stringa contenente il soggetto della mail;

string message: identificativo della stringa contenente il messaggio da inviare;

string emailTo: identificativo della stringa contenente la lista dei destinatari della mail. Ogni destinatario è separato da ';';

 

 

Class=DevelopmentMethods; Namespace=BBProcedures; Assembly=BBProcedures

 

void BBP_DebugRule(string debugMess): Permette di effettuare un semplice debug delle regole;

string debugMess: identificativo della stringa contenente messaggio che viene riportato riportato in output in modalità Toast;

 

void BBP_DebugElementOfRule(string debugMessage, string containerNameOfElement): creato per debuggare le Decision Rules, consente di visualizzare il contenuto di un elemento del Box. Visualizza in modalità Toast "debugMessage + Environment.NewLine + element.value": se si vuole fare riferimento ad una colonna dell' elemento si usa elementName.ColumnName. Se la colonna non è definita si assume colonna=Key;

string debugMessage: identificativo della stringa contenete un messaggio costante che viene sempre riportato. L' obiettivo di questo messaggio è fornire indicazioni sul passo della regola che si sta debuggando;

string containerNameOfElement: identificativo della stringa che contiene il nome dell' elemento di cui si vuole visualizzare il valore;

 

void BBP_ExecRule(string containerRuleName): esegue la Decision Rule passata come parametro;

string containerRuleName: identificativo della stringa che contiene il nome della regola che viene eseguita dal metodo;

 

void BBP_OpenWebPage(string url, string name, string options): Apertura di una pagina WEB via comando window.open(url, pageName, options);

string url: identificativo della stringa che contiene l' indirizzo URL della pagina Web;

string name: identificativo della stringa che contiene il nome della pagina Web;

string options: identificativo della stringa che contiene le opzioni da applicare alla pagina Web;

 

void BBP_MakePrompt(string question, string varAnswer, string title, string labelConfirm, string methodExecOnExit, string startPromptText): Gestione del prompt x richiesta info all' utente;

string question: identificativo della stringa che contiene la domanda;

string varAnswer: identificativo della stringache contiene l' id della stringa su cui appoggiare la risposta;

string title: identificativo della stringache contiene il titolo da associare al frame prompt;

string labelConfirm:  identificativo della stringa che contiene la label da associare al CB di conferma;

string methodExecOnExit: identificativo della stringache contiene il nome del Metodo da lanciare a risposta ottenuta a seguito del CONFIRM;

string startPromptText: identificativo della stringache contiene il valore iniziale del Prompt;

 

void BBP_ExecuteScript(string scriptVar): esegue lo Script contenuto in "scriptVar";

string scriptVar: identificativo della stringa contenente lo script che viene eseguito. Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' esecuzione è andata a buon fine, a false in caso contrario. Lo script è composto da un insieme di statement, ognuno dei quali terminato da ";", del tipo:

  • element=element;
  • element=value (se elemento string o list, il valore può essere inserito tra i doppi apici);
  • ExecMethod(MethodName);
  • ExecRule(RuleName);

 

string BBP_ExportSelection(string elementsList): Esporta gli elementi definiti nella lista passata come parametro;
string elementsList: identificativo della stringa che contiene la lista degli elementi da esportare, separati dal carattere ';'. Se elementsList = '*', vengono esportati tutti gli elementi del Box;
[output]: è una stringa contenente l' esportazione dei dati;

 

void BBP_ImportSelection(string selectionData): importa gli elementi esportati nella stringa passata come parametro;
string selectionData: identificativo della stringa contenente gli elementi esportati;

 

void BBP_deactivate_VR(string rulesName):  disattiva le VR passate;
string rulesName: identificativo della stringa contenente l' elenco delle VR da disattivare (rule-1;rule-2;...). Se = * si disattivano tutte;

 

void BBP_activate_VR(string rulesName): attiva le VR passate;
string rulesName: identificativo della stringa contennete l' elenco delle VR da attivare (rule-1;rule-2;...). Se = * si attivano tutte;

 

void BBP_deactivate_DR(string rulesName): disattiva le DR passate;
string rulesName: identificativo della stringa contenente l' elenco delle DR da disattivare (rule-1;rule-2;...). Se = * si disattivano tutte;

 

void BBP_activate_DR(string rulesName): attiva le DR passate;
string rulesName: identificativo della stringa contenente l' elenco delle DR da attivare (rule-1;rule-2;...). Se = * si attivano tutte;

 

void BBP_DownLoadFile(string containerFilePath, string containerFileName): effettua la Down Load del file indicato;

string containerFilePath: identifica la stringa che contiene il path di appartenenza del file;

string containerFileName: contiene il nome del File;

 

Class=FieldsMethods; Namespace=BBProcedures; Assembly=BBProcedures

 

void BBP_ClearGridDataEntry(string gridObject): effettua la Clear della Grid indicata come parametro e di tutti gli oggetti del Box che hanno nome uguale alle colonne della Grid. Ad uso Data Entry: deve essere definito l' oggetto StatusOfCall che viene settato a true se l' operazione è andata a buon fine, a false in caso contrario;

string gridObject: identificativo dell' oggetto Grid su cui operare;

 

void BBP_ToDay(string dateName): inizializza il parametro dateName alla data del giorno. Parametri:

string dateName: può essere l' identificativo di una stringa che contiene il nome dell' elemento data che deve essere inizializzato o l' identificativo dello stesso elemento data che deve essere inizializzato;

 

Date BBP_RtnToDayDate(): ritorna la data del giorno;

output DateTime: l' elemento di output deve essere di tipo Date;

 

Number BBP_RtnDMYofDate(string containerDateElement, string fieldOpe): ritorna il giorno o il mese o l' anno della data passata come parametro;

string containerDateElement: identificativo della stringa che contiene il nome della data da cui estrarre le info;

string fieldOpe: identificativo della stringa che definisce l' operazione. D==>giorno, M==>mese, Y==>anno;

output: l' elemento di output deve essere di tipo Number;

 

Date BBP_RtnDateToAddDMY(string containerDateElement, string fieldAddType, string fieldAddValue): ritorna una data ottenuta da quella di riferimento incrementata (in più o in meno) di x giorni o mesi o anni;

string containerDateElement: identificativo della stringa contiene il nome della data di riferimento che viene incrementata;

string fieldAddType: identificativo della stringa che definisce l' operazione. D==>giorno, M==>mese, Y==>anno;

string fieldAddValue: identificativo del numerico che contiene l' incremento;

output: l' elemento di output deve essere di tipo DateTime;

 

Date BBP_RtnDateSetToFirstOfMonth(string containerDate): Ritorna una data ottenuta dalla data passata come parametro, settata al primo giorno del mese;

string containerDate: identificativo della stringa che contiene il nome dell' elemento data;

output: l' elemento di output deve essere di tipo DateTime;

 

Date BBP_RtnDateSetToLastOfMonth(string containerDate): Ritorna una data ottenuta dalla data passata come parametro, settata all' ultimo giorno del mese;

string containerDate: identificativo della stringa che contieneil nome dell' elemento data;

output: l' elemento di output deve essere di tipo DateTime;

 

string BBP_RtnDateIn_yyyymmdd(string refDate): Ritorna una stringa con la Data passata come parametro convertita nel formato aaaammgg;

string refDate: può essere l' identificativo dell' Elemento Date da convertire o l' identificativo diella stringa contenente il nome dell' elemento Date da convertire;

output: stringa contenente la data in formato aaaammgg;

 

Void BBP_ObjectIsDefined(string containerOfObjectName): verifica se l' oggetto passato è definito sul Box e valorizzato. Se String o Message con valorizzato si intende diverso da "", se List si intende Selected. Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' oggetto è definito o a false in caso contrario;

string containerOfObjectName: può essere sia il nome dell' oggetto o che l' identificativo della stringa contenente il nome dell' oggetto che si vuole analizzare;

 

Number BBP_RtnTotalOfColumn(string gridInput, string containerColumnName): Totalizza i valori di una colonna di una griglia e ne ritorna il valore;

string gridInput: Identificativo della Griglia o della stringa che contiene il nome della Griglia di cui si totalizza la colonna:

string containerColumnName: identificativo della stringa che contiene il nome della colonna da totalizzare;

output: l' elemento di output deve essere di tipo Number;

 

Number BBP_IncrementValue(string numericElementID, string incrementID): Incrementa il valore del numero passato come parametro;
string numericElementID: identificativo dell' elemento numerico da incrementare;
string incrementID: identificativo dell' elemento numerico che definisce l' incremento;
[output]: ritorna un valore numerico pari a numericElementID + incrementID

 

string BBP_ConcatenatesStrings(string initial, string concatenateWith): Concatenazione di stringhe: il carattere '§', dove presente, viene convertito in 'blank' (carattere spazio). La stringa '/r', dove presente, viene convertita in ritorno a capo;
string initial: identificativo della stringa di partenza;
string concatenateWith: identificativo della stringa che viene concatenata alla 'initial' (a destra);
[output]: stringa risultante dalla concatenazione;

 

void BBP_SetColumnValue(string gridName, string keyValue, string columnName, string columnValue): setta il valore di una colonna di un elemento Lista di cui è definita la key della riga corrispondente. Ovviamente l' elemento deve essere editabile. Setta l' oggetto StatusOfCall a true se tutto OK, a false se ci sono errori:
gridName: nome dell' elemento Lista;

string keyValue: identificativo della stringa che contiene il valore della key;
string columnName: identificativo della stringa che contiene il nome della colonna da settare;
string columnValue: identificativo della stringa che contiene il valore da assegnare alla colonna;

 

void BBP_VerifyIfRequiredIsAllDefined(string gridName): verifica che i campi definiti sul Box come required che hanno lo stesso nome delle colonne della grid passata, siano definiti. Se definiti si setta StatusOfCall = true, altrimenti StatusOfCall = false. Se almeno un campo required non è definito, il metodo visualizza un messaggio di avvertimento (toast message);

string gridName: identificativo della grid a cui si fa riferimento;

 

void BBP_SelectRowByCheckBox(string gridName): consente di selezionare la riga di una grid quando si modifica il contenuto di un suo check box (in realtà uno qualunque dei suoi campi editabili).

string gridName: identificativo della grid a cui si fa riferimento;

 

void BBP_ResetMultiSelect(string gridName, string selectColName): resetta una grid che è di fatto un oggetto multi select. Richiede come parametri il nome della grid ed il nome della
colonna che consente di definire la riga come selezionata: questa colonna deve essere di tipo BOOL.

string gridName: identificativo della grid su cui si vuole operare;

string selectColName: identificativo della stringa che contiene il nome della colonna BOOL;

 

void BBP_SetColumnValueForMoreKeys(string gridName, string keyValue, string columnName, string columnValue): setta il valore di una colonna di un elemento Lista x più occorrenze: ovviamente l' elemento deve essere editabile;
string gridName: identificativo dell' elemento Lista;
string keyValue: identificativo della stringa che contiene il valore/valori della chiave della riga da valorizzare. Se definiti più valori, questi devono essere separati tra loro dal carattere ';';
string columnName: identificativo della stringa che contiene il nome della colonna da settare;
string columnValue: identificativo della stringa che contiene il valore da assegnare alla colonna;

 

public void BBP_ForceEditabiltyOfColumn(string gridName, string containerColumnName): forza l' editabilità di una colonna di un oggetto lista definito NON-EDITABILE;
string gridName: identificativo dell' oggetto lista;
string containerColumnName: identificativo della stringa che contiene il nome della colonna;

 

double BBP_RtnWorkDaysOfTheGivenInterval(string firstDate, string lastDate, string holidaysList): ritorna il numero delle giornate lavorative comprese nell' intervallo dato. I sabati e le domeniche vengono escluse. Vengono escluse anche le giornate incluse nell' elemento Lista "hodaysList" se definito;

string firstDate: Identifica la Prima data dell' intervallo;

string lastDate: Identifica la Seconda data dell' intervallo;

string holidaysList: Identifica l' Elemento Lista che definisce i giorni di festa nel formato "MMdd" (ad es. 0101, 1225 e così via: questi valori sono ovviamente le chiavi dell' elemento Lista);

 

public void BBP_SetFocusOnSelectedRowOfGrid(string containerGridName): consente di evidenziare (cioè rendere visibile) la prima riga selezionata di una Grid;

string containerGridName: identificativo della stringa che contiene il nome della Grid;

 

void BBP_SetClassOfChangeCellOfGrid(string containerGridName, string containerClassCSS): applica la classe CCS indicata alla cella della Grid che è stata modificata;

string containerGridName: identifica la stringa che contiene il nome della Grid su cui operare;

string containerClassCSS: contiene il nome della Classe-CSS da applicare alla colonna;

 

Class=BaseProcedures; Namespace=BBProcedures; Assembly=BBProcedures
Number ExecOperation(string element1, string element2 , string operation = "+"): esegue l' operazione definita in operation tra element1 e element2. Le operazioni possibili sono la somma (+), la sottrazione (-), la moltiplicazione (*) e la divisione (/);

 

void ClearElementsInList(string listElementsName): effettua la clear degli oggetti riportati sull' elemento lista listElementsName. L' elemento lista deve riportare nella colonna Key il nome dell' elemento che si vuole azzerare;

string listElementsName: identificativo dell' elemento list che elenca gli oggetti su cui effettuare la clear();

 

void ViewMessage(string messageName,string messageContainer): visualizza il messaggio riportato in message. La tipologia del messaggio (generic, warning o voice) è definita tramite l' elemento messageName. Parametri di passaggio:

string messageName: identificativo del messaggio definito sul Box;

string messageContainer: identificativo della stringa che contiene il messaggio;

 

Number TotalPrice(string columnPriceName): ritorna il totale del prezzo ottenuto sommando il contenuto della colonna columnPriceName (solitamente = 'Price') di tutti gli elementi selezionati che la includono;

 

string AddRowToGrid(string gridElement): aggiunge una riga ad una grid il cui nome è definito dal parametro gridElement. I nomi delle colonne della Grid devono coincidere con i nomi degli elementi (List, String, Number, Date, Boolean) il cui contenuto dovrà essere riportato sulle colonne della Grid. Se abbiamo una grid che ha come colonne (Key, Modello, Prezzo), sul modello dovrà essere presente un elemento di nome Modello ed un elemento di nome Prezzo: il campo Key (chiave della grid), viene gestito in automatico dal metodo. Il metodo ritorna la Key della riga inserita.

string gridElement: identificativo della grid su cui si vuole operare;

 

string ReadSelectedRowFromGrid(string gridElement): riporta le info contenute nella riga selezionata della Grid sui corrispondenti elementi della BBT. Ovviamente deve esserci corrispondenza tra i nomi delle colonne della Grid ed il nome degli elementi della BBT. Il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

string gridElement: identificativo della grid su cui si vuole operare;

 

void BBP_ReadSelectedRowFromGrid(string gridElement): riporta le info contenute nella riga selezionata della Grid sui corrispondenti elementi del modello se definiti. Ovviamente deve esserci corrispondenza tra i nomi delle colonne della Grid ed il nome degli elementi del modello. Deve essere definito l' elemento booleano StatusOfCall: il bool StatusOfCall viene settato a true se l' operazione è andata a buon fine, a false in caso contrario;

string gridElement: identificativo della grid oggetto della selezione;

 

void BBP_ReadRowNumberFromGrid(string gridElement, string index): seleziona la riga della grid corrispondente all' indice passato. La prima riga ha indice 0. Riporta le info contenute nella riga selezionata della Grid sui corrispondenti elementi del modello se definiti. Ovviamente deve esserci corrispondenza tra i nomi delle colonne della Grid ed il nome degli elementi del modello. Deve essere definito l' elemento booleano StatusOfCall: il bool StatusOfCall viene settato a true se l' operazione è andata a buon fine, a false in caso contrario (ad es. indice oltre il limite);
string gridElement: identificativo della grid oggetto della selezione;
string index: identificativo del numerico che riporta l' indice;

 

 

string RemoveSelectedRowFromGrid(string gridElement): elimina la riga selezionata dalla Grid indicata. Il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

 

string UpdateSelectedRowGrid(string gridElement): aggiorna la riga di una grid il cui nome è definito dal parametro gridElement. I nomi delle colonne della Grid devono coincidere con i nomi degli elementi (List, String, Number) il cui contenuto dovrà essere riportato sulle colonne della Grid. Il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

string gridElement: identificativo della grid su cui si vuole operare;

 

void HideOrViewElement(string elementName, string HideOrView): consente di rendere visibile o nascondere un elemento sulla pagina WEB. Richiede il nome o ID dell' elemento su cui si vuole operare e la stringa in chiaro HIDE o VIEW in funzione del tipo di operazione che si vuole effettuare;

 

void ClearElement(string elementName): azzera l' elemento indicato. Parametri di passaggio:

string elementName: identificativo dell' elemento che si vuole azzerare;

 

void BBP_ResetElement(string elementName): azzera l' elemento indicato. Parametri di passaggio:

string elementName: oggetto che si vuole azzerare. Se questo oggetto è di tipo List ed è editabile, si eliminano anche tutte le sue occorrenze;

 

void ExecuteHierarchy(string hierarchyName): esegue una gerarchia. La gerarchia non è altro che una lista di decision rules e/o methods. Al metodo si passa il nome dell' elemento lista che contiene la lista di regole/metodi;

 

void BBP_ClearElementsOfPage(string containerExtraProperty): effettua la CLEAR di tutti gli elementi che contengono una Extra Property di nome uguale al contenuto del parametro containerExtraProperty. E' sufficiente che l' Extra Property sia presente, non importa il suo valore. Parametri di passaggio:

string containerExtraProperty: identificativo della stringa il cui contenuto è il nome dell' EP;

 

void BBP_AllRequestedFieldsDefined(string containerExtraProperty): controlla che tutti gli elementi che contengono una Extra Property di nome uguale al contenuto del parametro containerExtraProperty e hanno la proprietà Required true siano definiti. Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se tutti i campi sono definiti, a false se almeno un campo non è definito: i campi di tipo number, se required, si ritengono definiti se hanno un valore diverso da 0.Parametri di passaggio:

string containerExtraProperty: identificativo della stringa il cui contenuto è il nome dell' EP;

 

void BBP_CreateFrame(string containerPageName, string containerTitle, string containerIcon, string containerCloseMethod, string containerWidth): creazione di un Frame. Parametri di passaggio:

string containerPageName: identificativo della stringa che contiene il nome con cui il frame è identificato all' interno del Box. Il frame può essere una semplice pagina o un contenitore di Tabs / Expanders o una pagina di tipo SideBar;

string containerTitle: identificativo della stringa che contiene il titolo del frame. Se non definito viene posto uguale al nome;

strin containerIcon: identificativo della stringa che contiene l' icona da riportare sul Frame. Se non definita si riporta l' icona "fas fa-grimace";

string containerCloseMethod: identificativo della stringa che contiene l' identificativo del Metodo che verrà attivato alla chiusura del frame;

string containerWidth: identificativo della stringa che contiene la dimensione del Frame espressa come % della pagina principale. Se non definito viene posto uguale al 70%;

 

void BBP_CloseFrame(string containerFrameName): chiude un Frame. Parametri di passaggio:

string containerFrameName: identificativo della stringa contenente il nome del Frame da chiudere;

 

void BBP_RemoveSelectedRowFromGrid(string gridElement): elimina la riga selezionata con il tasto destro del mouse o selezionata nella modalità standard, dalla Grid indicata. Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' eliminazione è andata a buon fine, a false in caso contrario. Parametri di passaggio:

string gridElement: identificativo dell' oggetto Grid;

 

void BBP_ViewOrHidePage(string containeNamePage, string idViewOrHideBool): Rende visibile o nasconde la pagina.

string containerNamePage: identificativo della stringa che contiene il nome della pagina su cui operare;
string idViewOrHideBool: identificativo del booleano che definisce l' operazione da farsi. Vale true se si vuole rendere visibile la pagina, false in caso contrario;

 

void BBP_IterateGrid(string gridElement): consente di iterare una Grid. Prima di attivare il metodo deve essere effettuata la Clear della Grid.  Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se ci sono ancora righe da iterare, a false  se tutte le righe sono state iterate.

string gridElement: nome della Grid da iterare;

 

void BBP_MakeInfoToast(string message): visualizza un toast message di tipo Info.

string message: identificativo della stringa che contiene il messaggio da visualizzare;

 

void BBP_CalculateFormula(string formula): elabora una stringa (es. "elementoNumerico = elementoA + 2 / 100" ) che contiene la formula e l' elemento alla quale associarla; deve essere definito l' oggetto Booleano StatusOfCall che assume valore true se la sintassi della formula è corretta e la stessa viene eseguita con successo, false in caso contrario;

string formula: identificativo della stringa contenente la formula;

 

void BBP_ElaborateString(string stringElementName, string templateStringName): consente di costruire un testo a partire da un template iniziale, contenente all' interno riferimenti ad elementi della BBT racchiusi tra {}. Ad es. se il testo inziale è "Il cliente {Cliente} mi deve Euro {TotaleOrdine}" e l' elemento Cliente contiene "Bianchi" e l' elemento TotaleOrdine contiene "2.000", il testo ritornato sarà "Il cliente Bianchi mi deve Euro 2.000";

string stringElementName: identificativo della stringa che conterrà il risultato finale dell' elaborazione;

string templateStringName: identificativo della stringa contenente il template inziale da elaborare;

 

void BBP_SortGrid(string gridName, string containerColumnName): ordina la grid per la colonna indicata;

string gridName: identificativo della Grid da ordinare;

string containerColumnName: identificativo della stringa che contiene il nome della colonna in base a cui ordinare;

 

void BBP_ExitFromApplication(): uscita dall' applicazione;

 

Class=SqlMethods; Namespace=BBProcedures; Assembly=BBProcedures

 

string BuildGridFromSQL(string gridName, string tableName, string keyColumn, string whereSql): aggiorna le info di una griglia (elemento List) acquisendo le informazioni da una tabella SQL. I nomi delle colonne dell' elemento BBT e della tabella SQL devono corrispondere: dove non c' è corrispondenza, le informazioni non vengono aggiornate.I parametri di passaggio:

gridName: nome dell' elemento Lista definito sul modello;
tableName: nome della tabella SQL che contiene le informazioni. :Se non definito si assume come nome quello della Grid;
keyColumn: nome della colonna che viene considerata come colonna chiave (Key). Se non definita, la Key viene creata in automatico (Guid);
whereSqlName: o è il nome della stringa che contiene la where in chiaro o è la stessa condizione where in chiaro da applicare alla lettura dei dati della tabella SQL;
[output]: il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

 
void BBP_FillGridFromSqlTable(string gridName, string containerSqlWhere): versione semplificata del precedente metodo, aggiorna le info di una grid(elemento List) acquisendo le informazioni da una tabella SQL. I nomi delle colonne dell' elemento BBT e della tabella SQL devono corrispondere: dove non c' è corrispondenza, le informazioni non vengono aggiornate. Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' operazione è andata a buon fine, a false se si sono verificati degli errori.I parametri di passaggio:

gridName: identificativo dell' elemento Lista definito sul modello e, quindi, della tabella SQL;
containerSqlWhere: identificativo della stringa che contiene la where in chiaro;

 

string BuildGridFromSelectSQL(string gridName, string tableName, string keyColumn, string selectName, string whereSql): aggiorna le info di una griglia (elemento List) acquisendo le informazioni da una tabella SQL. I nomi delle colonne dell' elemento BBT e della tabella SQL devono corrispondere: dove non c' è corrispondenza, le informazioni non vengono aggiornate.I parametri di passaggio:

gridName: nome dell' elemento Lista definito sul modello;
tableName: nome della tabella SQL che contiene le informazioni. :Se non definito si assume come nome quello della Grid;
keyColumn: nome della colonna che viene considerata come colonna chiave (Key). Se non definita, la Key viene creata in automatico (Guid);

selectName: o è il nome della stringa che contiene la where in chiaro o è la stessa condizione where in chiaro da applicare alla lettura dei dati della tabella SQL. Se empty, la si definisce = *;
whereSqlName: o è il nome della stringa che contiene la where in chiaro o è la stessa condizione where in chiaro da applicare alla lettura dei dati della tabella SQL;
[output]: il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

  

string BuildSQLFromGrid(string gridName, string tableName, string keyColumn): aggiorna una tabella SQL acquisendo le informazioni da una una griglia (elemento List). I nomi delle colonne dell' elemento BBT e della tabella SQL devono corrispondere: dove non c' è corrispondenza, le informazioni non vengono aggiornate.I parametri di passaggio:

gridName: nome dell' elemento Lista definito sul modello;
tableName: nome della tabella SQL che contiene le informazioni. :Se non definito si assume come nome quello della Grid;
keyColumn: nome della colonna che viene considerata come colonna chiave (Key). Se non definita, la Key viene creata in automatico (Guid);
[output]: il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

 

void BBP_FillSqlTableFromGrid(string gridName): aggiorna una tabella SQL (se l' occorrenza esiste viene sovrascritta, se non esiste viene creata) acquisendo le informazioni da una una griglia (elemento List). I nomi delle colonne dell' elemento BBT e della tabella SQL devono corrispondere: dove non c' è corrispondenza, le informazioni non vengono aggiornate. Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' operazione è andata a buon fine, a false se si sono verificati degli errori.

I parametri di passaggio:

gridName: identificativo dell' elemento Lista definito sul modello da cui prelevare le informazioni;

 

string DeleteEntriesSQL(string tableName, string whereSqlName): consente di eliminare entrate da una tabella Sql. Parametri di passaggio:

tableName: nome in chiaro della tabella Sql su cui operare;
whereSqlName: o è il nome della stringa che contiene la where in chiaro o è la stessa condizione where in chiaro da applicare alla lettura dei dati della tabella SQL;
[output]: il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

 

DataTable ExecuteGenericSqlCommand(string sqlCommand): questo metodo può essere utilizzato solo da metodi definiti all' interno di una User Method Library (Libreria di metodi creata dall' utente). Parametri di passaggio:

sqlCommand: comando SQL che deve essere eseguito. Il parametro può identificare la stringa contenete il comando o contenere il comando in chiaro;
[output]: struttura di tipo DataTable;

 

string ExecuteSqlCommandUsingList(string fieldsListName, string operation, string tableName, string whereSqlName): esegue un comando SQL sulla lista di campi passata. Parametri di passaggio:

fieldsListName: lista dei nomi dei campi da cui prelevare il valore, separati da ";". Può essere in chiaro o puntare ad una stringa che contiene la lista in chiaro: se in chiaro e composta da un solo nome di campo, questo non deve essere definito sul modello BBT;
operation: tipologia di operazione SQL. "R" = Lettura, "I" = Inserimento, "U" = Aggiornamento;
tableName: nome in chiaro della tabella SQL su cui si opera;
whereSqlName: o è il nome della stringa che contiene la where in chiaro o è la stessa condizione where in chiaro da applicare alla lettura dei dati della tabella SQL;
[output]: il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

 

string InsertIntoSqlFromSelectedRowGrid(string gridName, string tableName, string keyColumn): aggiorna una tabella SQL acquisendo le info dalla riga selezionata di una Grid. Parametri di passaggio:

gridName: nome dell' elemento Lista definito sul modello;
tableName: nome in chiaro della tabella SQL su cui si opera;
keyColumn: nome in chiaro della colonna della tabella che corisponde al campo "Key" della Grid;
[output]: il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

 

string UpdateSqlFromSelectedRowGrid(string gridName, string tableName, string whereSqlName): aggiorna una tabella SQL acquisendo le info da una riga selezionata di una Grid. Parametri di passaggio:

gridName: nome dell' elemento Lista definito sul modello;
tableName: nome in chiaro della tabella SQL su cui si opera;
whereSqlName: o è il nome della stringa che contiene la where in chiaro o è la stessa condizione where in chiaro da applicare alla lettura dei dati della tabella SQL. Se non definito si ritorna errore;
[output]: il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

 

string UpdateConfigurationOnSQL(string keyValueName): crea o aggiorna la Configurazione su una struttura SQL. Deve essere definita su SQL la tabella BBT_Configuration con i seguenti campi:

BBT_KeyConfiguration [Varchar(50)]: contiene la chiave che identifica univocamente le Configurazioni;
BBT_DetailConfiguration [Varchar(MAX)]: contiene il dettaglio della Configurazione;
Parametri di passaggio:

keyValueName: o contiene in chiaro il valore della chiave o punta alla stringa che lo contiene. Se valore vuoto, si crea la Configurazione altrimenti si va in aggiornamento: qualora in aggiornamento non si individui la Configurazione si procede a crearne una nuova.
[output]: ritorna il valore della chiave se l' operazione è andata a buon fine, altrimenti ritorna empty;

 

string ReadConfigurationFromSQL(string keyValueName): legge ed esplode una configurazione salvata su SQL. Parametri di passaggio:

keyValueName: o contiene in chiaro il valore della chiave o punta alla stringa che lo contiene;
[output]: ritorna il valore della configurazione se l' operazione è andata a buon fine, altrimenti ritorna empty;

 

string RtnSqlCommandToBuildSqlTableFromGrid(string gridName, string keyName): ritorna il comando SQL utile per creare una tabella SQL. Parametri di passaggio:

string gridName: nome della Grid da cui viene prelevato il tracciato;

string keyName: nome che si vuole dare alla chiave della tabella al posto di "Key";

[output]: stringa su cui si ritorna il comando SQL. Il comando può ovviamente essere modificato prima di essere eseguito;

 

string ExecuteSqlCommand(string sqlCommand): esegue il comando SQL contenuto nel parametro passato. Parametri di passaggio:

string sqlCommand: identificativo della stringa contenente il comando;

[output]: il metodo ritorna "OK" se l' operazione è andata a buon fine, "NOT-OK(messaggio di errore)" in caso contrario;

 

void BBP_RemoveSelectedRowGridInSql(string gridName): rimuove dalla Grid e su SQL (ovviamente se esiste) la riga selezionata in modalità standard o col tasto destro del mouse.  Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' operazione è andata a buon fine, a false se si sono verificati degli errori. Parametri di passaggio:

string gridName: identificativo della Grid su cui  opera il metodo;

 

void BBP_InsertRowInGridAndInSql(string gridName): inserisce una nuova riga sulla grid definita come parametro ed aggiorna la orrispondente tabella SQL. Vengono aggiornate le colonne della grid con il contenuto degli oggetti che hanno lo stesso nome: vengono aggiornati i campi della tabella SQL con il contenuto delle colonne della grid che hanno lo stesso nome. Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' operazione è andata a buon fine, a false se si sono verificati degli errori.Parametri di passaggio: 

string gridName: identificativo della Grid su cui opera il metodo;

 

void BBP_UpdateRowInGridAndInSql(string gridName): aggiorna la riga selezionata sulla grid definita come parametro ed aggiorna la orrispondente tabella SQL.  Vengono aggiornate le colonne della grid con il contenuto degli oggetti che hanno lo stesso nome: vengono aggiornati i campi della tabella SQL con il contenuto delle colonne della grid che hanno lo stesso nome.

Per utilizzare questo metodo deve essere definito un oggetto di tipo Boolean chiamato "StatusOfCall" che il metodo stesso inizializza a true se l' operazione è andata a buon fine, a false se si sono verificati degli errori.Parametri di passaggio:

string gridName: identificativo della Grid su cui opera il metodo;

 

Boolean BBP_KeyAlreadyDefined(string nomeTabella, string nomeCampo, string valoreCampo): Ricerca una occorrenza definita all' interno di una tabella SQL: se l' occorrenza esiste ritorna true altrimenti ritorna false;
string nomeTabella = identificativo della stringa che contiene il nome della tabella su cui effettuare la verifica;
string nomeCampo = identificativo della stringa che contiene  il nome campo di cui si testa il contenuto;
string valoreCampo = identificativo della stringa che contiene il valore che si ricerca;

[output]: l' output è un Booleano;

 

Boolean BBP_VerifyIfWhereFoundEntries(string sqlTabName, string sqlWhere): verifica se la Where passata consente di identificare entrate nella tabella indicata.
string sqlTabName: identifica il nome della grid associata alla tabella SQL;
string sqlWhere: identifica direttamente la stringa che contiene la definizione della Where
[output]: assume valore true se ci sono entrate, valore false se non ci sono entrate.

 

string BBP_ExecuteSqlCommand(string sqlCommand, string rtnValue): esegue il comando SQL contenuto in sqlCommand. Deve essere definito l' elemento booleano 'StausOfCall' che
viene settato a 'true' se il comando va a buon fine oppure a 'false';
string sqlCommand: identifica la stringa che contiene il comando SQL da eseguire;
string rtnValue: identificativo dell' elemento che conterrà il valore di ritorno del comando SQL nel solo caso in cui il comando ritorni un solo risultato, altrimenti non verrà preso in considerazione e verrà resettato (element.Clear()). Al momento NON è prevista la colonna di un elemento LIST. La tipologia dell' elemento può essere una delle qualunque tipologie ammesse;
[output]: è il messaggio di errore qualora il comando SQL vada in errore

 

Class=TextProcedures; Namespace=BBProcedures; Assembly=BBProcedures

 

string SubstituteUsingBlackBox(string stringElementName): consente di costruire un testo a partire da un testo iniziale (contenuto nella stringa il cui nome è ) contenete all' interno riferimenti ad elementi della BBT racchiusi tra {}. Ad es. se il testo inziale è "Il cliente {Cliente} mi deve Euro {TotaleOrdine}" e l' elemento Cliente contiene "Bianchi" e l' elemento TotaleOrdine contiene "2.000", il testo ritornato sarà "Il cliente Bianchi mi deve Euro 2.000".

string stringElementName: identifica la stringa contenente il testo da costruire:

[output] string: ritorna la stringa con il contenuto sostituito;

 

void BBP_ExportGridInXLSX(string containerGridName, string xlsxPath, string fieldsNoExport): Esporta il contenuto di una Grid su file XLSX residente sul SERVER;

string containerGridName: Identificativo della Grid o della variabile stringa che contiene l' identificativo della Grid;

string xlsxPath: File XLSX. Ad es. c:tempexport.xlsx;

string fieldsNoExport: identifica la stringa che contiene la lista dei campi non esportabili separati dal ";". Ad es. "Key;TotalOrder";

 

Class=BoxTemplates; Namespace=BBProcedures; Assembly=BBProcedures

 

void MM_DispayMessagesNotExpired(): visualizza utilizzando controlli Toast tutti i messaggi non scaduti. Deve essere definito sul Box l' oggetto StatusOfCall di tipo boolean che viene valorizzato a true se non si sono verificati errori, a false in caso contrario;

 

Class=PageMethods; Namespace=BBProcedures; Assembly=BBProcedures

 

void DisableElementOnPage(string pageNameElement,string elementName): Rende non editabile un elemento sulla pagina Web indicata;

string pageNameElement: identifica la stringa che contiene il nome della pagina WEB;

string elementName: identifica l' elemento che deve essere disabilitato;

  

void EnableElementOnPage(string pageNameElement,string elementName): Rende editabile un elemento sulla pagina Web indicata;

string pageNameElement: identifica la stringa che contiene il nome della pagina WEB;

string elementName: identifica l' elemento che deve essere abilitato;

 

void BBP_ClearFieldsOfPage(string containerPageName): agisce su tutti i campi della pagina indicata riassegnando il valore di defaul se definito o effettuando la Clear();

string containerPageName: identificativo della stringa che contiene il nome della Pagina;

 

string BBP_VerifyStatusOfPage(string containerPageName): verifica lo stato di una pagina;

string containerPageName: identificativo della stringa che contiene il nome della Pagina di cui si verifica lo stato;

[output] string: stato di ritorno. Vale G (green) se la pagina è completa, Y (yellow) se ha campi di tipo Required non definiti, R (red) se sono presenti valori non validi;

 

 

Class=ProposalMethods; Namespace=BBProcedures; Assembly=BBProcedures

 

double BBP_CalculateConfPrice(): calcola il prezzo di una configurazione. Gli elementi che concorrono alla configurazione devono essere di tipo List ed avere una colonna con lo stesso nome per tutti di tipo numerico che riporta il prezzo in valuta dell' elemento per la qta corrispondente. Gli elementi che concorrono alla configurazione devono essere individuabili o in quanto elementi di una Lista o perchè riportano una definita Extra Property.

Consultare il modello BoxTemplates, sezione ConfigurationPrice.

Il Box deve prevedere la definizione degli oggetti seguenti:

BBP_TypeOfFieldsConfList: elemento stringa che definisce la struttura di raccolta dei nomi degli oggetti che concorrono alla configurazione. Può assumere i valori:

  • GRID: gli oggetti della configurazione sono definiti da un elemento Lista;
  • EP: gli oggetti della configurazione sono definiti da un elemento Extra Property;

BBP_PriceColumnName: elemento stringa che contieneil nome della colonna degli elementi di configurazione che definisce il Prezzo in valuta;

BBP_GridOfFieldsConfName: se GRID, è l' elemento Lista che definisce gli oggetti della Configurazione;

BBP_ColumnNameOfFieldsName: elemento stringa che definisce il nome della colonna sulla quale è riportato il nome dell' elemento di configurazione sulla grid BBP_GridOfFieldsConfName;

BBP_ConfExtraPropertyName: elemento stringa che contiene il nome dell' Extra Property se EP;

[output] double: ritorna il prezzo della configurazione;

 

void BBP_SetElementIfOnlyOneValueValid(): consente di completare una configurazione selezionando tutti gli oggetti della stessa non ancora selezionati che hanno un solo valore valido. Gli oggetti della configurazione (o quelli che si ritiene servano) devono essere elencati da un elemento List definito sul Box come BBP_GridOfFieldsConfName: il nome della colonna che identifica i nomi degli oggetti di configurazione, deve essere riportato sull' elemento stringa BBP_ColumnNameOfFieldsName.

Consultare il modello BoxTemplates, sezione ConfigurationPrice.

 

double BBP_CompileConfLowerPrice(): consente di compilare parte della Configurazione riportando la combinazione di possibili valori che ha il prezzo minore. Sul Box devono essere definiti gli oggetti che seguono: 

  • BBP_ObjConfList: elemento di tipo stringa che elenca gli oggetti della configurazione su cui deve operare il metodo. Gli oggetti devono essere di tipo list;
  • BBP_PriceColumnName: identifica la colonna dell' oggetto list su cui è definito il prezzo corrispondente (il prezzo deve già tenere conto della Quantità);
  • BBP_MaxNrCombinations: massimo numero delle combinazioni elaborabili, oltre al quale si ha una segnalazione di errore;

[output] double: vale 0 se tutto OK, -100 se errore di sistema, -1 se il numero delle combinazioni è superiore al massimo consentito, -2 se parametri non corretti;

Consultare il modello BoxTemplates, sezione ConfigurationPrice.

 

void BBP_SetElementInPageIfOnlyOneValueValid(string containerPageName): verifica tutti gli elementi sulla Pagina indicata, utili alla Configurazione, che non sono stati selezionati e li seleziona nel caso in cui abbiano un solo valore valido;

string containerPageName: identificativo della stringa che contiene il nome della pagina;

 

 

 

 

Metodi Esposti

Questi metodi possono essere richiamati solamente dall' applicativo: di fatto il loro obiettivo è quello di semplificare e rendere maggiormente fruibile l' accesso ai metodi elementari dell' Engine.

 

Lista Metodi Esposti

 

void ViewMessageStd(BlackBox blackBox,string messageName, string message): visualizza un messaggio.

BlackBox blackBox: identifica l' Engine della BBT;

string messageName: contiene il nome dell' elemento che sul modello identifica la tipologia di messaggio (Warning, Error, Voice);

string message: contiene il messaggio in chiaro da visualizzare;

 

void BBP_CreateFrameExposed(BlackBox blackBox, string pageName, string title, string icon, string closeMethod, string width): creazione di un Frame. Parametri di passaggio:

BlackBox blackBox: identifica l' Engine della BBT;

string pageName: nome con cui il frame è identificato all' interno del Box. Il frame può essere una semplice pagina o un contenitore di Tabs / Expanders o una pagina di tipo SideBar;

string title: titolo del frame. Se non definito viene posto uguale al nome;

string icon: icona da riportare sul Frame. Se non definita si riporta l' icona "fas fa-grimace";

string closeMethod: identificativo del Metodo che verrà attivato alla chiusura del frame;

string width: dimensione del Frame espressa come % della pagina principale. Se non definito viene posto uguale al 70%;

 

string AddRowToGridExposed(BlackBox _blackBox, string gridElement): Inserisce una riga sulla griglia passata come parametro. Vengono riempite le colonne il cui nome fa riferimento ad un elemento definito sul Box. Parametri di passaggio:

string gridElement: oggetto grid su cui si opera;

[output]: ritorna la Key(formato string) della riga inserita;

 

string UpdateSelectedRowGridExposed(BlackBox _blackBox, string gridElement): modifica la riga selezionata della griglia passata come parametro. Vengono aggiornate le colonne con il contenuto degli oggetti del Box che hanno lo stesso nome. Parametri di passaggio:

string gridElement: oggetto grid su cui si opera;

[output]: di tipo string, contiene "OK" se l' operazione è andata a buon fine oppure "NOT-OK" e la tipologia di errore;

 

public void BBP_OpenWebPageExposed(BlackBox _blackBox, string url, string name, string options): Apertura di una pagina WEB;

string url: id della variabile che contiene l' indirizzo URL della pagina Web;

string name: id della variabile che contiene il nome della pagina Web;

string options: id della variabile che contiene le opzioni da applicare alla pagina Web;

 

public void BBP_MakePrompt(BlackBox _blackBox, string question, string varAnswer, string title, string labelConfirm, string methodExecOnExit, string startPromptText): Gestione del prompt x richiesta info all' utente;

string question: Id della variabile che contiene la domanda;

string varAnswer: Id della variabile che contiene la risposta;
string title: Id della variabile che contiene il titolo da associare al prompt;

string labelConfirm: Id della variabile che contiene la label da associare al CB di conferma;

string methodExecOnExit: Id della variabile che contiene il nome del Metodo da lanciare a risposta ottenuta;

string startPromptText: ??