예제 #1
0
        public int SaveTransactionLog(LogUserEvents _oUserLog)
        {
            SqlConnection sqlConnLogUser = new SqlConnection();

            sqlConnLogUser.ConnectionString = ConfigurationManager.ConnectionStrings["IntermediateDBConnection"].ToString();;
            sqlConnLogUser.Open();
            try
            {
                SqlTransaction sqlTransLog = sqlConnLogUser.BeginTransaction();

                QueryResult queryResult = new QueryResult();

                SqlParameter[] parm = new SqlParameter[8];
                parm[0] = new SqlParameter("@TableID", SqlDbType.Int)
                {
                    Value = _oUserLog.TableID
                };                                                                                  //1 =Insert New Record
                parm[1] = new SqlParameter("@DocumentID", SqlDbType.VarChar, 32)
                {
                    Value = _oUserLog.DocumentID
                };
                parm[2] = new SqlParameter("@Messages", SqlDbType.VarChar, 2000)
                {
                    Value = _oUserLog.Messages
                };
                parm[3] = new SqlParameter("@CreateDate", SqlDbType.DateTime, 32)
                {
                    Value = _oUserLog.CreateDate
                };
                parm[4] = new SqlParameter("@UpdateDate", SqlDbType.DateTime, 32)
                {
                    Value = _oUserLog.UpdateDate
                };
                parm[5] = new SqlParameter("@CreateUser", SqlDbType.Int, 32)
                {
                    Value = _oUserLog.CreateUser
                };
                parm[6] = new SqlParameter("@UpdateUser", SqlDbType.Int, 32)
                {
                    Value = _oUserLog.UpdateUser
                };
                parm[7] = new SqlParameter("@RetID", SqlDbType.Int)
                {
                    Direction = ParameterDirection.Output
                };

                SqlCommand sqlcommand = new SqlCommand();

                SqlHelper.ExecuteNonQuery(DBProvider.IntermediateConnectionString, CommandType.StoredProcedure, "InterDBLogUserEvents", parm);
                sqlTransLog.Commit();
                sqlConnLogUser.Close();

                return(queryResult.RetID);
            }
            catch (Exception ex)
            {
                sqlConnLogUser.Close();
                return(0);
            }
        }
