Exemplo n.º 1
0
        public List <DraftDTO> GetDraftInvoices(string pStrType)
        {
            List <DraftDTO> lLstInvoiceDTO = new List <DraftDTO>();
            Recordset       lObjRecordset  = null;

            try
            {
                lObjRecordset = (Recordset)DIApplication.Company.GetBusinessObject(BoObjectTypes.BoRecordset);

                string lStrDate = DateTime.Now.ToString("ddMMyy");

                Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>();
                lLstStrParameters.Add("Date", lStrDate);
                lLstStrParameters.Add("Type", pStrType);

                string lStrQuery = this.GetSQL("GetDraftsInvoice").Inject(lLstStrParameters);

                lObjRecordset.DoQuery(lStrQuery);

                if (lObjRecordset.RecordCount > 0)
                {
                    for (int i = 0; i < lObjRecordset.RecordCount; i++)
                    {
                        DraftDTO lObjInvoiceDTO = new DraftDTO
                        {
                            DocEntry   = int.Parse(lObjRecordset.Fields.Item("DocEntry").Value.ToString()),
                            DocNum     = int.Parse(lObjRecordset.Fields.Item("DocNum").Value.ToString()),
                            Status     = lObjRecordset.Fields.Item("DocStatus").Value.ToString(),
                            GLO_Status = lObjRecordset.Fields.Item("U_GLO_Status").Value.ToString(),
                            DocDate    = DateTime.Parse(lObjRecordset.Fields.Item("DocDate").Value.ToString()),
                            CardCode   = lObjRecordset.Fields.Item("CardCode").Value.ToString(),
                            CardName   = lObjRecordset.Fields.Item("CardName").Value.ToString(),
                            Currency   = lObjRecordset.Fields.Item("DocCur").Value.ToString(),
                            Total      = double.Parse(lObjRecordset.Fields.Item("Total").Value.ToString()),
                            Comments   = lObjRecordset.Fields.Item("Comments").Value.ToString(),
                            PE_Origin  = lObjRecordset.Fields.Item("U_PE_Origin").Value.ToString(),
                            ObjType    = int.Parse(lObjRecordset.Fields.Item("ObjType").Value.ToString()),
                            IsDraft    = true,
                        };

                        lLstInvoiceDTO.Add(lObjInvoiceDTO);
                        lObjRecordset.MoveNext();
                    }
                }
            }
            catch (Exception lObjException)
            {
                HandleException(lObjException, "GetDraftInvoices");
                throw new DAOException(lObjException.Message, lObjException);
            }
            finally
            {
                MemoryUtility.ReleaseComObject(lObjRecordset);
            }
            return(lLstInvoiceDTO);
        }
Exemplo n.º 2
0
        public IList <DraftDTO> GetClientInvoiceDrafts(string pCardCode)
        {
            SAPbobsCOM.Recordset lObjResults = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
            IList <DraftDTO>     lLstDrafts  = new List <DraftDTO>();

            try
            {
                string lStrQuery = this.GetSQL("GetClientInvoiceDrafts").InjectSingleValue("CardCode", pCardCode);
                lObjResults.DoQuery(lStrQuery);
                if (lObjResults.RecordCount > 0)
                {
                    for (int i = 0; i < lObjResults.RecordCount; i++)
                    {
                        DraftDTO lObjDraft = new DraftDTO();
                        lObjDraft.Series             = lObjResults.GetColumnValue <int>("Series");
                        lObjDraft.SeriesName         = lObjResults.GetColumnValue <string>("SeriesName");
                        lObjDraft.DocNum             = lObjResults.GetColumnValue <int>("DocNum");
                        lObjDraft.DocEntry           = lObjResults.GetColumnValue <int>("DocEntry");
                        lObjDraft.DocDate            = lObjResults.GetColumnValue <DateTime>("DocDate");
                        lObjDraft.DocDueDate         = lObjResults.GetColumnValue <DateTime>("DocDueDate");
                        lObjDraft.DocCur             = lObjResults.GetColumnValue <string>("DocCur");
                        lObjDraft.DocTotal           = lObjResults.GetColumnValue <double>("DocTotal");
                        lObjDraft.DocTotalFC         = lObjResults.GetColumnValue <double>("DocTotalFC");
                        lObjDraft.CardCode           = lObjResults.GetColumnValue <string>("CardCode");
                        lObjDraft.OcrCode            = lObjResults.GetColumnValue <string>("OcrCode");
                        lObjDraft.UserSign           = lObjResults.GetColumnValue <int>("UserSign");
                        lObjDraft.U_GLO_CashRegister = lObjResults.GetColumnValue <string>("U_GLO_CashRegister");
                        lObjDraft.ObjType            = lObjResults.GetColumnValue <string>("ObjType");
                        lLstDrafts.Add(lObjDraft);
                        lObjResults.MoveNext();
                    }
                }
                return(lLstDrafts);
            }
            catch (Exception e)
            {
                LogUtility.WriteError(string.Format("[DocumentDAO - GetClientInvoiceDrafts] Error al obtener los borradores de las facturas del cliente {0}: {1}", pCardCode, e.Message));
                throw new Exception(string.Format("Error al obtener los borradores de las facturas del cliente {0}: {1}", pCardCode, e.Message));
            }
            finally
            {
                MemoryUtility.ReleaseComObject(lObjResults);
            }
        }