示例#1
0
        private void addBillTo(SAPbobsCOM.BusinessPartners bp)
        {
            int addressFound = 0;
            int addressCNt   = 0;

            for (int i = 0; i < bp.Addresses.Count; i++)
            {
                bp.Addresses.SetCurrentLine(i);
                if (bp.Addresses.AddressName == dtCard.GetValue("BName", 0) && bp.Addresses.AddressType == SAPbobsCOM.BoAddressType.bo_BillTo)
                {
                    bp.Addresses.Street = dtCard.GetValue("BStPO", 0).ToString();
                    bp.Addresses.City   = dtCard.GetValue("BCity", 0).ToString();
                    string statecode = StateCode(dtCard.GetValue("BState", 0).ToString());
                    if (statecode != "")
                    {
                        bp.Addresses.State = statecode;
                    }
                    bp.Addresses.ZipCode = dtCard.GetValue("BZip", 0).ToString();

                    addressFound = 1;
                }
                addressCNt++;
            }
            if (addressFound == 0)
            {
                bp.Addresses.Add();
                bp.Addresses.SetCurrentLine(addressCNt);

                bp.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo;
                bp.Addresses.AddressName = dtCard.GetValue("BName", 0).ToString();
                bp.Addresses.Street      = dtCard.GetValue("BStPO", 0).ToString();
                bp.Addresses.City        = dtCard.GetValue("BCity", 0).ToString();
                bp.Addresses.TaxCode     = "EX";

                string statecode = StateCode(dtCard.GetValue("BState", 0).ToString());
                if (statecode != "")
                {
                    bp.Addresses.State = statecode;
                }
                bp.Addresses.ZipCode = dtCard.GetValue("BZip", 0).ToString();
            }

            bp.Update();
        }
示例#2
0
        private void addShipTo(SAPbobsCOM.BusinessPartners bp)
        {
            int addressFound = 0;
            int addressCnt   = 0;

            for (int i = 0; i < bp.Addresses.Count; i++)
            {
                bp.Addresses.SetCurrentLine(i);
                if (bp.Addresses.AddressName == "S-" + dtCard.GetValue("SName", 0) && bp.Addresses.AddressType == SAPbobsCOM.BoAddressType.bo_ShipTo)
                {
                    bp.Addresses.ZipCode     = dtCard.GetValue("SZip", 0).ToString();
                    bp.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_ShipTo;
                    bp.Addresses.Street      = dtCard.GetValue("SStPO", 0).ToString();
                    bp.Addresses.City        = dtCard.GetValue("SCity", 0).ToString();
                    // bp.Addresses.TaxCode = "EX";

                    string statecode = StateCode(dtCard.GetValue("SState", 0).ToString());
                    if (statecode != "")
                    {
                        bp.Addresses.State = statecode;
                    }
                    addressFound = 1;
                }
                addressCnt++;
            }
            if (addressFound == 0)
            {
                bp.Addresses.Add();
                bp.Addresses.SetCurrentLine(addressCnt);

                bp.Addresses.AddressName = "S-" + dtCard.GetValue("SName", 0);
                bp.Addresses.ZipCode     = dtCard.GetValue("SZip", 0).ToString();
                bp.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_ShipTo;
                bp.Addresses.Street      = dtCard.GetValue("SStPO", 0).ToString();
                bp.Addresses.City        = dtCard.GetValue("SCity", 0).ToString();
                // bp.Addresses.TaxCode = "EX";

                string statecode = StateCode(dtCard.GetValue("SState", 0).ToString());
                if (statecode != "")
                {
                    bp.Addresses.State = statecode;
                }
                bp.Addresses.UserFields.Fields.Item("U_PhoneNum").Value = dtCard.GetValue("STel", 0).ToString();;  // sTel == null ? "" : sTel;
                bp.Addresses.UserFields.Fields.Item("U_EMail").Value    = dtCard.GetValue("BEmail", 0).ToString(); // sEmail == null ? "" : sEmail;
            }

            int result = bp.Update();

            if (result != 0)
            {
                int    erroCode = 0;
                string errDescr = "";
                Program.objHrmsUI.oCompany.GetLastError(out erroCode, out errDescr);
                if (errDescr.Contains("This entry already exists in the following tables"))
                {
                }
                else
                {
                    oApplication.StatusBar.SetText("Failed to post Order : " + errDescr);
                }
            }
            else
            {
                //  oApplication.StatusBar.SetText("Sales Order Posted Successfully for " + dtORDR.GetValue("WBID", 0), BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Success);
            }
        }