예제 #2
0
        public int AddInvoicetoERP(PaymentVM paymentVM)
        {
            DalLogUserEvents _oDalLogUser = new DalLogUserEvents();
            LogUserEvents    _oLogUser    = new LogUserEvents();
            int tblID = Convert.ToInt32(ConfigurationSettings.AppSettings["PURCHASEORDERMASTERTBLID"].ToString());

            _oLogUser.TableID    = tblID.ToString();
            _oLogUser.DocumentID = "SAP-Invoice Transfer Start";
            _oLogUser.CreateDate = DateTime.Now;
            _oLogUser.UpdateDate = DateTime.Now;
            _oLogUser.CreateUser = 1;
            _oLogUser.UpdateUser = 1;

            try
            {
                //DataSet ds = new DataSet();
                //PurchaseOrderLayer oPurchaseLayer = new PurchaseOrderLayer();
                //ds = oPurchaseLayer.GetPOInterDB(1, "");

                // if (ds.Tables[0].Rows.Count > 0)
                //   MessageBox.Show(" Header data");


                string Type  = "";
                int    Count = 0;
                //PurchaseOrderLayer orderservice = new PurchaseOrderLayer();
                int lRetCode = -1;
                SAPObjects.oCompany.DbServerType = BoDataServerTypes.dst_MSSQL2014;
                //SAPObjects.oCompany.Server = @"" + _objPropertyCon.Data_Source;
                //SAPObjects.oCompany.UserName = _objPropertyCon.User_ID;
                //SAPObjects.oCompany.Password = _objPropertyCon.Password;
                SAPObjects.oCompany.language   = SAPbobsCOM.BoSuppLangs.ln_English;
                SAPObjects.oCompany.UseTrusted = false;
                // SAPObjects.oCompany.CompanyDB = _objPropertyCon.Initial_Catalog;
                SAPObjects.oCompany.DbUserName    = ConfigurationSettings.AppSettings["ERPSERVERDB_USER"].ToString();
                SAPObjects.oCompany.DbPassword    = ConfigurationSettings.AppSettings["ERPSERVERDB_PASS"].ToString();
                SAPObjects.oCompany.LicenseServer = ConfigurationSettings.AppSettings["ERPSERVERDB_LICENSE"].ToString();
                //OrderApp.oCompany.DbPassword = "******";
                //OrderApp.oCompany.LicenseServer = "Win8";

                //   MessageBox.Show(ConfigurationSettings.AppSettings["ERPSERVERDB_LICENSE"].ToString());

                lRetCode = SAPObjects.oCompany.Connect();
                string str = SAPObjects.oCompany.GetLastErrorDescription();

                // MessageBox.Show(str);


                if (lRetCode != 0)
                {
                    //Error("Can't Connect to ERP  " + str);

                    _oLogUser.Messages = "FAILED PO TRANSFER ON CONNECT - " + str;
                    _oDalLogUser.SaveTransactionLog(_oLogUser);

                    return(lRetCode);

                    // MessageBox.Show(" FAILED PO TRANSFER ON CONNECT");
                }
                else
                {
                    SAPObjects.oCompany.StartTransaction();


                    //START SQL TRANSACTION
                    int AllTransfered = 1;

                    //Read PURCHASE Header Data

                    //  MessageBox.Show(" Susscced PO TRANSFER ON CONNECT");
                    foreach (var debitNoteVM in paymentVM.DebitNoteList)
                    {
                        SAPObjects.oPurchaseOrder = (SAPbobsCOM.Documents)SAPObjects.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders);//define sap business object type

                        SAPObjects.oPurchaseOrder.CardCode      = paymentVM.ClientID.ToString();
                        SAPObjects.oPurchaseOrder.CardName      = paymentVM.ClientName.ToString();
                        SAPObjects.oPurchaseOrder.BPChannelCode = debitNoteVM.DebitNoteID.ToString();
                        SAPObjects.oPurchaseOrder.NumAtCard     = debitNoteVM.TotalGrossPremium.ToString();
                        SAPObjects.oPurchaseOrder.DocDate       = Convert.ToDateTime(debitNoteVM.CreatedDate);
                        SAPObjects.oPurchaseOrder.TaxDate       = Convert.ToDateTime(debitNoteVM.ModifiedDate);
                        //SAPObjects.oPurchaseOrder.DocDueDate = Convert.ToDateTime(row["DueDate"].ToString());
                        SAPObjects.oPurchaseOrder.Reference1 = "SFA";
                        SAPObjects.oPurchaseOrder.Comments   = "SFA";

                        DalLogUserEvents _oDalLogUserPO = new DalLogUserEvents();
                        LogUserEvents    _oLogUserPO    = new LogUserEvents();

                        _oLogUserPO.TableID = tblID.ToString();
                        //_oLogUserPO.DocumentID = row["POID"].ToString();
                        _oLogUserPO.CreateDate = DateTime.Now;
                        _oLogUserPO.UpdateDate = DateTime.Now;
                        _oLogUserPO.CreateUser = 1;
                        _oLogUserPO.UpdateUser = 1;


                        //GET  PURCHASE DETAILS LINES


                        //DataSet dsl = new DataSet();
                        //dsl = oPurchaseLayer.GetPOInterDB(2, row["POID"].ToString());
                        //if (dsl.Tables[0].Rows.Count > 0)
                        //    //     MessageBox.Show(" details ");
                        //    foreach (DataRow rowD in dsl.Tables[0].Rows)
                        //    {
                        //        double price = 0.00;
                        //        double qty = 0;

                        //        SAPObjects.oPurchaseOrder.Lines.ItemCode = rowD["ItemCode"].ToString();
                        //        // MessageBox.Show(rowD["ItemCode"].ToString());
                        //        DataSet _ds = new ProductMasterLayer().GetProductWareHouse(rowD["ItemCode"].ToString());

                        //        string wareHouse = _ds.Tables[0].Rows[0]["DfltWH"].ToString();
                        //        //  MessageBox.Show(wareHouse);
                        //        if (string.IsNullOrEmpty(wareHouse))
                        //        {
                        //            //MessageBox.Show(rowD["ItemCode"].ToString() + "don't have warehouse");
                        //            return 0;
                        //        }


                        //        SAPObjects.oPurchaseOrder.Lines.ItemDescription = rowD["ItemDescription"].ToString();

                        //        price = double.Parse(rowD["Price"].ToString());
                        //        qty = double.Parse(rowD["Qty"].ToString());

                        //        SAPObjects.oPurchaseOrder.Lines.Quantity = Convert.ToDouble(rowD["Qty"].ToString());
                        //        SAPObjects.oPurchaseOrder.Lines.Price = double.Parse(rowD["Price"].ToString());

                        //        //  SAPObjects.oPurchaseOrder.Lines.WarehouseCode = rowD["WarehouseCode"].ToString();
                        //        SAPObjects.oPurchaseOrder.Lines.WarehouseCode = wareHouse;
                        //        //SAPObjects.oPurchaseOrder.Lines.DiscountPercent = Convert.ToDouble(rowD["LineDiscount"].ToString());

                        //        SAPObjects.oPurchaseOrder.Lines.DiscountPercent = 0.00;
                        //        SAPObjects.oPurchaseOrder.Lines.TaxCode = rowD["TaxCode"].ToString() == "" ? "EXEMPT" : rowD["TaxCode"].ToString();
                        //        SAPObjects.oPurchaseOrder.Lines.LineTotal = price * qty;
                        //        SAPObjects.oPurchaseOrder.Lines.Add();
                        //    }

                        //MessageBox.Show(" Line ok ");
                        lRetCode = SAPObjects.oPurchaseOrder.Add();
                        // MessageBox.Show(lRetCode.ToString());
                        string strError = SAPObjects.oCompany.GetLastErrorDescription();
                        // MessageBox.Show(strError);

                        if (lRetCode != 0)
                        {
                            _oLogUserPO.Messages = "SAGE TRANSFER FAIL - " + lRetCode.ToString() + " - " + strError;
                            _oDalLogUserPO.SaveTransactionLog(_oLogUserPO);

                            //ADD EVENT LOG TO TABLE
                            //var _POERPMsg = new PurchaseOrderERPMsg();

                            //_POERPMsg.POID = row["POID"].ToString();
                            //_POERPMsg.SAPReference = lRetCode.ToString();
                            //_POERPMsg.ErrorMsg = strError;
                            //_POERPMsg.CreateDate = DateTime.Now;
                            ////_POERPMsg.UpdateDate="";
                            //_POERPMsg.CreateUser = 1;//change to dynamic value is a must
                            //_POERPMsg.UpdateUser=;

                            //PurchaseOrderLayer orderservice = new PurchaseOrderLayer();
                            //int lRetLog = orderservice.SaveERPPOTransactionLog(_POERPMsg, 1, tblID);//1 = INSERT OF A NEW RECORD


                            int    lErrCode = 0;
                            string sErrMsg  = "";

                            int    temp_int    = lErrCode;
                            string temp_string = sErrMsg;
                            SAPObjects.oCompany.GetLastError(out temp_int, out temp_string);
                            if (lErrCode != -4006)
                            {
                                SAPObjects.oCompany.Disconnect();
                            }
                            //NOT ALL POs going to save user must check error log
                            AllTransfered = 0;
                        }
                        else
                        {
                            _oLogUserPO.Messages = "SAGE TRANSFER OK";
                            _oDalLogUserPO.SaveTransactionLog(_oLogUserPO);

                            //PurchaseOrderLayer oOrderService = new PurchaseOrderLayer();
                            //POHeader OH = new POHeader();
                            //OH.IsSendtoERP = Convert.ToInt32(TransactionStatusEnum.Proceed);
                            //OH.POID = row["POID"].ToString();
                            //int sDbStatus = oOrderService.UpdatePOHeader(OH);
                        }
                    }
                    SAPObjects.oCompany.EndTransaction(BoWfTransOpt.wf_Commit);
                    SAPObjects.oCompany.Disconnect();
                    return(AllTransfered);
                }
            }
            catch (Exception ex)
            {
                _oLogUser.Messages = "PO TRANSFER FAILED - " + ex.Message.ToString() + " - " + ex.ToString();
                _oDalLogUser.SaveTransactionLog(_oLogUser);


                return(0);
            }
        }