public async Task <IActionResult> GetCRMID(string id) { SAPContext context = HttpContext.RequestServices.GetService(typeof(SAPContext)) as SAPContext; SAPbobsCOM.BusinessPartners items = (SAPbobsCOM.BusinessPartners)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); SAPbobsCOM.SalesPersons seller = (SAPbobsCOM.SalesPersons)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oSalesPersons); SAPbobsCOM.PaymentTermsTypes payment = (SAPbobsCOM.PaymentTermsTypes)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPaymentTermsTypes); SAPbobsCOM.UserTable sboTable = (SAPbobsCOM.UserTable)context.oCompany.UserTables.Item("SO1_01FORMAPAGO"); JToken pagos = context.XMLTOJSON(sboTable.GetAsXML())["OCRD"]; if (items.GetByKey(id)) { JToken temp = context.XMLTOJSON(items.GetAsXML()); temp["OCRD"] = temp["OCRD"][0]; if (seller.GetByKey(temp["OCRD"]["SlpCode"].ToObject <int>())) { JToken temp2 = context.XMLTOJSON(seller.GetAsXML()); temp["OSLP"] = temp2["OSLP"][0]; } if (payment.GetByKey(temp["OCRD"]["GroupNum"].ToObject <int>())) { JToken temp3 = context.XMLTOJSON(payment.GetAsXML()); temp["OCTG"] = temp3["OCTG"][0]; } temp["PAGO"] = pagos; return(Ok(temp)); } return(NotFound("No Existe Contacto")); }
private void ExportBusinessPartner(Partner pObjPartner) { SAPbobsCOM.BusinessPartners lObjCustomer = null; try { lObjCustomer = SapBusinessPartnerService.GetBusinessPartnerObject(); lObjCustomer.CardCode = pObjPartner.Code; lObjCustomer.CardName = pObjPartner.Name; lObjCustomer.FederalTaxID = pObjPartner.TaxCode; if (lObjCustomer.Add() == 0) { pObjPartner.Temporary = false; LocalBusinessPartnerService.SaveOrUpdate(pObjPartner); } else { LogUtility.Write(string.Format("[ERROR] {0}", DIApplication.Company.GetLastErrorDescription())); } } catch (Exception lObjException) { LogUtility.Write(string.Format("[ERROR] {0}", lObjException.ToString())); } finally { MemoryUtility.ReleaseComObject(lObjCustomer); } }
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); }
public static int CreaSoNe(SAPbobsCOM.Company oCompany, SocioNegocio oSocioNegocio) { oCardCode = oSocioNegocio.ruc + oSocioNegocio.CardType; int CreaSoNeReturn = 0; SAPbobsCOM.BusinessPartners bp = null; bp = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); bp.CardCode = oCardCode; bp.FederalTaxID = oSocioNegocio.ruc; bp.CardName = oSocioNegocio.razonSocial; if (oSocioNegocio.CardType == "C") { bp.CardType = SAPbobsCOM.BoCardTypes.cCustomer; } else { bp.CardType = SAPbobsCOM.BoCardTypes.cSupplier; } CreaSoNeReturn = bp.Add(); //Inserta Direccion if (CreaSoNeReturn == 0) { CreaSoNeReturn = ActuDire(oCompany, oSocioNegocio); } return(CreaSoNeReturn); }
public bool UpdateContactName(string bpCardCode, string ctnPrevName, string CtnNewName) { bool bRetVal = false; string sErrMsg; int lErrCode; SAPbobsCOM.Company oCompany = new SAPbobsCOM.Company(); oCompany = SAPDIAPI.Connect(); //Check connection before updating if (oCompany.Connected) { //create the BP object SAPbobsCOM.BusinessPartners BP = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); SAPbobsCOM.ContactEmployees sboContacts = BP.ContactEmployees; try { if (BP.GetByKey(bpCardCode)) { sboContacts = BP.ContactEmployees; //check first for one contact (always gives 1 wether have contact or not) check for no contact to add or update if (sboContacts.Count > 0) { for (int i = 0; i < sboContacts.Count; i++) { sboContacts.SetCurrentLine(i); if (sboContacts.Name == ctnPrevName) { bRetVal = true; sboContacts.Name = CtnNewName; } } } if (bRetVal) { if (BP.Update() != 0) { bRetVal = false; oCompany.GetLastError(out lErrCode, out sErrMsg); } } } } catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } { bRetVal = false; } } oCompany.Disconnect(); return(bRetVal); }
private static void addShipTo(SAPbobsCOM.BusinessPartners bp, System.Data.DataRow drOrder) { int addressFound = 0; int addressCnt = 0; for (int i = 0; i < bp.Addresses.Count; i++) { bp.Addresses.SetCurrentLine(i); if (bp.Addresses.AddressName == "S-" + drOrder["U_ShipFirstName"].ToString() + " " + drOrder["U_ShipLastName"].ToString() && bp.Addresses.AddressType == SAPbobsCOM.BoAddressType.bo_ShipTo) { bp.Addresses.ZipCode = drOrder["U_ShipPostCode"].ToString(); bp.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_ShipTo; bp.Addresses.Street = drOrder["U_ShipAdd1"].ToString(); bp.Addresses.City = drOrder["U_ShipAdd3"].ToString(); //bp.Addresses.TaxCode = "EX"; string statecode = StateCode(drOrder["U_ShipAdd4"].ToString()); if (statecode != "") { bp.Addresses.State = statecode; } addressFound = 1; } addressCnt++; } if (addressFound == 0) { bp.Addresses.Add(); bp.Addresses.SetCurrentLine(addressCnt); bp.Addresses.AddressName = "S-" + drOrder["U_ShipFirstName"].ToString() + " " + drOrder["U_ShipLastName"].ToString(); bp.Addresses.ZipCode = drOrder["U_ShipPostCode"].ToString(); bp.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_ShipTo; bp.Addresses.Street = drOrder["U_ShipAdd1"].ToString(); bp.Addresses.City = drOrder["U_ShipAdd3"].ToString(); // bp.Addresses.TaxCode = "EX"; string statecode = StateCode(drOrder["U_ShipAdd4"].ToString()); if (statecode != "") { bp.Addresses.State = statecode; } bp.Addresses.UserFields.Fields.Item("U_PhoneNum").Value = drOrder["U_ShipMobile"].ToString();; // sTel == null ? "" : sTel; bp.Addresses.UserFields.Fields.Item("U_EMail").Value = drOrder["U_ShipEmail"].ToString(); // sEmail == null ? "" : sEmail; } int result = bp.Update(); if (result != 0) { int erroCode = 0; string errDescr = ""; } else { // oApplication.StatusBar.SetText("Sales Order Posted Successfully for " + dtORDR.GetValue("WBID", 0), BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Success); } }
public void InitVars() { if (oCompany != null) { oBP = (SAPbobsCOM.BusinessPartners)FCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); } else { new Exception("Compañia SBO, no encontrada."); } }
public async Task <IActionResult> Get(string CardCode) { SAPContext context = HttpContext.RequestServices.GetService(typeof(SAPContext)) as SAPContext; SAPbobsCOM.BusinessPartners Bp = (SAPbobsCOM.BusinessPartners)context.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); if (!Bp.GetByKey(CardCode)) { return(NoContent()); } JToken output = context.XMLTOJSON(Bp.GetAsXML()); return(Ok(output)); }
public AspNet.IdentityResult CreateUser(ApplicationUser user) { AspNet.IdentityResult identityResult = null; SAPbobsCOM.BusinessPartners oDoc = null; SAPbobsCOM.Recordset oRecords = null; try { var password = Utilities.Encrypt(user.Password); oDoc = base.B1Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners) as SAPbobsCOM.BusinessPartners; oRecords = base.B1Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset) as SAPbobsCOM.Recordset; oRecords.DoQuery($@"SELECT ""CardCode"" FROM OCRD WHERE ""U_UserName"" = '{user.UserName}' OR ""E_Mail"" = '{user.Email}'"); if (oRecords.RecordCount == 0) { oDoc.CardType = SAPbobsCOM.BoCardTypes.cCustomer; oDoc.Series = GetSeriesCode(); oDoc.UserFields.Fields.Item("U_Password").Value = password; oDoc.UserFields.Fields.Item("U_UserName").Value = user.UserName; oDoc.EmailAddress = user.Email; oDoc.CardName = $"{user.FirstName} {user.LastName}"; oDoc.EmailAddress = user.Email; if (oDoc.Add() != 0) { var err = base.B1Company.GetLastErrorDescription(); identityResult = new AspNet.IdentityResult(err); throw new Exception(err); } else { identityResult = AspNet.IdentityResult.Success; }; } else { identityResult = new AspNet.IdentityResult("Username or Email are already in use!"); } } catch (Exception ex) { Utilities.LogException(ex); identityResult = new AspNet.IdentityResult(ex.Message); } finally { oRecords.ReleaseObject(); oDoc.ReleaseObject(); } return(identityResult); }
public static int ActuDire(SAPbobsCOM.Company oCompany, SocioNegocio oSocioNegocio) { //Ajustamos numero de caracteres de direccion no mayor a 100 if (oSocioNegocio.direccion.Length > 100) { int oIndexOf = oSocioNegocio.direccion.IndexOf('('); int oIndexOf1 = oSocioNegocio.direccion.IndexOf(')'); oSocioNegocio.direccion = (oSocioNegocio.direccion.Remove(oIndexOf, (oIndexOf1 - oIndexOf) + 1).Substring(0, 100)); } int ActuDireReturn = 0; SAPbobsCOM.BusinessPartners bp = null; bp = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); bp.GetByKey(oCardCode); bp.Addresses.Delete(); bp.Addresses.AddressName = "FT"; bp.Addresses.Street = oSocioNegocio.direccion; bp.Addresses.City = oSocioNegocio.distrito; bp.Addresses.County = oSocioNegocio.provincia; //bp.Addresses.State = oSocioNegocio.estado; bp.Addresses.Country = "PE"; bp.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo; //Direccion de factura bp.Addresses.Add(); //AddDirec1return = bp.Update(); bp.Addresses.AddressName = "GR"; bp.Addresses.Street = oSocioNegocio.direccion; bp.Addresses.City = oSocioNegocio.distrito; bp.Addresses.County = oSocioNegocio.provincia; //bp.Addresses.State = oSocioNegocio.estado; bp.Addresses.Country = "PE"; bp.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_ShipTo; bp.Addresses.Add(); ActuDireReturn = bp.Update(); return(ActuDireReturn); }
private void DIA_CreateBP_Click(object sender, EventArgs e) { try { if (this.objCompany == null || !objCompany.Connected) { this.connect(); } if (this.objCompany != null && objCompany.Connected) { SAPbobsCOM.BusinessPartners oBP = null; int retCode = -1; String retMess = ""; oBP = objCompany.GetBusinessObject( SAPbobsCOM.BoObjectTypes.oBusinessPartners); oBP.CardCode = DIA_BPCode.Text; oBP.CardName = "Insert via DIAPI - " + DIA_BPCode.Text; oBP.CardType = SAPbobsCOM.BoCardTypes.cCustomer; retCode = oBP.Add(); if (retCode != 0) { retMess = objCompany.GetLastErrorDescription(); } else { retMess = "BP inserted successfully! - " + objCompany.GetNewObjectKey(); } MessageBox.Show(retMess); } } catch (Exception er) { MessageBox.Show(er.Message); } }
public Result CreateOrUpdateCustomer(BusinessPartner businessPartner) { Result result = new Result(); SAPbobsCOM.BusinessPartners myBusinessPartner = SAP.SAPCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); bool isExist = myBusinessPartner.GetByKey(businessPartner.CardCode); myBusinessPartner.CardCode = businessPartner.CardCode; myBusinessPartner.CardName = businessPartner.CardName; myBusinessPartner.UserFields.Fields.Item("U_PlatformCode").Value = businessPartner.PlatformCode; myBusinessPartner.CardType = DataConvertEx.GetCardTypeByPlatformCode(businessPartner.PlatformCode.Substring(0, 1)); myBusinessPartner.GroupCode = BOneCommon.GetCustomerGroupCodeByPlateformCode(businessPartner.PlatformCode); int rtCode = 0; if (isExist) { rtCode = myBusinessPartner.Update(); } else { rtCode = myBusinessPartner.Add(); } if (rtCode != 0) { result.ResultCode = -1; result.ObjCode = businessPartner.CardCode; result.Message = SAP.SAPCompany.GetLastErrorDescription(); } else { result.ResultCode = 0; result.ObjCode = businessPartner.CardCode; result.Message = "Updated or saved customer successfully."; } return(result); }
private void DIA_GetBpList_Click(object sender, EventArgs e) { SAPbobsCOM.Recordset objRecordset = null; try { if (this.objCompany == null || !objCompany.Connected) { this.connect(); } if (this.objCompany != null && objCompany.Connected) { objBP = (SAPbobsCOM.BusinessPartners)objCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); objRecordset = (SAPbobsCOM.Recordset)objCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); SAPbobsCOM.SBObob objBOB = null; objBOB = objCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoBridge); objRecordset = objBOB.GetBPList(getDIACardtype(DIA_CardType.Text)); objBP.Browser.Recordset = objRecordset; objBP.Browser.MoveFirst(); String msg = null; while (!objBP.Browser.EoF) { msg += objBP.CardCode + " - " + objBP.CardName + "\n"; objBP.Browser.MoveNext(); } MessageBox.Show(msg); } } catch (Exception er) { MessageBox.Show(er.Message); } }
void IArmada_Sync.Add(string sKey, SAPbobsCOM.Company oCompany, string strLogger, string strWareHouse, string[] strValues, Hashtable htCCdet) { DataSet oDS_S_OCRD = null; SAPbobsCOM.BusinessPartners oPartner = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); string str_S_OCRD = "Exec Armada_Service_S_OCRD_s '" + sKey + "'"; oDS_S_OCRD = Armada_Sync.Singleton.objSqlDataAccess.ExecuteDataSet(str_S_OCRD, strLogger); try { if (oDS_S_OCRD == null && oDS_S_OCRD.Tables.Count == 0) { return; } else { if ((oDS_S_OCRD.Tables[0] != null) && (oDS_S_OCRD.Tables[0].Rows.Count > 0)) { int retVal; if (!oPartner.GetByKey(oDS_S_OCRD.Tables[0].Rows[0]["Code"].ToString().Trim())) { oPartner.CardCode = oDS_S_OCRD.Tables[0].Rows[0]["Code"].ToString().Trim(); oPartner.CardName = oDS_S_OCRD.Tables[0].Rows[0]["Name"].ToString().Trim(); oPartner.CardType = SAPbobsCOM.BoCardTypes.cCustomer; oPartner.Cellular = oDS_S_OCRD.Tables[0].Rows[0]["Phone"].ToString().Trim(); oPartner.Currency = "##"; oPartner.EmailAddress = oDS_S_OCRD.Tables[0].Rows[0]["Email"].ToString().Trim(); oPartner.Fax = oDS_S_OCRD.Tables[0].Rows[0]["Fax"].ToString().Trim(); int intLine = 0; oPartner.Addresses.SetCurrentLine(intLine); oPartner.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo; oPartner.Addresses.AddressName = oDS_S_OCRD.Tables[0].Rows[0]["Name"].ToString().Trim(); oPartner.Addresses.Street = oDS_S_OCRD.Tables[0].Rows[0]["Address"].ToString().Trim(); oPartner.Addresses.Block = oDS_S_OCRD.Tables[0].Rows[0]["Area"].ToString().Trim(); oPartner.Addresses.ZipCode = oDS_S_OCRD.Tables[0].Rows[0]["ZipCode"].ToString().Trim(); oPartner.Addresses.City = oDS_S_OCRD.Tables[0].Rows[0]["City"].ToString().Trim(); oPartner.Addresses.Country = oDS_S_OCRD.Tables[0].Rows[0]["Country"].ToString(); //oPartner.Addresses.State = oDS_S_OCRD.Tables[0].Rows[0]["Name"].ToString(); oPartner.Addresses.Add(); retVal = oPartner.Add(); if (retVal != 0) { Singleton.objSqlDataAccess.UpdateLog(sKey, TransScenerio.Customer.ToString(), "0", "0", 0, oCompany.GetLastErrorCode().ToString(), oCompany.GetLastErrorDescription().Replace("'", ""), strLogger); } else { string strDkey; oCompany.GetNewObjectCode(out strDkey); Singleton.objSqlDataAccess.UpdateLog(sKey, TransScenerio.Customer.ToString(), strDkey, strDkey, 1, "", "Armada_Sync Completed Sucessfully", strLogger); } } else { Singleton.objSqlDataAccess.UpdateLog(sKey, TransScenerio.Customer.ToString(), "", "", 1, "", "Armada_Sync Completed Sucessfully(Customer Already Exist)", strLogger); } } } } catch (Exception ex) { //Singleton.objSqlDataAccess.UpdateLog(sKey, TransScenerio.Customer.ToString(), "0", "0", 0, "0", ex.Message.ToString(), strLogger); throw ex; } finally { oDS_S_OCRD = null; System.Runtime.InteropServices.Marshal.ReleaseComObject(oPartner); } }
public static string postDocument() { string outStr = ""; string strSOCandidate = "Select * from [@B1_ABC_ORDR] where isnull(U_SBOPosted,'N') = 'N'"; System.Data.DataTable dtOrders = ds.getDataTable(strSOCandidate); if (dtOrders != null && dtOrders.Rows.Count > 0) { foreach (System.Data.DataRow drOrder in dtOrders.Rows) { try { SAPbobsCOM.Documents Doc = (SAPbobsCOM.Documents)sboDI.oDiCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders); SAPbobsCOM.BusinessPartners bp = (SAPbobsCOM.BusinessPartners)sboDI.oDiCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); string cardCode = settings["WebCardCode"].ToString(); string slpCode = settings["WebSlpCode"].ToString(); bool bpexist = bp.GetByKey(settings["WebCardCode"].ToString()); // addBillTo(bp); addShipTo(bp, drOrder); Doc.CardCode = cardCode; Doc.DocDate = Convert.ToDateTime(drOrder["U_Date"]); Doc.DocDueDate = Convert.ToDateTime(drOrder["U_Date"]); Doc.SalesPersonCode = Convert.ToInt16(slpCode); Doc.PickRemark = drOrder["U_OrdNo"].ToString(); Doc.NumAtCard = drOrder["U_OrdNo"].ToString(); Doc.ShipToCode = "S-" + drOrder["U_ShipFirstName"].ToString() + " " + drOrder["U_ShipLastName"].ToString(); // Doc.PayToCode = dtCard.GetValue("BName", 0).ToString(); string strRdr1 = "Select * from [@B1_ABC_RDR1] where U_OrderID = '" + drOrder["Code"].ToString() + "'"; System.Data.DataTable dtRdr1 = ds.getDataTable(strRdr1); if (dtRdr1 != null && dtRdr1.Rows.Count > 0) { foreach (System.Data.DataRow drRdr1 in dtRdr1.Rows) { if (drRdr1["U_Code"].ToString() != "") { Doc.Lines.ItemCode = drRdr1["U_Code"].ToString(); Doc.Lines.ItemDescription = drRdr1["U_Title"].ToString(); //rs.Fields.Item("ItemName").Value; Doc.Lines.Quantity = Convert.ToDouble(drRdr1["U_Qty"]); Doc.Lines.PriceAfterVAT = Convert.ToDouble(drRdr1["U_OrigPrice"]); Doc.Lines.DiscountPercent = Convert.ToDouble(drRdr1["U_PriceDisc"]); Doc.Lines.Add(); } } } try { if (Doc.Add() != 0) { int erroCode = 0; string errDescr = ""; sboDI.oDiCompany.GetLastError(out erroCode, out errDescr); outStr = "Error:" + errDescr; string strUpdate = "Update [@B1_ABC_ORDR] set U_SBOPosted = 'N', U_SBOError='" + errDescr.Replace("'", "''") + "' where Code = '" + drOrder["Code"].ToString() + "' "; ds.ExecuteNonQuery(strUpdate); } else { outStr = Convert.ToString(sboDI.oDiCompany.GetNewObjectKey()); string strUpdate = "Update [@B1_ABC_ORDR] set U_SBOPosted = 'Y', U_SBOError='', U_SBOPostDT = getdate() where Code = '" + drOrder["Code"].ToString() + "' "; ds.ExecuteNonQuery(strUpdate); } } catch (Exception ex) { } finally { } } catch (Exception ex) { } } } return(outStr); }
private void Button0_ClickAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal) { SAPbouiCOM.Form oForm = oApp.Forms.ActiveForm; SAPbobsCOM.BusinessPartners sboBP = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); switch (Button0.Caption) { case "Add": // oForm = (SAPbouiCOM.Form)oApp.Forms.ActiveForm; sboBP.CardCode = EditText0.Value.ToString(); sboBP.CardName = EditText1.Value.ToString(); sboBP.FederalTaxID = EditText2.Value.ToString(); sboBP.CardType = SAPbobsCOM.BoCardTypes.cSupplier; sboBP.CardForeignName = EditText3.Value.ToString(); sboBP.Address = EditText4.Value.ToString(); sboBP.City = EditText5.Value.ToString(); sboBP.ZipCode = EditText6.Value.ToString(); sboBP.County = EditText8.Value.ToString(); sboBP.Phone1 = EditText9.Value.ToString(); sboBP.Phone2 = EditText10.Value.ToString(); sboBP.Fax = EditText11.Value.ToString(); sboBP.EmailAddress = EditText12.Value.ToString(); sboBP.Country = ComboBox2.Value.ToString(); //creo esta variable y tomo el valor seleccionado, ya que al convetirlo a string da problemas con los espacios string vlSelec = ComboBox0.Selected.Value; sboBP.PayTermsGrpCode = Convert.ToInt16(vlSelec); sboBP.HouseBankCountry = ComboBox4.Value.ToString(); sboBP.HouseBank = ComboBox1.Value.ToString(); sboBP.HouseBankAccount = ComboBox3.Value.ToString(); sboBP.HouseBankBranch = EditText18.Value.ToString(); //PeymentMethodCode y BPPaymentMethods , deben ir juntos ya que sap te pide un valor por defecto, que se guardan en la ocrd y crd2 sboBP.PeymentMethodCode = sValorGrid; sboBP.BPPaymentMethods.PaymentMethodCode = sValorGrid; //sboBP.Add(); int iRetVal = sboBP.Add(); // cuando viene un 1 significa que viene con error if (iRetVal != 0) { //eso muestra el ultimo error al usuario en la barra de abajo de sap oApp.SetStatusBarMessage("Error creando al Colaborador: " + oCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, true); } else { oApp.SetStatusBarMessage("Registro exitoso: " + EditText0.Value.ToString(), SAPbouiCOM.BoMessageTime.bmt_Medium, false); //Application.SBO_Application.ActivateMenuItem("1288"); } break; case "Update": if (sboBP.GetByKey(EditText0.Value.ToString())) { sboBP.CardName = EditText1.Value.ToString(); sboBP.FederalTaxID = EditText2.Value.ToString(); sboBP.CardType = SAPbobsCOM.BoCardTypes.cSupplier; sboBP.CardForeignName = EditText3.Value.ToString(); sboBP.Address = EditText4.Value.ToString(); sboBP.City = EditText5.Value.ToString(); sboBP.ZipCode = EditText6.Value.ToString(); sboBP.County = EditText8.Value.ToString(); sboBP.Phone1 = EditText9.Value.ToString(); sboBP.Phone2 = EditText10.Value.ToString(); sboBP.Fax = EditText11.Value.ToString(); sboBP.EmailAddress = EditText12.Value.ToString(); sboBP.Country = ComboBox2.Value.ToString(); //creo esta variable y tomo el valor seleccionado, ya que al convetirlo a string da problemas con los espacios string vlSelec1 = ComboBox0.Selected.Value; sboBP.PayTermsGrpCode = Convert.ToInt16(vlSelec1); sboBP.HouseBankCountry = ComboBox4.Value.ToString(); sboBP.HouseBank = ComboBox1.Value.ToString(); sboBP.HouseBankAccount = ComboBox3.Value.ToString(); sboBP.HouseBankBranch = EditText18.Value.ToString(); sboBP.PeymentMethodCode = sValorGrid; sboBP.BPPaymentMethods.PaymentMethodCode = sValorGrid; sboBP.FreeText = EditText19.Value.ToString(); int x = sboBP.Update(); if (x != 0) { //eso muestra el ultimo error al usuario en la barra de abajo de sap oApp.SetStatusBarMessage("Error actualizando al Colaborador: " + oCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, true); } else { oApp.SetStatusBarMessage("Actualización exitosa de : " + EditText0.Value.ToString(), SAPbouiCOM.BoMessageTime.bmt_Medium, false); //Application.SBO_Application.ActivateMenuItem("1288"); ////goto case "OK"; oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE; } } break; case "Find": //if (Button0.Caption == "Find") //{ if (EditText0.Value.ToString() != "") { grBusVlr(); } break; case "OK": // oForm.Mode = SAPbouiCOM.BoFormMode.fm_OK_MODE; // Muestra el formulario break; } }
public JsonResult CustomerSave(BusinessPartnerModel model, int mode = 0) { var jsonReturn = new JsonResponse(); using (var db = new FTTxEntities()) { try { string responseMessage = String.Empty; var sap = new FTTx(); model.Cellular = new StringBuilder(System.Text.RegularExpressions.Regex.Replace(model.Cellular, "[^0-9]", "")).ToString(); if (mode == 0) { string prefix = "C"; int newCode = 1; var lastCardCode = db.OCRD.Where(r => r.CardCode.Substring(0, 3) == prefix + model.ProvinceId).OrderByDescending(r => r.CardCode.Substring(4)).Select(r => r.CardCode.Substring(3)).FirstOrDefault(); if (lastCardCode != null) { newCode = int.Parse(lastCardCode) + 1; } model.CustomerCode = string.Format("{0}{1}{2}", prefix, model.ProvinceId, newCode.ToString().PadLeft(6, '0')); sap.Connecting(out responseMessage); if (sap.company.Connected) { SAPbobsCOM.BusinessPartners bp = (SAPbobsCOM.BusinessPartners)sap.company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); bp.GroupCode = 103; bp.CardType = SAPbobsCOM.BoCardTypes.cCustomer; bp.CardCode = model.CustomerCode; bp.CardName = model.CustomerName; bp.FederalTaxID = model.CardNo; bp.Frozen = model.FrozenFor == "Y" ? SAPbobsCOM.BoYesNoEnum.tYES : SAPbobsCOM.BoYesNoEnum.tNO; bp.Address = model.Address; bp.Block = model.District; bp.County = model.Amphur; bp.City = model.ProvinceName; bp.ZipCode = model.Zipcode; bp.Cellular = model.Cellular; bp.EmailAddress = model.Email; bp.MailAddress = model.Address; bp.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_ShipTo; bp.Addresses.AddressName = "Ship to"; bp.Addresses.Block = model.District; bp.Addresses.County = model.Amphur; bp.Addresses.City = model.ProvinceName; bp.Addresses.ZipCode = model.Zipcode; if (!string.IsNullOrEmpty(model.Cellular)) { bp.UserFields.Fields.Item("U_InsTel").Value = model.Cellular; } if (!string.IsNullOrEmpty(model.Address)) { bp.UserFields.Fields.Item("U_StmAddr").Value = bp.Address; } if (!string.IsNullOrEmpty(model.District)) { bp.UserFields.Fields.Item("U_StmBlck").Value = model.District; } if (!string.IsNullOrEmpty(model.Amphur)) { bp.UserFields.Fields.Item("U_StmCnty").Value = model.Amphur; } if (!string.IsNullOrEmpty(model.ProvinceName)) { bp.UserFields.Fields.Item("U_StmCity").Value = model.ProvinceName; } if (!string.IsNullOrEmpty(model.Zipcode)) { bp.UserFields.Fields.Item("U_StmZipC").Value = model.Zipcode; } if (!string.IsNullOrEmpty(model.Cellular)) { bp.UserFields.Fields.Item("U_Bphone").Value = model.Cellular; } if (0 != bp.Add()) { jsonReturn = new JsonResponse { status = false, message = sap.company.GetLastErrorDescription() }; } else { jsonReturn = new JsonResponse { status = true, message = "บันทึกข้อมูลเรียบร้อยแล้ว" }; } sap.company.Disconnect(); } else { jsonReturn = new JsonResponse() { status = false, message = responseMessage }; } } else { sap.Connecting(out responseMessage); if (sap.company.Connected) { SAPbobsCOM.BusinessPartners bp = (SAPbobsCOM.BusinessPartners)sap.company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); bp.GetByKey(model.CustomerCode); bp.CardName = model.CustomerName; bp.FederalTaxID = model.CardNo; bp.Frozen = model.FrozenFor == "Y" ? SAPbobsCOM.BoYesNoEnum.tYES : SAPbobsCOM.BoYesNoEnum.tNO; bp.Address = model.Address; bp.Block = model.District; bp.County = model.Amphur; bp.City = model.ProvinceName; bp.ZipCode = model.Zipcode; bp.Cellular = model.Cellular; bp.EmailAddress = model.Email; bp.MailAddress = model.Address; bp.Addresses.Block = model.District; bp.Addresses.County = model.Amphur; bp.Addresses.City = model.ProvinceName; bp.Addresses.ZipCode = model.Zipcode; if (!string.IsNullOrEmpty(model.Cellular)) { bp.UserFields.Fields.Item("U_InsTel").Value = model.Cellular; } if (!string.IsNullOrEmpty(model.Address)) { bp.UserFields.Fields.Item("U_StmAddr").Value = bp.Address; } if (!string.IsNullOrEmpty(model.District)) { bp.UserFields.Fields.Item("U_StmBlck").Value = model.District; } if (!string.IsNullOrEmpty(model.Amphur)) { bp.UserFields.Fields.Item("U_StmCnty").Value = model.Amphur; } if (!string.IsNullOrEmpty(model.ProvinceName)) { bp.UserFields.Fields.Item("U_StmCity").Value = model.ProvinceName; } if (!string.IsNullOrEmpty(model.Zipcode)) { bp.UserFields.Fields.Item("U_StmZipC").Value = model.Zipcode; } if (!string.IsNullOrEmpty(model.Cellular)) { bp.UserFields.Fields.Item("U_Bphone").Value = model.Cellular; } if (0 != bp.Update()) { jsonReturn = new JsonResponse { status = false, message = sap.company.GetLastErrorDescription() }; } else { jsonReturn = new JsonResponse { status = true, message = "บันทึกข้อมูลเรียบร้อยแล้ว" }; } sap.company.Disconnect(); } else { jsonReturn = new JsonResponse() { status = false, message = responseMessage }; } } } catch (Exception ex) { jsonReturn = new JsonResponse { status = false, message = ex.Message }; Log.Error(this.GetType().FullName + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + " Error -> " + ex.Message); } } return(Json(jsonReturn)); }
public static void GenearLeadSAP(string agente, string solicitud, string codigoAsistente, string nombreAsistente, int dia, int mes, int year, string telefono, string nombre, string apellidoP, string apellidoM, string direccion, string entreCalles, string municipio, string colonia, string observaciones, string nvoIngreso, string codigoPostal, string rfc, string esquema, ref string msgError, ref string CodigoActivacion) { SAPbobsCOM.BusinessPartners oSocioNegocio = null; string cardCodeGenerate = null; string nombreCompleto = null; Conexiones.ConexionSAP _oConnection = new Conexiones.ConexionSAP(); try { _oConnection = new Conexiones.ConexionSAP(); if (_oConnection.ConectarSAP(ref msgError)) { oCompany = _oConnection._oCompany; oCompany.StartTransaction(); nombreCompleto = nombre.TrimEnd(' ') + ' ' + apellidoP.TrimEnd(' ') + ' ' + apellidoM.TrimEnd(' '); oSocioNegocio = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); ObtenerDatosSolicitudValidacion(solicitud); oSocioNegocio.Series = DatosSolicitud.ElementAt(0).serieLead; oSocioNegocio.CardType = SAPbobsCOM.BoCardTypes.cLid; oSocioNegocio.GroupCode = ObtenerGrupoLead(); oSocioNegocio.CardName = nombreCompleto; oSocioNegocio.FederalTaxID = rfc; oSocioNegocio.DebitorAccount = Extensor.Configuracion.VENTANA.CuentaLead; oSocioNegocio.UserFields.Fields.Item("U_QCapturaContrato").Value = agente; oSocioNegocio.UserFields.Fields.Item("U_SolicitudInt").Value = solicitud; oSocioNegocio.UserFields.Fields.Item("U_CodigoPromotor").Value = codigoAsistente; oSocioNegocio.UserFields.Fields.Item("U_NomProm").Value = nombreAsistente; oSocioNegocio.UserFields.Fields.Item("U_Dia").Value = dia.ToString(); oSocioNegocio.UserFields.Fields.Item("U_Mes").Value = mes.ToString(); oSocioNegocio.UserFields.Fields.Item("U_Year").Value = year.ToString(); oSocioNegocio.UserFields.Fields.Item("U_ComentarioContrato").Value = observaciones; oSocioNegocio.UserFields.Fields.Item("U_PersonaNvoIngreso").Value = nvoIngreso; oSocioNegocio.UserFields.Fields.Item("U_NumArt_").Value = DatosSolicitud.ElementAt(0).plan; oSocioNegocio.UserFields.Fields.Item("U_Dsciption").Value = DatosSolicitud.ElementAt(0).nombrePlan; oSocioNegocio.UserFields.Fields.Item("U_PrefijoPlan").Value = DatosSolicitud.ElementAt(0).prefijoPlan; oSocioNegocio.UserFields.Fields.Item("U_FechaCaptura").Value = DateTime.Now.ToShortDateString(); oSocioNegocio.UserFields.Fields.Item("U_HoraCaptura").Value = DateTime.Now.ToString("HH:mm:ss"); oSocioNegocio.UserFields.Fields.Item("U_Esquema_pago").Value = esquema; if (nombreCompleto.Length > 70) { oSocioNegocio.UserFields.Fields.Item("U_BeneficiarioPagoRe").Value = nombreCompleto.ToString().Substring(1, 70); } else { oSocioNegocio.UserFields.Fields.Item("U_BeneficiarioPagoRe").Value = nombreCompleto; } oSocioNegocio.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo; oSocioNegocio.Addresses.AddressName = "DIRECCION 1"; oSocioNegocio.Addresses.AddressName2 = telefono; oSocioNegocio.Addresses.Street = direccion; oSocioNegocio.Addresses.BuildingFloorRoom = entreCalles; oSocioNegocio.Addresses.City = municipio; oSocioNegocio.Addresses.Block = colonia; oSocioNegocio.Addresses.ZipCode = codigoPostal; oSocioNegocio.Addresses.State = "JAL"; if (oSocioNegocio.Add() != 0) { msgError = "Error: " + oCompany.GetLastErrorDescription(); } else { oCompany.GetNewObjectCode(out cardCodeGenerate); msgError = ""; } } else { msgError = "Error: " + msgError; } } catch (Exception ex) { msgError = "Error: " + msgError + " : " + ex.Message; } finally { if (!msgError.Contains("Error")) { oCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_Commit); CodigoActivacion = ObtenerCodigoActivacionGenerado(cardCodeGenerate); msgError = "El código de activación es: " + CodigoActivacion; } else { oCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_RollBack); } if (oSocioNegocio != null) { GC.SuppressFinalize(oSocioNegocio); System.Runtime.InteropServices.Marshal.ReleaseComObject(oSocioNegocio); oSocioNegocio = null; } GC.Collect(); ClearMemory(); oCompany.Disconnect(); } }