Exemple #1
0
        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"));
        }
Exemple #2
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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.");
     }
 }
Exemple #8
0
        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));
        }
Exemple #9
0
        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);
        }
Exemple #11
0
        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);
            }
        }
Exemple #12
0
        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);
        }
Exemple #13
0
        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);
            }
        }
Exemple #14
0
        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);
            }
        }
Exemple #15
0
        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);
        }
Exemple #16
0
        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));
        }
Exemple #18
0
        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();
            }
        }