/// <summary> /// Preenche um ComboBox com os dados de uma query. /// </summary> /// <param name="comboBox"></param> /// <param name="recordset">O Recordset a ser utilizado para obter os dados.</param> /// <param name="query">A query a ser utilizada para obter os dados.</param> /// <param name="fieldValue">O nome do Field que contém o valor para ComboBox.</param> /// <param name="fieldDescription">O nome do Field que contém a descrição para o ComboBox.</param> /// <param name="noLock">Indica se a query deve ser executada na forma de apenas leiura, isto é, se houver alguma escrita no momento não vai esperar a conclusão desta para continuar.</param> public static Recordset AddValuesFromQuery(this ComboBox comboBox, Recordset recordset, string query, string fieldValue = null, string fieldDescription = null, bool noLock = true) { if (recordset == null) throw new ArgumentNullException("recordset"); if (query == null) throw new ArgumentNullException("query"); recordset.DoQuery(noLock ? " SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED " + query : query); return AddValuesFromRecordset(comboBox, recordset, fieldValue, fieldDescription); }
private void btnLoad_Click(object sender, EventArgs e) { _con = new SapConnectionOld(); _con.Connect(); _oItens = _con.Comany.GetBusinessObject(BoObjectTypes.oItems); _recordSet = _con.Comany.GetBusinessObject(BoObjectTypes.BoRecordset); _recordSet.DoQuery("select ItemCode from OITM"); _oItens.Browser.Recordset = _recordSet; _oItens.Browser.MoveFirst(); SetFields(); }
/// <summary> /// Get Floor Service Lines for Mass Invoicing /// </summary> /// <param name="cardCode"></param> /// <param name="type"></param> /// <returns></returns> public List <FloorServiceLineDTO> GetFloorServiceLines(string cardCode, string whsCode, string type) { Recordset lObjRecordset = null; var results = new List <FloorServiceLineDTO>(); var lDicParameters = new Dictionary <string, string>(); try { string lStrQuery = this.GetSQL("GetFloorServiceLines" + type); lDicParameters.Add("CardCode", cardCode); lDicParameters.Add("Location", whsCode); lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); lObjRecordset.DoQuery(lStrQuery.Inject(lDicParameters)); if (lObjRecordset.RecordCount > 0) { for (int i = 0; i < lObjRecordset.RecordCount; i++) { var floorServiceLine = new FloorServiceLineDTO(); Parallel.ForEach(lObjRecordset.Fields.OfType <SAPbobsCOM.Field>(), field => { floorServiceLine.GetType().GetProperty(field.Name).SetValue(floorServiceLine, field.Value); }); results.Add(floorServiceLine); lObjRecordset.MoveNext(); } } } catch (Exception e) { HandleException(e, "MassInvoicingDAO(GetDistribution)"); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(results); }
public string GetBatchLine(string pStrCardCode, string pStrWhsCode) { Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("CardCode", pStrCardCode); lLstStrParameters.Add("WhsCode", pStrWhsCode); string x = this.GetSQL("GetBatchWGoodIssues").Inject(lLstStrParameters); Recordset lObjRecordSet = null; try { lObjRecordSet = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); string lStrQuery = this.GetSQL("GetBatchWGoodIssues").Inject(lLstStrParameters); lObjRecordSet.DoQuery(lStrQuery); if (lObjRecordSet.RecordCount > 0) { return((string)lObjRecordSet.Fields.Item(1).Value); } else { return(""); } } catch (Exception lObjException) { throw new DAOException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public List <SupplierDocumentEntity> SupplierWithBalance() { List <SupplierDocumentEntity> rows = new List <SupplierDocumentEntity>(); string Sql = ""; Sql += "SELECT "; Sql += "DocNum AS DocumentNumber,"; Sql += "CardCode AS SupplierCode,"; Sql += "CardName AS SupplierName,"; Sql += "DocDate AS DocumentDate,"; Sql += "DocTotal AS DocumentAmount,"; Sql += "DocCur AS DocumentCurrency "; Sql += "FROM OPCH "; Sql += "WHERE DATEDIFF(DAY, DocDate, GETDATE()) > 0 AND "; Sql += "DocStatus = 'O' ORDER BY CardName, DocDate ASC "; _RecordSet = Company.GetBusinessObject(BoObjectTypes.BoRecordset); _RecordSet.DoQuery(Sql); while (!_RecordSet.EoF) { SupplierDocumentEntity row = new SupplierDocumentEntity(); var documentNumber = _RecordSet.Fields.Item(0).Value; var documentAmount = _RecordSet.Fields.Item(4).Value; row.DocumentNumber = ((int)documentNumber).ToString(); row.SupplierCode = (string)_RecordSet.Fields.Item(1).Value; row.SupplierName = (string)_RecordSet.Fields.Item(2).Value; row.DocumentDate = (DateTime)_RecordSet.Fields.Item(3).Value; row.DocumentAmount = documentAmount; row.DocumentCurrency = (string)_RecordSet.Fields.Item(5).Value; row.DueDays = (DateTime.Now - row.DocumentDate).Days; rows.Add(row); _RecordSet.MoveNext(); } Company.Disconnect(); return(rows); }
/* * realiza a consulta para as funcoes Min ou Max do banco */ private string MIN_MAX(string tableName, string func, string fieldName = "Code", string where = "") { string min_max = "0"; try { Recordset rs = (Recordset)oConnection.Company.GetBusinessObject(BoObjectTypes.BoRecordset); rs.DoQuery( "SELECT ISNULL(" + func + "(CONVERT(INT, " + fieldName + ")), 0)[" + fieldName + "] FROM " + tableName + (where.Equals("") ? "" : " WHERE " + where)); min_max = Convert.ToString(rs.Fields.Item(fieldName).Value); } catch (Exception e) { min_max = null; //oConnection.App.SetStatusBarMessage(e.Message, SAPbouiCOM.BoMessageTime.bmt_Medium, true); logMessage = "Erro ao buscar " + func + " de " + tableName + ": " + e.Message; logger.log(logMessage, Logger.LogType.ERROR, e); SB1ControlException.SB1ControlException.Save(e); } return(min_max); }
/// <summary> /// Check user group allowed for calculate or not /// </summary> private string AllowedCalculate(Matrix oMtx, string cardCode, string tipeSO, string DocNum) { string message = string.Empty; Recordset oRec = oSBOCompany.GetBusinessObject(BoObjectTypes.BoRecordset); for (int i = 1; i < oMtx.RowCount; i++) { string itemCode = oMtx.Columns.Item("1").Cells.Item(i).Specific.Value; string shipTo = oMtx.Columns.Item("275").Cells.Item(i).Specific.Value; string query = "CALL SOL_SP_ADDON_VALIDATE_CALCULATE('" + cardCode + "', '" + tipeSO + "', '" + DocNum + "', '" + itemCode + "', '" + shipTo + "')"; oRec.DoQuery(query); if (oRec.RecordCount > 0) { message = oRec.Fields.Item("Message").Value; break; } } Utils.releaseObject(oRec); return(message); }
public static void GetDefaultItemLocale(string itemCode, ref string whsCode, ref int locId) { string sql = @"SELECT OITM.DfltWH WhsCode, OITW.DftBinAbs LocId FROM OITM INNER JOIN OITW ON OITW.ItemCode = OITM.ItemCode AND OITW.WhsCode = OITM.DfltWH WHERE OITM.ItemCode = '{0}'"; sql = String.Format(sql, itemCode); Recordset rst = (Recordset)SBOApp.Company.GetBusinessObject(BoObjectTypes.BoRecordset); rst.DoQuery(sql); if (rst.RecordCount > 0) { whsCode = rst.Fields.Item("WhsCode").Value.ToString(); locId = (int)rst.Fields.Item("LocId").Value; } Marshal.ReleaseComObject(rst); rst = null; }
public bool VerificaExistenciaCampo(Company oCompany, string sTabela, string sCampo) { Recordset oRecordset = null; oRecordset = (Recordset)(oCompany.GetBusinessObject(BoObjectTypes.BoRecordset)); string sSQL = " SELECT " + " COUNT(*) " + " FROM CUFD " + " WHERE TableID = '" + sTabela + "' " + " AND AliasID = '" + sCampo + "'"; oRecordset.DoQuery(sSQL); if (Convert.ToInt64(oRecordset.Fields.Item(0).Value.ToString()) > 0) { return(true); } else { return(false); } }
/* * Verifica se um campo de usuario existe, retornando true, * caso o campo ja exista na tabela ou em caso de erro, ou false caso contrario. * */ private bool UserFieldsExist(string tableName, string tableField) { bool ret = false; Recordset oRecordSet = ((Recordset)(oConnection.Company.GetBusinessObject(BoObjectTypes.BoRecordset))); string query = "SELECT 1 [result]" + " FROM SYS.OBJECTS so INNER JOIN SYS.COLUMNS sc " + " ON so.object_id = sc.object_id " + " WHERE so.schema_id = 1 " + " AND so.name like '%" + tableName + "%' and sc.name = 'U_" + tableField + "'"; try { oRecordSet.DoQuery(query); int retF = (int)oRecordSet.Fields.Item("result").Value; ret = (retF == 1? true: false); System.Runtime.InteropServices.Marshal.ReleaseComObject(oRecordSet); oRecordSet = null; System.GC.Collect(); }catch (Exception e) { logMessage = e.Message; //retorna true pois nao deve tentar adicionar em caso de erro ret = true; logger.log(logMessage, Logger.LogType.ERROR, e); SB1ControlException.SB1ControlException.Save(e); System.Runtime.InteropServices.Marshal.ReleaseComObject(oRecordSet); oRecordSet = null; System.GC.Collect(); } return(ret); }
public RequestTransfer[] GetTransferRequests(string docNum) { Recordset recordset = null; RequestTransfer[] requestTransfers = null; Dictionary <string, string> paramaters = new Dictionary <string, string>(); try { paramaters.Add("DocNum", docNum); paramaters.Add("Whs", GetUserDefaultWarehouse()); string query = this.GetSQL("GetTransferRequest").Inject(paramaters); recordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); recordset.DoQuery(query); if (recordset.RecordCount > 0) { requestTransfers = new RequestTransfer[recordset.RecordCount]; for (int i = 0; i < recordset.RecordCount; i++) { var transferRequest = new RequestTransfer(); Parallel.ForEach(recordset.Fields.OfType <Field>(), field => { transferRequest.GetType().GetProperty(field.Name).SetValue(transferRequest, field.Value); }); requestTransfers[i] = transferRequest; recordset.MoveNext(); } } } catch (Exception ex) { HandleException(ex, "GetTransferItems"); } finally { MemoryUtility.ReleaseComObject(recordset); } return(requestTransfers); }
public TravelExpensesDTO GetPayment(int pIntDocEntry) { TravelExpensesDTO lObjTravelExpensesDTO = null; Recordset lObjRecordset = null; try { lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); string lStrQuery = this.GetSQL("GetPaymentByDocEntry").InjectSingleValue("DocEntry", pIntDocEntry); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { lObjTravelExpensesDTO = new TravelExpensesDTO { DocDate = DateTime.Parse(lObjRecordset.Fields.Item("DocDate").Value.ToString()), DocEntry = int.Parse(lObjRecordset.Fields.Item("DocEntry").Value.ToString()), DocNum = int.Parse(lObjRecordset.Fields.Item("DocNum").Value.ToString()), Folio = lObjRecordset.Fields.Item("U_GLO_CodeMov").Value.ToString(), Total = double.Parse(lObjRecordset.Fields.Item("Total").Value.ToString()), Status = int.Parse(lObjRecordset.Fields.Item("Status").Value.ToString()), }; } } catch (Exception lObjException) { LogService.WriteError(string.Format("[GetCurrentFolio - GetPayment: {0}]", lObjException.Message)); throw new DAOException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lObjTravelExpensesDTO); }
/// <summary> /// Valida que exista un CAE activo para un tipo de documento determinado /// </summary> /// <param name="comp"></param> /// <param name="tipoCAE"></param> /// <returns></returns> public bool TipoCAEValido(CAE.ESTipoCFECFC tipoCAE) { bool resultado = false; Recordset recSet = null; string consulta = ""; try { //Obtener objeto estadar de record set recSet = ProcConexion.Comp.GetBusinessObject(BoObjectTypes.BoRecordset); //Establecer consulta consulta = "SELECT T1.DocEntry FROM [@TFECAE] AS T1 INNER JOIN [@TFERANGO] AS T2 ON T1.DocEntry = T2.U_IdCAE WHERE T1.U_TipoDoc = '" + tipoCAE + "' AND T1.U_ValDesde <= GETDATE() AND T1.U_ValHasta >= GETDATE() AND T2.U_Activo = 'Y'"; //Ejecutar consulta recSet.DoQuery(consulta); //Validar que se hayan obtenido resultado if (recSet.RecordCount > 0) { resultado = true; } } catch (Exception) { } finally { if (recSet != null) { //Liberar memoria utlizada por servicioGeneral System.Runtime.InteropServices.Marshal.ReleaseComObject(recSet); System.GC.Collect(); } } return(resultado); }
public string SetPermissionForAllUsers(string permissionId) { string msg = String.Empty; Recordset rst = (Recordset)SBOApp.Company.GetBusinessObject(BoObjectTypes.BoRecordset); try { // Busca apenas usuários que ainda não possuem a permissão e que não foram deletados (diferente de 99) string sql = @" SELECT UserId FROM OUSR WHERE UserId NOT IN (SELECT UserLink FROM USR3 WHERE PermId = '{0}') AND Groups <> 99"; sql = String.Format(sql, permissionId); rst.DoQuery(sql); List <int> usersList = new List <int>(); while (!rst.EoF) { usersList.Add((int)rst.Fields.Item("UserId").Value); rst.MoveNext(); } return(this.SetPermissionToUserList(permissionId, usersList)); } catch (Exception e) { msg = "Erro geral ao criar permissão: " + e.Message; } finally { Marshal.ReleaseComObject(rst); rst = null; } return(msg); }
/// <summary> /// Devuelve el consecutivo anterior /// </summary> /// <returns></returns> public string obtenerConsecutivoAnterior() { string resultado = "", consulta = ""; Recordset registro = null; try { registro = ProcConexion.Comp.GetBusinessObject(BoObjectTypes.BoRecordset); //Consulta devuelve el ultimo consecutivo anterior consulta = "SELECT U_ConIdCom FROM [@TFECOIDCOM] WHERE DocEntry = (SELECT MAX(DocEntry) FROM [@TFECOIDCOM])"; //Se realiza la consulta registro.DoQuery(consulta); if (registro.RecordCount > 0) { //Obtiene el consecutivo anterior de la consulta resultado = registro.Fields.Item("U_ConIdCom").Value + ""; Almacenar(resultado); } } catch (Exception) { resultado = ""; } finally { if (registro != null) { //Se libera de memoria el objeto registro System.Runtime.InteropServices.Marshal.ReleaseComObject(registro); GC.Collect(); } } return(resultado); }
/// <summary> /// Preenche lista de model generico /// </summary> /// <param name="sql">Comando SELECT</param> /// <param name="forceNoLock">Força comando NOLOCK</param> /// <returns>Lista de model generico preenchido</returns> public List <GenericModel> FillGenericModelList(string sql, bool forceNoLock) { List <GenericModel> genericModelList = new List <GenericModel>(); GenericModel genericModel; // SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED tem o mesmo efeito do WITH (NOLOCK) if (forceNoLock) { sql = " SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED " + sql; } // Lê os dados em um Recordset Recordset rs = (Recordset)SBOApp.Company.GetBusinessObject(BoObjectTypes.BoRecordset); sql = SBOApp.TranslateToHana(sql); rs.DoQuery(sql); // Lê os dados e insere no model if (rs.RecordCount > 0) { while (!rs.EoF) { genericModel = new GenericModel(); genericModel.Fields = new Dictionary <string, object>(); for (int i = 0; i < rs.Fields.Count; i++) { genericModel.Fields.Add(rs.Fields.Item(i).Name, rs.Fields.Item(i).Value); } genericModelList.Add(genericModel); rs.MoveNext(); } } Marshal.ReleaseComObject(rs); rs = null; GC.Collect(); return(genericModelList); }
/// <summary> /// Metodo para realizar una consulta por medio de un recordSet /// </summary> /// <param name="comp"></param> /// <param name="consulta"></param> /// <param name="parametros"></param> /// <param name="salida"></param> /// <param name="salidaMultiple"></param> /// <returns></returns> public Object realizarConsulta(string consulta) { Recordset registro = null; Object resultado = null; try { registro = ProcConexion.Comp.GetBusinessObject(BoObjectTypes.BoRecordset); registro.DoQuery(consulta); registro.MoveFirst(); resultado = new Object(); if (registro.RecordCount > 0) { foreach (var campo in registro.Fields) { resultado = campo; } } } catch (Exception) { } finally { if (registro != null) { //Libera de memoria el objeto registro System.Runtime.InteropServices.Marshal.ReleaseComObject(registro); GC.Collect(); } } return(resultado); }
public PendingTransfer[] GetPendingTransfers() { Recordset recordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset);; PendingTransfer[] pendingTransfers = null; try { recordset.DoQuery(this.GetSQL("GetPendingTransfers").Inject(new Dictionary <string, string>() { { "Whs", GetUserDefaultWarehouse() } })); if (recordset.RecordCount > 0) { pendingTransfers = new PendingTransfer[recordset.RecordCount]; for (int i = 0; i < recordset.RecordCount; i++) { var pendingTransfer = new PendingTransfer(); Parallel.ForEach(recordset.Fields.OfType <Field>(), field => { pendingTransfer.GetType().GetProperty(field.Name).SetValue(pendingTransfer, field.Value); }); pendingTransfers[i] = pendingTransfer; recordset.MoveNext(); } } } catch (Exception ex) { HandleException(ex, "GetPendingTransfers"); } finally { MemoryUtility.ReleaseComObject(recordset); } return(pendingTransfers); }
/// <summary> /// Realiza la consulta para validar si un rango determinado ha sido utilizado /// </summary> /// <param name="comp"></param> /// <param name="idCAE"></param> /// <returns></returns> public bool RangoUtilizado(string idCAE) { Recordset recSet = null; bool resultado = false; string consulta = ""; try { recSet = ProcConexion.Comp.GetBusinessObject(BoObjectTypes.BoRecordset); //Establecer consulta consulta = "SELECT DocEntry FROM [@TFERANGO] WHERE U_IdCAE = '" + idCAE + "' AND U_NumAct > U_NumIni"; //Ejecutar consulta recSet.DoQuery(consulta); //Validar que se hayan obtenido registros if (recSet.RecordCount > 0) { resultado = true; } } catch (Exception) { } finally { if (recSet != null) { //Se libera el objeto recSet de la memoria System.Runtime.InteropServices.Marshal.ReleaseComObject(recSet); GC.Collect(); } } return(resultado); }
public static string GetItemFromBPCatalog(string cardCode, string itemCode) { Recordset rs = (Recordset)SBOApp.Company.GetBusinessObject(BoObjectTypes.BoRecordset); string sql = @"SELECT ItemName FROM OITM INNER JOIN OSCN ON OSCN.ItemCode = OITM.ItemCode WHERE OSCN.CardCode = '{0}' AND OSCN.ItemCode = '{1}'"; rs.DoQuery(String.Format(sql, cardCode, itemCode)); string itemName = String.Empty; if (rs.RecordCount > 0) { itemName = rs.Fields.Item(0).Value.ToString(); } Marshal.ReleaseComObject(rs); rs = null; return(itemName); }
/// <summary> /// Retorna el DocEntry de un consecutivo determinado /// </summary> /// <param name="comp"></param> /// <param name="idRec"></param> /// <returns></returns> public string ObtenerDocEntryConsecutivo(string idReceptor) { string resultado = "", consulta = ""; Recordset registro = null; try { registro = ProcConexion.Comp.GetBusinessObject(BoObjectTypes.BoRecordset); //Consulta devuelve el ultimo consecutivo anterior consulta = "SELECT DocEntry FROM [@TFECONS] WHERE U_IdRec = " + idReceptor; //Se realiza la consulta registro.DoQuery(consulta); if (registro.RecordCount > 0) { //Obtiene el consecutivo anterior de la consulta resultado = registro.Fields.Item("DocEntry").Value + ""; } } catch (Exception) { resultado = ""; } finally { if (registro != null) { //Se libera de memoria el objeto registro System.Runtime.InteropServices.Marshal.ReleaseComObject(registro); GC.Collect(); } } return(resultado); }
/// <summary> /// Consulta si existe un C.I registrado en la base de datos /// </summary> /// <returns></returns> private string ConsultarCI() { Recordset recSet = null; string consulta = "", resultado = ""; try { //Obtener objeto de recordset recSet = ProcConexion.Comp.GetBusinessObject(BoObjectTypes.BoRecordset); //Establecer consulta consulta = "SELECT DocEntry FROM [@TFEADOBE]"; //Ejecuta consulta recSet.DoQuery(consulta); //Validar que existan valores if (recSet.RecordCount > 0) { resultado = recSet.Fields.Item("DocEntry").Value.ToString(); } } catch (Exception) { } finally { if (recSet != null) { //Se libera recSet de memoria System.Runtime.InteropServices.Marshal.ReleaseComObject(recSet); System.GC.Collect(); } } return(resultado); }
public TransferItem[] GetTransferItems(string DocEntry) { Recordset recordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset);; TransferItem[] transferItems = null; try { string query = this.GetSQL("GetTransferItems").Inject(new Dictionary <string, string>() { { "DocEntry", DocEntry } }); recordset.DoQuery(query); if (recordset.RecordCount > 0) { transferItems = new TransferItem[recordset.RecordCount]; for (int i = 0; i < recordset.RecordCount; i++) { var transferItem = new TransferItem(); Parallel.ForEach(recordset.Fields.OfType <Field>(), field => { transferItem.GetType().GetProperty(field.Name).SetValue(transferItem, field.Value); }); transferItems[i] = transferItem; recordset.MoveNext(); } } } catch (Exception ex) { HandleException(ex, "GetTransferItems"); } finally { MemoryUtility.ReleaseComObject(recordset); } return(transferItems); }
public double GetItemStock(string itemCode, string whsCode) { Recordset recordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); double result = 0; try { recordset.DoQuery(this.GetSQL("GetItemStock").Inject(new Dictionary <string, string>() { { "ItemCode", itemCode }, { "WhsCode", whsCode } })); if (recordset.RecordCount > 0) { result = (double)recordset.Fields.Item(0).Value; } } catch (Exception e) { HandleException(e, "GetItemStock"); } finally { MemoryUtility.ReleaseComObject(recordset); } return(result); }
public int GetIsBagRequired(string itemCode) { Recordset recordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); int result = 0; try { recordset.DoQuery(this.GetSQL("GetIsBagRequired").Inject(new Dictionary <string, string>() { { "ItemCode", itemCode } })); if (recordset.RecordCount > 0) { result = recordset.Fields.Item(0).Value.ToString() == "Y" ? 1 : 0; } } catch (Exception e) { HandleException(e, "GetIsBagRequired"); } finally { MemoryUtility.ReleaseComObject(recordset); } return(result); }
public Tables.SICertificates GetCertificate2(long pCert) { Recordset lObjRecordSet = null; Tables.SICertificates lObjCertificate = new Tables.SICertificates(); try { lObjRecordSet = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); string lStrQuery = this.GetSQL("GetSICertificate").InjectSingleValue("NCert", pCert); lObjRecordSet.DoQuery(lStrQuery); if (lObjRecordSet.RecordCount > 0) { lObjCertificate.RowCode = lObjRecordSet.Fields.Item(0).Value.ToString(); lObjCertificate.RowName = lObjRecordSet.Fields.Item(1).Value.ToString(); lObjCertificate.Quantity = Convert.ToInt64(lObjRecordSet.Fields.Item(2).Value); lObjCertificate.ItemCode = lObjRecordSet.Fields.Item(3).Value.ToString(); } else { lObjCertificate = null; } } catch (Exception lObjException) { throw new DAOException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } return(lObjCertificate); }
public void CorrectionJournalEntries(CorrectionJournalEntriesParams entriesParams) { CleanIncompleteTransactions(); SkipTransactionsWithoutAmount(); Recordset recSet = (Recordset)_company.GetBusinessObject(BoObjectTypes.BoRecordset); string query = entriesParams.MustSkip ? $@"SELECT * FROM JDT1 LEFT JOIN OJDT ON JDT1.TransId = OJDT.TransId WHERE CONVERT(DATE, OJDT.RefDate) >= '{entriesParams.StartDate:s}' AND CONVERT(DATE, OJDT.RefDate) <= '{entriesParams.EndDate:s}' AND U_CorrectContraAcc is null AND OJDT.TransId Not In (select TransId from JDT1 where Line_ID > {entriesParams.MaxLine}) and U_ContraIsApproved = '02' ORDER BY OJDT.RefDate, OJDT.TransId, Line_ID" : $@"SELECT * FROM JDT1 LEFT JOIN OJDT ON JDT1.TransId = OJDT.TransId WHERE CONVERT(DATE, OJDT.RefDate) >= '{entriesParams.StartDate:s}' AND CONVERT(DATE, OJDT.RefDate) <= '{entriesParams.EndDate:s}' AND OJDT.TransId NOT IN (select TransId from JDT1 where Line_ID > {entriesParams.MaxLine}) and U_ContraIsApproved = '02' ORDER BY OJDT.RefDate, OJDT.TransId, Line_ID"; recSet.DoQuery(query); List <JournalEntryLineModel> jdtLines = JournalEntryLineModelsFromRecordset(recSet); MainLogicFirst(jdtLines, entriesParams.WaitingTimeInMinutes); }
/// <summary> /// Get Lines for Delivery Document that will be added to Invoice Document /// </summary> /// <returns></returns> public List <DeliveryLine> GetDeliveryLines(string cardCode, string whsCode) { Recordset lObjRecordset = null; var parameters = new Dictionary <string, string>(); var lLstdeliveryLines = new List <DeliveryLine>(); try { string query = this.GetSQL("GetDeliveryLines"); parameters.Add("CardCode", cardCode); parameters.Add("WhsCode", whsCode); lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); lObjRecordset.DoQuery(query.Inject(parameters)); if (lObjRecordset.RecordCount > 0) { for (int i = 0; i < lObjRecordset.RecordCount; i++) { var deliveryLine = new DeliveryLine(); Parallel.ForEach(lObjRecordset.Fields.OfType <SAPbobsCOM.Field>(), field => { deliveryLine.GetType().GetProperty(field.Name).SetValue(deliveryLine, field.Value); }); lLstdeliveryLines.Add(deliveryLine); lObjRecordset.MoveNext(); } } } catch (Exception ex) { HandleException(ex, "GetDeliveryLines"); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lLstdeliveryLines); }
public IList <DeliveryFoodDTO> GetUpdatedDeliveriesFoodList(string pStrWhsCode) { Recordset lObjRecordset = null; IList <DeliveryFoodDTO> lLstObjDeliveriesFood = new List <DeliveryFoodDTO>(); try { lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("WhsCode", pStrWhsCode); string pstr = this.GetSQL("GetUpdatedDeliveriesFoodList").Inject(lLstStrParameters); lObjRecordset.DoQuery(this.GetSQL("GetUpdatedDeliveriesFoodList").Inject(lLstStrParameters)); if (lObjRecordset.RecordCount > 0) { for (int i = 0; i < lObjRecordset.RecordCount; i++) { lLstObjDeliveriesFood.Add(GetDelivery(lObjRecordset)); lObjRecordset.MoveNext(); } } } catch (Exception lObjException) { LogService.WriteError(lObjException.Message); throw new DAOException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lLstObjDeliveriesFood); }
public double GetProdItemBags(int docEntry) { Recordset lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset);; Dictionary <string, string> lLstParams = new Dictionary <string, string>(); dynamic result = 0; try { lObjRecordset.DoQuery(this.GetSQL("GetProdItemBags").Inject(new Dictionary <string, string>() { { "DocEntry", docEntry.ToString() } })); if (lObjRecordset.RecordCount > 0) { result = lObjRecordset.Fields.Item(0).Value; } } catch (Exception e) { HandleException(e, "GetPlannedQty"); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(result); }
public IList <CustomerDTO> SearchBusinessPartner(string pStrFilter) { Recordset lObjRecordset = null; IList <CustomerDTO> lLstObjResult = new List <CustomerDTO>(); try { lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("Filter", pStrFilter); string lStrQuery = this.GetSQL("SearchCustomer").Inject(lLstStrParameters); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { for (int i = 0; i < lObjRecordset.RecordCount; i++) { lLstObjResult.Add(GetCustomer(lObjRecordset)); lObjRecordset.MoveNext(); } } } catch (Exception lObjException) { LogService.WriteError(lObjException.Message); throw new DAOException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lLstObjResult); }
internal IList <ConceptsToInvoiceDTO> GetChargesToInvoce(string pStrXmLString) { Recordset lObjRecordSet = null; IList <ConceptsToInvoiceDTO> lLstObjResult = new List <ConceptsToInvoiceDTO>(); try { lObjRecordSet = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); string lStrQuery = this.GetSQL("GetCharges").InjectSingleValue("xmlString", pStrXmLString); lObjRecordSet.DoQuery(lStrQuery); if (lObjRecordSet.RecordCount > 0) { for (int i = 0; i < lObjRecordSet.RecordCount; i++) { if (Convert.ToInt32(lObjRecordSet.Fields.Item("DocEntry").Value) >= 0) { if (lObjRecordSet.Fields.Item("Price").Value.ToString() != "") { lLstObjResult.Add(new ConceptsToInvoiceDTO() { IdInspection = Convert.ToString(lObjRecordSet.Fields.Item("Inspeccion").Value), DocEntry = Convert.ToInt32(lObjRecordSet.Fields.Item("DocEntry").Value), ItemCode = lObjRecordSet.Fields.Item("ItemCode").Value.ToString(), ObjType = (lObjRecordSet.Fields.Item("ObjType").Value.ToString()), LineNum = Convert.ToInt32(lObjRecordSet.Fields.Item("LineNum").Value), Quantity = double.Parse(lObjRecordSet.Fields.Item("Quantity").Value.ToString()), Price = double.Parse(lObjRecordSet.Fields.Item("Price").Value.ToString()), TaxCode = lObjRecordSet.Fields.Item("TaxCode").Value.ToString(), WhsCode = lObjRecordSet.Fields.Item("WhsCode").Value.ToString(), UomCode = lObjRecordSet.Fields.Item("UomCode").Value.ToString(), InvoiceType = lObjRecordSet.Fields.Item("TipoFC").Value.ToString() }); lObjRecordSet.MoveNext(); } else { SAPbouiCOM.Framework.Application.SBO_Application.StatusBar.SetText("El total viene núlo para " + lObjRecordSet.Fields.Item("ItemCode").Value.ToString() , SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); lObjRecordSet.MoveNext(); } } else { string w = lObjRecordSet.Fields.Item("ObjType").Value.ToString(); int xfs = Convert.ToInt32(lObjRecordSet.Fields.Item("DocEntry").Value); lLstObjResult.Add(new ConceptsToInvoiceDTO() { DocEntry = Convert.ToInt32(lObjRecordSet.Fields.Item("DocEntry").Value), ObjType = (string)lObjRecordSet.Fields.Item("ObjType").Value, }); lObjRecordSet.MoveNext(); } } } } catch (Exception lObjException) { string er = DIApplication.Company.GetLastErrorDescription(); throw new DAOException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } return(lLstObjResult); }