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); } }
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); } }