Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
        }