public List <TravelExpensesDTO> GetPaymentsByRiseId(int pIntRiseId, string pStrObjType) { List <TravelExpensesDTO> lLstTravelExpensesDTO = new List <TravelExpensesDTO>(); Recordset lObjRecordset = null; try { lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("RiseId", pIntRiseId.ToString()); lLstStrParameters.Add("ObjType", pStrObjType); string lStrQuery = this.GetSQL("GetPaymentsByRiseId").Inject(lLstStrParameters); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { for (int i = 0; i < lObjRecordset.RecordCount; i++) { TravelExpensesDTO lObjTravelExpensesDTO = new TravelExpensesDTO { Code = lObjRecordset.Fields.Item("Code").Value.ToString(), 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()), IdRise = int.Parse(lObjRecordset.Fields.Item("RiseId").Value.ToString()), Status = int.Parse(lObjRecordset.Fields.Item("Status").Value.ToString()), }; lLstTravelExpensesDTO.Add(lObjTravelExpensesDTO); lObjRecordset.MoveNext(); } } } catch (Exception lObjException) { LogService.WriteError(string.Format("[GetCurrentFolio - GetPaymentsByRiseId: {0}]", lObjException.Message)); throw new DAOException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lLstTravelExpensesDTO); }
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); }
private void DoPayment() { try { if (ValidateEmptyControls()) { Application.SBO_Application.SetStatusBarMessage("Verificar campos vacíos", SAPbouiCOM.BoMessageTime.bmt_Short, true); return; } if (dtTravelExp.Rows.Count <= 0) { Application.SBO_Application.SetStatusBarMessage("No puede crear un pago sin líneas", SAPbouiCOM.BoMessageTime.bmt_Short, true); return; } if (string.IsNullOrEmpty(mStrExpDayAcct) || string.IsNullOrEmpty(mStrMinorPurchAcct) || string.IsNullOrEmpty(mStrViaticExpAcct) || string.IsNullOrEmpty(mStrViaticPaymAcct)) { Application.SBO_Application.SetStatusBarMessage("Alguna de las cuentas de configuración no tiene valor, favor de verificar", SAPbouiCOM.BoMessageTime.bmt_Short, true); return; } this.UIAPIRawForm.Freeze(true); SAPbobsCOM.Payments lObjOutgoingPayment = (SAPbobsCOM.Payments)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oVendorPayments); lObjOutgoingPayment.DocObjectCode = SAPbobsCOM.BoPaymentsObjectType.bopot_OutgoingPayments; lObjOutgoingPayment.DocDate = DateTime.Now; lObjOutgoingPayment.DocType = SAPbobsCOM.BoRcptTypes.rAccount; lObjOutgoingPayment.CashAccount = mStrViaticPaymAcct; lObjOutgoingPayment.UserFields.Fields.Item("U_GLO_PaymentType").Value = ((int)PaymentsTypesEnum.TravelExpenses).ToString(); lObjOutgoingPayment.UserFields.Fields.Item("U_GLO_CodeMov").Value = txtFolio.Value; //folio de solicitud de viáticos lObjOutgoingPayment.UserFields.Fields.Item("U_GLO_CostCenter").Value = "MQ_MAQUI"; //centro de costo lObjOutgoingPayment.CashSum = double.Parse(txtTotal.Value); for (int i = 0; i < dtTravelExp.Rows.Count; i++) { int lIntMovTypeCode = int.Parse(dtTravelExp.GetValue(9, i).ToString()); double lDblLineImport = double.Parse(dtTravelExp.GetValue(8, i).ToString()); string lStrEmployeeType = dtTravelExp.GetValue(10, i).ToString(); string lStrEmployeeCode = dtTravelExp.GetValue(5, i).ToString(); double lDblDayPrice = double.Parse(dtTravelExp.GetValue(7, i).ToString()); lObjOutgoingPayment.AccountPayments.SetCurrentLine(i); lObjOutgoingPayment.AccountPayments.SumPaid = lDblLineImport; lObjOutgoingPayment.AccountPayments.UserFields.Fields.Item("U_GLO_TypeViatic").Value = lIntMovTypeCode.ToString(); lObjOutgoingPayment.AccountPayments.UserFields.Fields.Item("U_MQ_TypeEmp").Value = lStrEmployeeType; lObjOutgoingPayment.AccountPayments.UserFields.Fields.Item("U_MQ_Aux").Value = lStrEmployeeCode; //code empleado lObjOutgoingPayment.AccountPayments.UserFields.Fields.Item("U_MQ_DayPrice").Value = lDblDayPrice; switch (lIntMovTypeCode) { case (int)TravelExpMovTypesEnum.DayExpenses: lObjOutgoingPayment.AccountPayments.AccountCode = mStrExpDayAcct; break; case (int)TravelExpMovTypesEnum.MinorExpenses: lObjOutgoingPayment.AccountPayments.AccountCode = mStrMinorPurchAcct; break; case (int)TravelExpMovTypesEnum.TravelExpenses: lObjOutgoingPayment.AccountPayments.AccountCode = mStrViaticExpAcct; break; default: break; } lObjOutgoingPayment.AccountPayments.Add(); } if (lObjOutgoingPayment.Add() != 0) { string lStrLastError = DIApplication.Company.GetLastErrorDescription(); UIApplication.ShowMessageBox(string.Format("Error al generar el pago: {0}", DIApplication.Company.GetLastErrorDescription())); } else { int lIntDocEntry = int.Parse(DIApplication.Company.GetNewObjectKey()); mObjTravelExpensesDTO = mObjMachinerySeviceFactory.GetTravelExpensesService().GetPayment(lIntDocEntry); this.UIAPIRawForm.Close(); } } catch (Exception lObjException) { Application.SBO_Application.MessageBox(string.Format("Error al realizar el pago efectuado: {0}", lObjException.Message)); } finally { this.UIAPIRawForm.Freeze(false); } }
public List <TravelExpensesDTO> GetTravelExpensesByRiseId(int pIntRiseId, bool pBolForDraftPymts = false) { List <TravelExpensesDTO> lLstTravelExpensesDTO = new List <TravelExpensesDTO>(); Recordset lObjRecordset = null; try { lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset); string lStrQuery = string.Empty; if (pBolForDraftPymts) { lStrQuery = this.GetSQL("GetDraftTravelExpensesByRiseId").InjectSingleValue("RiseId", pIntRiseId.ToString()); } else { lStrQuery = this.GetSQL("GetTravelExpensesByRiseId").InjectSingleValue("RiseId", pIntRiseId.ToString()); } lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { for (int i = 0; i < lObjRecordset.RecordCount; i++) { TravelExpensesDTO lObjTravelExpensesDTO = new TravelExpensesDTO(); lObjTravelExpensesDTO.DocDate = DateTime.Parse(lObjRecordset.Fields.Item("DocDate").Value.ToString()); lObjTravelExpensesDTO.DocEntry = int.Parse(lObjRecordset.Fields.Item("DocEntry").Value.ToString()); lObjTravelExpensesDTO.DocNum = int.Parse(lObjRecordset.Fields.Item("DocNum").Value.ToString()); lObjTravelExpensesDTO.Folio = lObjRecordset.Fields.Item("U_GLO_CodeMov").Value.ToString(); lObjTravelExpensesDTO.Total = double.Parse(lObjRecordset.Fields.Item("Total").Value.ToString()); lObjTravelExpensesDTO.IdRise = int.Parse(lObjRecordset.Fields.Item("RiseId").Value.ToString()); if (pBolForDraftPymts) { lObjTravelExpensesDTO.Status = 3; lObjTravelExpensesDTO.Code = lObjRecordset.Fields.Item("Code").Value.ToString(); } else { lObjTravelExpensesDTO.Status = int.Parse(lObjRecordset.Fields.Item("Status").Value.ToString()); lObjTravelExpensesDTO.Code = lObjRecordset.Fields.Item("Code").Value.ToString(); } lLstTravelExpensesDTO.Add(lObjTravelExpensesDTO); lObjRecordset.MoveNext(); } } } catch (Exception lObjException) { LogService.WriteError(string.Format("[GetCurrentFolio - GetTravelExpensesByRiseId: {0}]", lObjException.Message)); throw new DAOException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lLstTravelExpensesDTO); }