示例#3
0
        public async Task <IActionResult> PostBPMaster(BusinessPartnerVM VM)
        {
            bool IsCreate = true, IsRecordFound = false;

            SAPEntity.Instance.InitializeCompany();
            if (SAPEntity.Company.Connected)
            {
                SAPbobsCOM.BusinessPartners SAPBusinessPartner = (SAPbobsCOM.BusinessPartners)SAPEntity.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners);

                if (!string.IsNullOrEmpty(VM.cardcode) && SAPBusinessPartner.GetByKey(VM.cardcode))
                {
                    IsCreate = false;
                }
                else
                {
                    SAPBusinessPartner.CardCode = _BPrepo.GetNewCardCodeForLead("L");
                    SAPBusinessPartner.CardType = BoCardTypes.cLid;
                }

                if (VM.Type == "Portfolio")
                {
                    SAPBusinessPartner.CardType = BoCardTypes.cCustomer;
                }

                SAPBusinessPartner.CardName     = VM.cardname;
                SAPBusinessPartner.EmailAddress = VM.email;
                SAPBusinessPartner.Website      = VM.website;
                SAPBusinessPartner.Phone1       = VM.telephone;
                SAPBusinessPartner.Notes        = VM.sector;
                SAPBusinessPartner.Currency     = VM.currency;
                SAPBusinessPartner.FreeText     = VM.Notes;
                //adress
                for (var i = 0; i <= SAPBusinessPartner.Addresses.Count - 1; i++)
                {
                    IsRecordFound = false;
                    SAPBusinessPartner.Addresses.SetCurrentLine(i);
                    if (SAPBusinessPartner.Addresses.AddressName == VM.temp_address && SAPBusinessPartner.Addresses.AddressType == BoAddressType.bo_ShipTo &&
                        SAPBusinessPartner.Addresses.RowNum == Convert.ToInt32(VM.lineNum) && SAPBusinessPartner.Addresses.BPCode == SAPBusinessPartner.CardCode)
                    {
                        IsRecordFound = true;
                        break;
                    }
                }
                if (!IsRecordFound)
                {
                    SAPBusinessPartner.Addresses.SetCurrentLine(SAPBusinessPartner.Addresses.Count - 1);
                    if (!string.IsNullOrEmpty(SAPBusinessPartner.Addresses.AddressName))
                    {
                        SAPBusinessPartner.Addresses.Add();
                    }
                    SAPBusinessPartner.Addresses.SetCurrentLine(SAPBusinessPartner.Addresses.Count - 1);
                }
                SAPBusinessPartner.Addresses.SetCurrentLine(SAPBusinessPartner.Addresses.Count - 1);
                SAPBusinessPartner.Addresses.AddressType  = BoAddressType.bo_ShipTo;
                SAPBusinessPartner.Addresses.AddressName  = VM.adressname;
                SAPBusinessPartner.Addresses.Street       = VM.street;
                SAPBusinessPartner.Addresses.AddressName2 = VM.landmark;
                SAPBusinessPartner.Addresses.Country      = VM.country;
                SAPBusinessPartner.Addresses.State        = VM.state;
                SAPBusinessPartner.Addresses.City         = VM.city;
                SAPBusinessPartner.Addresses.ZipCode      = VM.zipcode;

                //GST
                if (!string.IsNullOrEmpty(VM.gstin))
                {
                    SAPBusinessPartner.Addresses.GstType = BoGSTRegnTypeEnum.gstRegularTDSISD;
                    SAPBusinessPartner.Addresses.GSTIN   = VM.gstin;
                }



                //Contact person

                if (!string.IsNullOrEmpty(VM.pfname))
                {
                    IsRecordFound = false;
                    for (var i = 0; i <= SAPBusinessPartner.ContactEmployees.Count - 1; i++)
                    {
                        SAPBusinessPartner.ContactEmployees.SetCurrentLine(i);
                        if (SAPBusinessPartner.ContactEmployees.InternalCode == Convert.ToInt32(VM.pcntctCode))
                        {
                            IsRecordFound = true;
                            SAPBusinessPartner.ContactEmployees.SetCurrentLine(i);
                            break;
                        }
                    }
                    if (!IsRecordFound)
                    {
                        SAPBusinessPartner.ContactEmployees.SetCurrentLine(SAPBusinessPartner.ContactEmployees.Count - 1);
                        if (!string.IsNullOrEmpty(SAPBusinessPartner.ContactEmployees.Name))
                        {
                            SAPBusinessPartner.ContactEmployees.Add();
                        }
                        SAPBusinessPartner.ContactEmployees.SetCurrentLine(SAPBusinessPartner.ContactEmployees.Count - 1);
                    }
                    SAPBusinessPartner.ContactEmployees.Name        = VM.pfname + " " + VM.plname;
                    SAPBusinessPartner.ContactEmployees.FirstName   = VM.pfname;
                    SAPBusinessPartner.ContactEmployees.LastName    = VM.plname;
                    SAPBusinessPartner.ContactEmployees.MobilePhone = VM.pmobile;
                    SAPBusinessPartner.ContactEmployees.E_Mail      = VM.pemail;
                    SAPBusinessPartner.ContactEmployees.Phone1      = VM.ptel;
                    SAPBusinessPartner.ContactEmployees.Position    = VM.pposition;
                }

                if (!string.IsNullOrEmpty(VM.sfname))
                {
                    IsRecordFound = false;
                    for (var i = 0; i <= SAPBusinessPartner.ContactEmployees.Count - 1; i++)
                    {
                        SAPBusinessPartner.ContactEmployees.SetCurrentLine(i);
                        if (SAPBusinessPartner.ContactEmployees.InternalCode == Convert.ToInt32(VM.scntctCode))
                        {
                            IsRecordFound = true;
                            SAPBusinessPartner.ContactEmployees.SetCurrentLine(i);
                            break;
                        }
                    }
                    if (!IsRecordFound)
                    {
                        SAPBusinessPartner.ContactEmployees.SetCurrentLine(SAPBusinessPartner.ContactEmployees.Count - 1);
                        if (!string.IsNullOrEmpty(SAPBusinessPartner.ContactEmployees.Name))
                        {
                            SAPBusinessPartner.ContactEmployees.Add();
                        }
                        SAPBusinessPartner.ContactEmployees.SetCurrentLine(SAPBusinessPartner.ContactEmployees.Count - 1);
                    }
                    SAPBusinessPartner.ContactEmployees.Title       = "Mr/Mrs";
                    SAPBusinessPartner.ContactEmployees.Name        = VM.sfname + " " + VM.slname;
                    SAPBusinessPartner.ContactEmployees.FirstName   = VM.sfname;
                    SAPBusinessPartner.ContactEmployees.LastName    = VM.slname;
                    SAPBusinessPartner.ContactEmployees.MobilePhone = VM.smobile;
                    SAPBusinessPartner.ContactEmployees.E_Mail      = VM.semail;
                    SAPBusinessPartner.ContactEmployees.Phone1      = VM.stel;
                    SAPBusinessPartner.ContactEmployees.Position    = VM.sposition;
                }


                if (!string.IsNullOrEmpty(VM.pan))
                {
                    IsRecordFound = false;
                    for (var i = 0; i <= SAPBusinessPartner.FiscalTaxID.Count - 1; i++)
                    {
                        SAPBusinessPartner.FiscalTaxID.SetCurrentLine(i);
                        if (SAPBusinessPartner.FiscalTaxID.BPCode == SAPBusinessPartner.CardCode && SAPBusinessPartner.FiscalTaxID.Address == SAPBusinessPartner.Address)
                        {
                            IsRecordFound = true;
                            break;
                        }
                    }

                    if (!IsRecordFound)
                    {
                        SAPBusinessPartner.FiscalTaxID.SetCurrentLine(SAPBusinessPartner.FiscalTaxID.Count - 1);
                        if (!string.IsNullOrEmpty(SAPBusinessPartner.FiscalTaxID.BPCode))
                        {
                            SAPBusinessPartner.FiscalTaxID.Add();
                        }
                        SAPBusinessPartner.FiscalTaxID.SetCurrentLine(SAPBusinessPartner.FiscalTaxID.Count - 1);
                    }

                    SAPBusinessPartner.FiscalTaxID.TaxId0 = VM.pan;
                }

                if (IsCreate)
                {
                    if (SAPBusinessPartner.Add() == 0)
                    {
                        string ObjCode;
                        SAPEntity.Company.GetNewObjectCode(out ObjCode);
                        return(StatusCode(201));
                    }
                    else
                    {
                        string Message = SAPEntity.Company.GetLastErrorDescription();
                        return(BadRequest(Message));
                    }
                }
                else
                {
                    if (SAPBusinessPartner.Update() == 0)
                    {
                        string ObjCode;
                        SAPEntity.Company.GetNewObjectCode(out ObjCode);
                        return(StatusCode(201));
                    }
                    else
                    {
                        string Message = SAPEntity.Company.GetLastErrorDescription();
                        return(BadRequest(Message));
                    }
                }
            }

            return(BadRequest("not able to connect sap."));
        }