コード例 #1
0
        public async Task <bool> UpdateSyncData(DocumentSync documentSyncResult)
        {
            bool isSuccessOperate = false;

            using (var conn = SqlConnectionFactory.CreateSqlConnection())
            {
                string sql = "update T_Refund set IsSync = @SyncResult,SAPDocEntry = @SAPDocEntry,SyncMsg = @SyncMsg  where DocEntry = @DocEntry";
                try
                {
                    var rtCount = await conn.ExecuteAsync(sql, new { DocEntry    = documentSyncResult.DocEntry,
                                                                     SAPDocEntry = documentSyncResult.SAPDocEntry,
                                                                     SyncMsg     = documentSyncResult.SyncMsg,
                                                                     SyncResult  = documentSyncResult.SyncResult });

                    if (rtCount == 1)
                    {
                        isSuccessOperate = true;
                    }
                    else if (rtCount == 0)
                    {
                        throw new Exception($"can't found the refund document by docentry:{documentSyncResult.DocEntry}");
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    conn.Close();
                }
                return(isSuccessOperate);
            }
        }
コード例 #2
0
        public async Task <bool> UpdateINSyncDataBatch(DocumentSync documentSyncData)
        {
            bool isSuccessOperate = false;

            using (var conn = SqlConnectionFactory.CreateSqlConnection())
            {
                string sql = $@"update T_SalesOrder set IsINSync = '{documentSyncData.SyncResult}',
                                                        INSAPDocEntry = '{documentSyncData.SAPDocEntry}',
                                                        INMsg = '{documentSyncData.SyncMsg}',
                                                        INSyncDate='{DateTime.Now}'  
                                    where DocEntry in ( {documentSyncData.DocEntry} )";
                try
                {
                    var rtCount = await conn.ExecuteAsync(sql);

                    if (rtCount >= 1)
                    {
                        isSuccessOperate = true;
                    }
                    else if (rtCount == 0)
                    {
                        throw new Exception($"can't found the refund document by docentry:{documentSyncData.DocEntry}");
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    conn.Close();
                }
                return(isSuccessOperate);
            }
        }
コード例 #3
0
        public async Task <bool> ModifyJournalRelationMapPositive(DocumentSync documentSyncData)
        {
            bool isSuccessOperate = false;

            using (var conn = SqlConnectionFactory.CreateSqlConnection())
            {
                string sql = $@"update T_JournalRelationMap set IsPositiveSync = '{documentSyncData.SyncResult}',
                                                        NewPositiveTransId = '{documentSyncData.SAPDocEntry}',
                                                        PositiveSyncMessage = '{documentSyncData.SyncMsg}',
                                                        PositiveSyncDate='{DateTime.Now}'  
                                    where DocEntry in ( {documentSyncData.DocEntry} )";
                try
                {
                    var rtCount = await conn.ExecuteAsync(sql);

                    if (rtCount >= 1)
                    {
                        isSuccessOperate = true;
                    }
                    else if (rtCount == 0)
                    {
                        throw new Exception($"can't found the journalSource info by docentry:{documentSyncData.DocEntry}");
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    conn.Close();
                }
                return(isSuccessOperate);
            }
        }
コード例 #4
0
        public static DocumentSync AddOrUpdateBusinessPartner(BusinessPartner BusinessPartner)
        {
            DocumentSync rt = new DocumentSync();

            SAPbobsCOM.BusinessPartners oBP = SAP.SAPCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners);
            oBP.CardCode = BusinessPartner.CardCode;
            oBP.CardName = BusinessPartner.CardName;
            int rtCode = 1;

            if (oBP.GetByKey(BusinessPartner.CardCode))
            {
                rtCode = oBP.Update();
            }
            else
            {
                rtCode = oBP.Add();
            }
            if (rtCode != 0)
            {
                rt.SyncResult = "N";
                rt.SyncMsg    = SAP.SAPCompany.GetLastErrorDescription();
            }
            else
            {
                rt.SyncResult = "Y";
                rt.SyncMsg    = "sync successful";
            }
            return(rt);
        }
コード例 #5
0
        private async Task HandleResult(Result rt, int DocEntry)
        {
            DocumentSync documentResult = new DocumentSync();

            if (rt.ResultCode == 0)
            {
                documentResult.SyncResult = "Y";
            }
            else
            {
                documentResult.SyncResult = "N";
            }
            documentResult.SyncMsg     = rt.Message;
            documentResult.SAPDocEntry = rt.ObjCode;
            documentResult.DocEntry    = DocEntry.ToString();
            await _purchaseReturnApp.UpdateSyncDataAsync(documentResult);
        }
コード例 #6
0
        private async Task HandleRefundResult(Result rt, string DocEntryList)
        {
            DocumentSync documentResult = new DocumentSync();

            if (rt.ResultCode == 0)
            {
                documentResult.SyncResult = "Y";
            }
            else
            {
                documentResult.SyncResult = "N";
            }
            documentResult.SyncMsg     = rt.Message;
            documentResult.SAPDocEntry = rt.ObjCode;
            documentResult.DocEntry    = DocEntryList;
            await refundApp.UpdateSyncDataAsync(documentResult);
        }
コード例 #7
0
        public async Task <bool> ModifyJournalRelationMapStatus(DocumentSync documentSyncData)
        {
            bool isSuccessOperate = false;

            using (var conn = SqlConnectionFactory.CreateSqlConnection())
            {
                //string sql = $@"update T_JournalRelationMap set IsSync = '{documentSyncData.SyncResult}',
                //                                        NewTransId = '{documentSyncData.SAPDocEntry}',
                //                                        SyncMessage = '{documentSyncData.SyncMsg}',
                //                                        SyncDate='{DateTime.Now}'
                //                    where DocEntry in ( {documentSyncData.DocEntry} )";
                string sql = $@"update T_JournalRelationMap set IsSync = @IsSync,
                                                        NewTransId = @NewTransId,
                                                        SyncMessage = @SyncMessage,
                                                        SyncDate= @SyncDate  
                                    where DocEntry in ( @DocEntry )";
                try
                {
                    var rtCount = await conn.ExecuteAsync(sql, new {
                        IsSync      = documentSyncData.SyncResult,
                        NewTransId  = documentSyncData.SAPDocEntry,
                        SyncMessage = documentSyncData.SyncMsg,
                        SyncDate    = DateTime.Now,
                        DocEntry    = documentSyncData.DocEntry
                    });

                    if (rtCount >= 1)
                    {
                        isSuccessOperate = true;
                    }
                    else if (rtCount == 0)
                    {
                        throw new Exception($"can't found the journalSource info by docentry:{documentSyncData.DocEntry}");
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    conn.Close();
                }
                return(isSuccessOperate);
            }
        }
コード例 #8
0
        public static DocumentSync AddOrUpdateWarehouse(Warehouse Warehouse)
        {
            DocumentSync rt = new DocumentSync();

            SAPbobsCOM.Warehouses oWH = SAP.SAPCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oWarehouses);
            oWH.WarehouseCode   = Warehouse.WhsCode;
            oWH.WarehouseName   = Warehouse.WhsName;
            oWH.BusinessPlaceID = Warehouse.BPLid;
            oWH.Inactive        = SAPBOneCommon.GetEnumYesNo(Warehouse.Inactive);
            oWH.City            = Warehouse.City;
            oWH.State           = Warehouse.State;
            oWH.UserFields.Fields.Item("U_ContractPerson").Value = Warehouse.ContractPerson;
            oWH.UserFields.Fields.Item("U_TelephoneNum").Value   = Warehouse.TelephoneNum;
            oWH.UserFields.Fields.Item("U_WhsClass").Value       = Warehouse.WhsClass;
            oWH.UserFields.Fields.Item("U_WhsType").Value        = Warehouse.WhsType;
            int rtCode = 1;

            if (oWH.GetByKey(Warehouse.WhsCode))
            {
                rtCode = oWH.Update();
            }
            else
            {
                rtCode = oWH.Add();
            }
            if (rtCode != 0)
            {
                rt.SyncResult = "N";
                rt.SyncMsg    = SAP.SAPCompany.GetLastErrorDescription();
            }
            else
            {
                rt.SyncResult = "Y";
                rt.SyncMsg    = "sync successful";
            }
            return(rt);
        }
コード例 #9
0
        public async Task HandleSalesOrderResult(Result rt, string DocEntryList, bool IsIN)
        {
            DocumentSync documentResult = new DocumentSync();

            if (rt.ResultCode == 0)
            {
                documentResult.SyncResult = "Y";
            }
            else
            {
                documentResult.SyncResult = "N";
            }
            documentResult.SyncMsg     = rt.Message;
            documentResult.SAPDocEntry = rt.ObjCode;
            documentResult.DocEntry    = DocEntryList;
            if (IsIN)
            {
                await _salesOrderApp.UpdateINSyncDataBatchAsync(documentResult);
            }
            else
            {
                await _salesOrderApp.UpdateJESyncDataBatchAsync(documentResult);
            }
        }
コード例 #10
0
 public async Task <bool> UpdateSyncDataAsync(DocumentSync documentSyncResult)
 {
     return(await _purchaseOrderRepository.UpdateSyncData(documentSyncResult));
 }
コード例 #11
0
 public Task <bool> UpdateJESyncDataBatch(DocumentSync documentSyncData)
 {
     throw new NotImplementedException();
 }
コード例 #12
0
 public async Task <bool> UpdateJournalRelationMapStatuAsync(DocumentSync SyncData)
 {
     return(await _JournalRelationMapRepository.ModifyJournalRelationMapStatus(SyncData));
 }
コード例 #13
0
 public async Task <bool> UpdateSyncData(DocumentSync documentSyncResult)
 {
     throw new NotImplementedException();
 }
コード例 #14
0
 public async Task <bool> UpdateSyncDataBatchAsync(DocumentSync documentSyncResult)
 {
     return(await _refundRepository.UpdateSyncDataBatch(documentSyncResult));
 }
コード例 #15
0
        /// <summary>
        /// 拆解正数的分录
        /// </summary>
        /// <param name="JournalRelationMap"></param>
        /// <returns></returns>
        public static DocumentSync ApartPositiveJournal(JournalRelationMap JournalRelationMap)
        {
            DocumentSync rt = new DocumentSync();

            rt.DocEntry = JournalRelationMap.DocEntry.ToString();
            try
            {
                SAPbobsCOM.JournalEntries myJE = SAP.SAPCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries);
                myJE.ReferenceDate = JournalRelationMap.RefDate;
                myJE.TaxDate       = JournalRelationMap.TaxDate;
                myJE.DueDate       = JournalRelationMap.DueDate;
                myJE.UserFields.Fields.Item("U_TransId").Value = JournalRelationMap.TransId;
                if (!string.IsNullOrEmpty(JournalRelationMap.Creator))
                {
                    myJE.UserFields.Fields.Item("U_Creator").Value = JournalRelationMap.Creator;
                }
                if (!string.IsNullOrEmpty(JournalRelationMap.Approver))
                {
                    myJE.UserFields.Fields.Item("U_Approver").Value = JournalRelationMap.Approver;
                }
                myJE.UserFields.Fields.Item("U_PrintTransId").Value = JournalRelationMap.SerialNumber;

                foreach (var item in JournalRelationMap.JournalRelationMapLines)
                {
                    if (item.Debit > 0 || item.Credit > 0)
                    {
                        myJE.Lines.BPLID        = item.BPLId;
                        myJE.Lines.ShortName    = item.ShorName;
                        myJE.Lines.AccountCode  = item.AcctCode;
                        myJE.Lines.LineMemo     = item.LineMemo;
                        myJE.Lines.CostingCode  = item.ProfitCode;
                        myJE.Lines.CostingCode2 = item.OcrCode2;
                        myJE.Lines.CostingCode3 = item.OcrCode3;
                        myJE.Lines.CostingCode4 = item.OcrCode4;
                        myJE.Lines.CostingCode5 = item.OcrCode5;
                        myJE.Lines.UserFields.Fields.Item("U_TransId").Value = item.TransId;
                        myJE.Lines.UserFields.Fields.Item("U_LineId").Value  = item.LineId;

                        //myJE.Lines.UserFields.Fields.Item("U_PAYCODE").Value = item.PayCode;
                        if (!string.IsNullOrEmpty(item.CardCode))
                        {
                            myJE.Lines.UserFields.Fields.Item("U_CardCode").Value = item.CardCode;
                        }
                        if (!string.IsNullOrEmpty(item.CardName))
                        {
                            myJE.Lines.UserFields.Fields.Item("U_CardName").Value = item.CardName;
                        }
                        //myJE.Lines.UserFields.Fields.Item("U_ERPCARDCODE").Value = item.ERPCardCode;
                        //myJE.Lines.UserFields.Fields.Item("U_ERPBASECARDCODE").Value = item.ERPBaseCardCode;
                        //myJE.Lines.PrimaryFormItems.CashFlowLineItemID = item.
                        if (item.Debit > 0 && item.Credit == 0)
                        {
                            myJE.Lines.Debit = Convert.ToDouble(item.Debit);
                        }
                        if (item.Credit > 0 && item.Debit == 0)
                        {
                            myJE.Lines.Credit = Convert.ToDouble(item.Credit);
                        }
                        myJE.Lines.Add();
                    }
                }
                int rtCode = myJE.Add();
                if (rtCode == 0)
                {
                    rt.SyncResult = "Y";
                    rt.SyncMsg    = "sync successfull";
                }
                else
                {
                    rt.SyncResult  = "N";
                    rt.SyncMsg     = SAP.SAPCompany.GetLastErrorCode() + SAP.SAPCompany.GetLastErrorDescription();
                    rt.SAPDocEntry = SAP.SAPCompany.GetNewObjectKey();
                }
            }
            catch (Exception ex)
            {
                rt.SyncResult = "N";
                rt.SyncMsg    = ex.Message;
            }
            return(rt);
        }
コード例 #16
0
 public async Task <bool> UpdateJESyncDataBatchAsync(DocumentSync documentsSyncResutl)
 {
     return(await salesOrderRepository.UpdateJESyncDataBatch(documentsSyncResutl));
 }