Exemplo n.º 1
0
        public Model.BusinessPartnerModel Get(string cardCode)
        {
            Model.BusinessPartnerModel businessPartnerModel = new Model.BusinessPartnerModel();

            BusinessPartners businessPartner = (BusinessPartners)Controller.ConnectionController.Instance.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners);

            try
            {
                if (businessPartner.GetByKey(cardCode))
                {
                    businessPartnerModel.CardCode = businessPartner.CardCode;
                    businessPartnerModel.SlpCode  = businessPartner.SalesPersonCode;

                    for (int userField = 0; userField < businessPartner.UserFields.Fields.Count; userField++)
                    {
                        businessPartnerModel.UserFields.Add(businessPartner.UserFields.Fields.Item(userField).Name, businessPartner.UserFields.Fields.Item(userField).Value);
                    }
                }
            }
            finally
            {
                Marshal.ReleaseComObject(businessPartner);
                GC.Collect();
            }

            return(businessPartnerModel);
        }
Exemplo n.º 2
0
        public int Update(oBusinessPartner obj)
        {
            BusinessPartners _bp = (BusinessPartners)SboComObject.GetBusinessObject(BoObjectTypes.oBusinessPartners);

            try
            {
                SboComObject.StartTransaction();

                int retCode = 0;

                _bp.GetByKey(obj.CardCode);

                _bp.CardName      = obj.CardName;
                _bp.Address       = obj.Address;
                _bp.ContactPerson = obj.CntctPerson;
                _bp.Cellular      = obj.Cellular;
                _bp.Phone1        = obj.Phone1;
                _bp.Phone2        = obj.Phone2;
                _bp.EmailAddress  = obj.Email;

                retCode = _bp.Update();

                if (retCode != 0)
                {
                    int    errCode    = 0;
                    string errMessage = "";
                    SboComObject.GetLastError(out errCode, out errMessage);
                    GlobalInstance.Instance.SBOErrorCode    = errCode;
                    GlobalInstance.Instance.SBOErrorMessage = errMessage;

                    SboComObject.EndTransaction(BoWfTransOpt.wf_RollBack);
                }
                else
                {
                    SboComObject.EndTransaction(BoWfTransOpt.wf_Commit);
                }

                return(retCode);
            }
            catch (Exception ex)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(_bp);
                throw new Exception(GlobalInstance.Instance.SBOErrorMessage == null ? ex.Message : GlobalInstance.Instance.SBOErrorMessage);
            }
            finally
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(_bp);
            }
        }
        public string GetBPUF(string cardCode)
        {
            BusinessPartners bp = (BusinessPartners)SBOApp.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners);
            string           uf = String.Empty;

            if (bp.GetByKey(cardCode))
            {
                for (int i = 0; i < bp.Addresses.Count; i++)
                {
                    bp.Addresses.SetCurrentLine(i);
                    if (bp.Addresses.AddressName == bp.ShipToDefault)
                    {
                        uf = bp.Addresses.State;
                    }
                }
            }
            return(uf);
        }
Exemplo n.º 4
0
        public void Save(Model.BusinessPartnerModel businessPartnerModel)
        {
            BusinessPartners businessPartner = (BusinessPartners)Controller.ConnectionController.Instance.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners);

            try
            {
                if (businessPartner.GetByKey(businessPartnerModel.CardCode))
                {
                    if (businessPartnerModel.SlpCode == 0)
                    {
                        businessPartner.SalesPersonCode = -1;
                    }
                    else
                    {
                        businessPartner.SalesPersonCode = businessPartnerModel.SlpCode;
                    }

                    if (businessPartnerModel.OwnerCode == 0)
                    {
                        businessPartner.OwnerCode = -1;
                    }
                    else
                    {
                        businessPartner.OwnerCode = businessPartnerModel.OwnerCode;
                    }

                    foreach (KeyValuePair <string, dynamic> userField in businessPartnerModel.UserFields)
                    {
                        businessPartner.UserFields.Fields.Item(userField.Key).Value = userField.Value;
                    }

                    businessPartner.Update();

                    Controller.ConnectionController.Instance.VerifyBussinesObjectSuccess();
                }
            }
            finally
            {
                Marshal.ReleaseComObject(businessPartner);
                GC.Collect();
            }
        }
Exemplo n.º 5
0
        private void CreateXml()
        {
            BusinessPartners cliente = _con.Comany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

            _con.Comany.XmlExportType = BoXmlExportTypes.xet_ExportImportMode;

            var exist = cliente.GetByKey("C20000");

            if (exist)
            {
                xml = String.Format("{0}/{1}.xml", AppDomain.CurrentDomain.BaseDirectory, cliente.CardCode);
                cliente.SaveXML(xml);

                linkLabel1.Text = xml;
            }
            else
            {
                MessageBox.Show("Parceiro não cadastrado");
            }
        }
Exemplo n.º 6
0
        public void InitializeObject(string cardCode, BoCardTypes cardType = BoCardTypes.cCustomer, bool autoSeries = false)
        {
            _businessObject = (BusinessPartners)Controller.ConnectionController.Instance.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners);

            if (cardCode == null)
            {
                cardCode = string.Empty;
            }

            if (!_businessObject.GetByKey(cardCode))
            {
                _newObject = true;
                _businessObject.CardCode = cardCode;
                _businessObject.CardType = cardType;

                if (autoSeries)
                {
                    _businessObject.Series = B1Base.Controller.ConnectionController.Instance.ExecuteSqlForObject <int>("GetAutoSeries", ((int)Model.EnumObjType.BusinessPartner).ToString(),
                                                                                                                       cardType == BoCardTypes.cCustomer ? "C" : "S");
                }
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Mass Invoicing
        /// </summary>
        /// <param name="invoice"></param>
        /// <returns></returns>
        public static ResultDTO CreateDraft(DocumentDTO invoice, UserValues user, FloorService floorServiceItem, string type)
        {
            var result           = new ResultDTO();
            var massInvoicingDAO = new MassInvoicingDAO();
            var distributionDAO  = new DistributionDAO();
            var objectCode       = "13";
            var containMainUsage = true;

            try {
                Documents lObjDocInvDrf = (Documents)DIApplication.Company.GetBusinessObject(BoObjectTypes.oDrafts); //ODRF

                var task = Task.Run(() => {
                    lObjDocInvDrf.CardCode      = invoice.Document.Code;
                    lObjDocInvDrf.CardName      = invoice.Document.Name;
                    lObjDocInvDrf.PaymentMethod = "99";

                    BusinessPartners BPartner = (BusinessPartners)DIApplication.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners);
                    BPartner.GetByKey(lObjDocInvDrf.CardCode);

                    if (BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value.ToString() == "")
                    {
                        BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = "P01";
                        containMainUsage = false;
                    }
                    lObjDocInvDrf.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = BPartner.UserFields.Fields.Item("U_B1SYS_MainUsage").Value;


                    //lObjDocInvDrf.UserFields.Fields.Item("U_B1SYS_MainUsage").Value = "Por Definir";
                    lObjDocInvDrf.UserFields.Fields.Item("U_PE_Origin").Value = type;
                    lObjDocInvDrf.DocObjectCode      = BoObjectTypes.oInvoices;
                    lObjDocInvDrf.PaymentGroupCode   = massInvoicingDAO.GetPayCondition(invoice.Document.Code);
                    lObjDocInvDrf.Series             = distributionDAO.GetSeries(user.WhsCode, objectCode);
                    lObjDocInvDrf.EDocGenerationType = EDocGenerationTypeEnum.edocGenerate;
                });

                var task2 = Task.Factory.StartNew(() => {
                    foreach (var line in invoice.FloorServiceLines)
                    {
                        lObjDocInvDrf.Lines.ItemCode      = floorServiceItem.ItemCode;
                        lObjDocInvDrf.Lines.WarehouseCode = line.Corral;
                        lObjDocInvDrf.Lines.Quantity      = (line.Existence * line.TotalDays);
                        lObjDocInvDrf.Lines.Price         = floorServiceItem.Price;
                        lObjDocInvDrf.Lines.CostingCode   = user.Area;
                        lObjDocInvDrf.Lines.UserFields.Fields.Item("U_SU_BatchAuc").Value = line.Batch;
                        lObjDocInvDrf.Lines.Add();
                    }

                    foreach (var line in invoice.DeliveryLines)
                    {
                        lObjDocInvDrf.Lines.ItemCode    = line.ItemCode;
                        lObjDocInvDrf.Lines.Quantity    = line.Quantity;
                        lObjDocInvDrf.Lines.Price       = line.Price;
                        lObjDocInvDrf.Lines.CostingCode = user.Area;
                        lObjDocInvDrf.Lines.BaseEntry   = line.DocEntry;
                        lObjDocInvDrf.Lines.BaseLine    = line.LineNum;
                        lObjDocInvDrf.Lines.BaseType    = 15; //ODLN
                        lObjDocInvDrf.Lines.Add();
                    }
                });

                //lObjDocInvDrf.EDocGenerationType = SAPbobsCOM.EDocGenerationTypeEnum.edocGenerate;
                //lObjDocInvDrf.EDocExportFormat = 9;
                Task.WaitAll(task, task2);



                if (lObjDocInvDrf.Add() != 0)
                {
                    LogService.WriteError("InvoiceDI (Draft) " + DIApplication.Company.GetLastErrorDescription());
                    result.Success = false;
                    result.Message = "Error: " + DIApplication.Company.GetLastErrorDescription();
                }
                else
                {
                    string lStrDocEntry = DIApplication.Company.GetNewObjectKey();

                    result.Success = true;
                    result.Message = DIApplication.Company.GetNewObjectKey();
                    if (containMainUsage == false)
                    {
                        result.Success = true;
                        result.Message = DIApplication.Company.GetNewObjectKey();
                        SAPbouiCOM.Framework.Application.SBO_Application.StatusBar.SetText("El socio de negocios no contenia Uso de CFDI, se asigno le asigno por default 'Por Definir'"
                                                                                           , SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success);
                    }
                }
            }
            catch (AggregateException ae) {
                LogService.WriteInfo(String.Format("Error: {0}", ae.Message));
                LogService.WriteError(ae);

                ae.Handle(e => {
                    HandleException(e, "InvoiceDI(Draft)");
                    result.Message = "Error: " + e.Message;
                    result.Success = false;
                    return(true);
                });
            }
            catch (Exception ex) {
                HandleException(ex, "InvoiceDI(Draft)");
                result.Message = "Error: " + ex.Message;
                result.Success = false;
            }
            return(result);
        }
Exemplo n.º 8
0
        public void InserirBusinessPartner(SAPbobsCOM.Company company, Order pedido, out string messageError)
        {
            int addBPNumber = 0;

            string  document    = string.Empty;
            Boolean isCorporate = false;

            if (pedido.buyer.billing_info.doc_type != null && pedido.buyer.billing_info.doc_type.Equals("CNPJ"))
            {
                if (pedido.buyer.billing_info.doc_number != null)
                {
                    document    = pedido.buyer.billing_info.doc_number;
                    isCorporate = true;
                }
            }
            else if (pedido.buyer.billing_info.doc_type != null && pedido.buyer.billing_info.doc_type.Equals("CPF"))
            {
                if (pedido.buyer.billing_info.doc_number != null)
                {
                    document = pedido.buyer.billing_info.doc_number;
                }
            }

            try
            {
                CountyDAL countyDAL = new CountyDAL();

                this.oCompany = company;

                int    _groupCode            = Convert.ToInt32(ConfigurationManager.AppSettings["GroupCode"]);
                int    _splCode              = Convert.ToInt32(ConfigurationManager.AppSettings["SlpCode"]);
                int    _QoP                  = Convert.ToInt32(ConfigurationManager.AppSettings["QoP"]);
                int    groupNum              = Convert.ToInt32(ConfigurationManager.AppSettings["GroupNum"]);
                string indicadorIE           = ConfigurationManager.AppSettings["IndicadorIE"];
                string indicadorOpConsumidor = ConfigurationManager.AppSettings["IndicadorOpConsumidor"];
                string gerente               = ConfigurationManager.AppSettings["Gerente"];
                int    priceList             = Convert.ToInt32(ConfigurationManager.AppSettings["PriceList"]);
                string cardCodePrefix        = ConfigurationManager.AppSettings["CardCodePrefix"];
                int    categoriaCliente      = Convert.ToInt32(ConfigurationManager.AppSettings["CategoriaCliente"]);

                this.log.WriteLogPedido("Inserindo Cliente " + cardCodePrefix + document);

                BusinessPartners oBusinessPartner = null;
                oBusinessPartner = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                BusinessPartners oBusinessPartnerUpdateTest = null;
                oBusinessPartnerUpdateTest = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                if (oBusinessPartnerUpdateTest.GetByKey(cardCodePrefix + document))
                {
                    oBusinessPartner = oBusinessPartnerUpdateTest;
                }

                //Setando campos padrões
                oBusinessPartner.CardCode = cardCodePrefix + document;

                oBusinessPartner.CardName     = pedido.buyer.first_name + " " + pedido.buyer.last_name;
                oBusinessPartner.EmailAddress = pedido.buyer.email;

                oBusinessPartner.CardType        = BoCardTypes.cCustomer;
                oBusinessPartner.GroupCode       = _groupCode;
                oBusinessPartner.SalesPersonCode = _splCode;
                oBusinessPartner.PayTermsGrpCode = groupNum;
                oBusinessPartner.PriceListNum    = priceList;
                //oBusinessPartner.CardForeignName = "Teste";

                //Setando campos de usuário
                oBusinessPartner.UserFields.Fields.Item("U_TX_IndIEDest").Value     = indicadorIE;
                oBusinessPartner.UserFields.Fields.Item("U_TX_IndFinal").Value      = indicadorOpConsumidor;
                oBusinessPartner.UserFields.Fields.Item("U_Gerente").Value          = gerente;
                oBusinessPartner.UserFields.Fields.Item("U_CategoriaCliente").Value = gerente;


                //removendo o +55
                if (pedido.buyer.phone != null)
                {
                    if (pedido.buyer.phone.number != null)
                    {
                        oBusinessPartner.Phone1 = pedido.buyer.phone.number;
                    }
                }
                string codMunicipio = string.Empty;

                Repositorio repositorio = new Repositorio();

                Shipments shipment = null;

                Task <HttpResponseMessage> responseShipment = repositorio.BuscarShipmentById(pedido.shipping.id);

                if (responseShipment.Result.IsSuccessStatusCode)
                {
                    var jsonShipment = responseShipment.Result.Content.ReadAsStringAsync().Result;

                    shipment = JsonConvert.DeserializeObject <Shipments>(jsonShipment);

                    if (shipment.receiver_address != null)
                    {
                        codMunicipio = countyDAL.RecuperarCodigoMunicipio(shipment.receiver_address.city.name, this.oCompany);
                    }
                }

                //Inserindo endereços
                //COBRANÇA
                oBusinessPartner.Addresses.SetCurrentLine(0);
                oBusinessPartner.Addresses.AddressType = BoAddressType.bo_BillTo;
                oBusinessPartner.Addresses.AddressName = "COBRANCA";

                if (shipment != null)
                {
                    oBusinessPartner.Addresses.City = shipment.receiver_address.city.name;

                    if (shipment.receiver_address.comment != null && shipment.receiver_address.comment.Length <= 100)
                    {
                        oBusinessPartner.Addresses.BuildingFloorRoom = shipment.receiver_address.comment;
                    }

                    //oBusinessPartner.Addresses.Country = "1058";
                    if (shipment.receiver_address.neighborhood.name != null)
                    {
                        oBusinessPartner.Addresses.Block = shipment.receiver_address.neighborhood.name;
                    }

                    oBusinessPartner.Addresses.StreetNo = shipment.receiver_address.street_number;
                    oBusinessPartner.Addresses.ZipCode  = shipment.receiver_address.zip_code;
                    oBusinessPartner.Addresses.State    = shipment.receiver_address.state.id.Substring(3);
                    oBusinessPartner.Addresses.Street   = shipment.receiver_address.street_name;
                    oBusinessPartner.Addresses.County   = codMunicipio;
                    //oBusinessPartner.Addresses.Country = "br";
                }

                //FATURAMENTO
                oBusinessPartner.Addresses.SetCurrentLine(1);
                oBusinessPartner.Addresses.AddressType = BoAddressType.bo_ShipTo;
                oBusinessPartner.Addresses.AddressName = "FATURAMENTO";

                if (shipment != null)
                {
                    oBusinessPartner.Addresses.City = shipment.receiver_address.city.name;

                    if (shipment.receiver_address.comment != null && shipment.receiver_address.comment.Length <= 100)
                    {
                        oBusinessPartner.Addresses.BuildingFloorRoom = shipment.receiver_address.comment;
                    }

                    //oBusinessPartner.Addresses.Country = "1058";
                    if (shipment.receiver_address.neighborhood.name != null)
                    {
                        oBusinessPartner.Addresses.Block = shipment.receiver_address.neighborhood.name;
                    }

                    oBusinessPartner.Addresses.StreetNo = shipment.receiver_address.street_number;
                    oBusinessPartner.Addresses.ZipCode  = shipment.receiver_address.zip_code;
                    oBusinessPartner.Addresses.State    = shipment.receiver_address.state.id.Substring(3);
                    oBusinessPartner.Addresses.Street   = shipment.receiver_address.street_name;
                    oBusinessPartner.Addresses.County   = codMunicipio;
                    //oBusinessPartner.Addresses.Country = "br";
                }

                #region ENDEREÇO FOR

                /*
                 * for (int i = 0; i < 2; i++)
                 * {
                 *  if (i > 0)
                 *  {
                 *      oBusinessPartner.Addresses.SetCurrentLine(i);
                 *      oBusinessPartner.Addresses.AddressType = BoAddressType.bo_ShipTo;
                 *      oBusinessPartner.Addresses.AddressName = "FATURAMENTO";
                 *  }
                 *  else
                 *  {
                 *      oBusinessPartner.Addresses.SetCurrentLine(i);
                 *      oBusinessPartner.Addresses.AddressType = BoAddressType.bo_BillTo;
                 *      oBusinessPartner.Addresses.AddressName = "COBRANCA";
                 *
                 *      if (!oBusinessPartnerUpdateTest.GetByKey(cardCodePrefix + document))
                 *      {
                 *          oBusinessPartner.Addresses.Add();
                 *      }
                 *  }
                 *
                 *  if (shipment != null)
                 *  {
                 *      oBusinessPartner.Addresses.City = shipment.receiver_address.city.name;
                 *
                 *      if (shipment.receiver_address.comment != null && shipment.receiver_address.comment.Length <= 100)
                 *      {
                 *          oBusinessPartner.Addresses.BuildingFloorRoom = shipment.receiver_address.comment;
                 *      }
                 *
                 *      //oBusinessPartner.Addresses.Country = "1058";
                 *      if (shipment.receiver_address.neighborhood.name != null)
                 *      {
                 *          oBusinessPartner.Addresses.Block = shipment.receiver_address.neighborhood.name;
                 *      }
                 *
                 *      oBusinessPartner.Addresses.StreetNo = shipment.receiver_address.street_number;
                 *      oBusinessPartner.Addresses.ZipCode = shipment.receiver_address.zip_code;
                 *      oBusinessPartner.Addresses.State = shipment.receiver_address.state.id.Substring(3);
                 *      oBusinessPartner.Addresses.Street = shipment.receiver_address.street_name;
                 *      oBusinessPartner.Addresses.County = codMunicipio;
                 *      //oBusinessPartner.Addresses.Country = "br";
                 *  }
                 *
                 * }*/
                #endregion

                #region código de endereço antigo

                /*oBusinessPartner.Addresses.SetCurrentLine(0);
                 * oBusinessPartner.Addresses.AddressName = "COBRANCA";
                 * oBusinessPartner.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo;
                 *
                 * oBusinessPartner.Addresses.Street = endereco.street;
                 * oBusinessPartner.Addresses.Block = endereco.neighborhood;
                 * oBusinessPartner.Addresses.ZipCode = endereco.postalCode;
                 * oBusinessPartner.Addresses.City = endereco.city;
                 * oBusinessPartner.Addresses.Country = "BR";
                 * oBusinessPartner.Addresses.State = endereco.state;
                 * oBusinessPartner.Addresses.BuildingFloorRoom = endereco.complement;
                 * oBusinessPartner.Addresses.StreetNo = endereco.number;
                 *
                 * oBusinessPartner.Addresses.Add();
                 *
                 * oBusinessPartner.Addresses.SetCurrentLine(1);
                 * oBusinessPartner.Addresses.AddressName = "FATURAMENTO";
                 * oBusinessPartner.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_ShipTo;
                 *
                 * oBusinessPartner.Addresses.Street = endereco.street;
                 * oBusinessPartner.Addresses.Block = endereco.neighborhood;
                 * oBusinessPartner.Addresses.ZipCode = endereco.postalCode;
                 * oBusinessPartner.Addresses.City = endereco.city;
                 * oBusinessPartner.Addresses.Country = "BR";
                 * oBusinessPartner.Addresses.State = endereco.state;
                 * oBusinessPartner.Addresses.BuildingFloorRoom = endereco.complement;
                 * oBusinessPartner.Addresses.StreetNo = endereco.number;*/
                //oBusinessPartner.Addresses.Add();
                #endregion

                oBusinessPartner.BilltoDefault = "COBRANCA";
                oBusinessPartner.ShipToDefault = "FATURAMENTO";

                BusinessPartners oBusinessPartnerUpdate = null;
                oBusinessPartnerUpdate = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                if (oBusinessPartnerUpdate.GetByKey(cardCodePrefix + document))
                {
                    addBPNumber = oBusinessPartner.Update();

                    if (addBPNumber != 0)
                    {
                        messageError = oCompany.GetLastErrorDescription();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, cardCodePrefix + document, EnumStatusIntegracao.Erro, messageError);
                        //this.log.WriteLogCliente("InserirBusinessPartner error SAP: " + messageError);
                    }
                    else
                    {
                        messageError = "";
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, cardCodePrefix + document, EnumStatusIntegracao.Sucesso, "Cliente atualizado com sucesso.");
                        //this.Log.WriteLogCliente("BusinessPartner " + cardCodePrefix + document + " atualizado com sucesso.");

                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartner);
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdate);
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdateTest);
                    }
                }
                else
                {
                    //Setando informações Fiscais
                    //oBusinessPartner.FiscalTaxID.SetCurrentLine(0);
                    if (isCorporate)
                    {
                        oBusinessPartner.FiscalTaxID.TaxId0 = document;
                    }
                    else
                    {
                        oBusinessPartner.FiscalTaxID.TaxId4 = document;
                        oBusinessPartner.FiscalTaxID.TaxId1 = "Isento";
                    }
                    //oBusinessPartner.FiscalTaxID.Address = "FATURAMENTO";
                    //oBusinessPartner.FiscalTaxID.Add();

                    addBPNumber = oBusinessPartner.Add();

                    if (addBPNumber != 0)
                    {
                        messageError = oCompany.GetLastErrorDescription();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, "", EnumStatusIntegracao.Erro, messageError);
                        //Log.WriteLogCliente("InserirBusinessPartner error SAP: " + messageError);
                    }
                    else
                    {
                        string CardCode = oCompany.GetNewObjectKey();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, CardCode, EnumStatusIntegracao.Sucesso, "Cliente inserido com sucesso.");
                        //Log.WriteLogCliente("BusinessPartner " + cardCodePrefix +CardCode + " inserido com sucesso.");
                        messageError = "";
                    }
                }
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartner);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdateTest);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdate);
            }
            catch (Exception e)
            {
                this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, "", EnumStatusIntegracao.Erro, e.Message);
                this.log.WriteLogPedido("InserirBusinessPartner Exception: " + e.Message);
                throw;
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Cancelar LCM
        /// </summary>
        /// <param name="Caminho"></param>
        ///
        public void LerArquivo(string Caminho)
        {
            using (OpenFileDialog openfileDialog = new OpenFileDialog())
            {
                string PorLinha = null;
                openfileDialog.Title            = "Integração SAP";
                openfileDialog.InitialDirectory = Convert.ToString(Caminho);
                openfileDialog.Filter           = "All files (*.*)|*.*|All files (*.*)|*.*";
                openfileDialog.FilterIndex      = 2;
                openfileDialog.RestoreDirectory = true;

                if (openfileDialog.ShowDialog() == DialogResult.OK)
                {
                    arquivo = openfileDialog.FileName;
                }

                if (string.IsNullOrEmpty(arquivo))
                {
                    MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK);
                }
                else
                {
                    using (StreamReader texto = new StreamReader(arquivo))
                    {
                        List <string> TextoPorLinha = new List <string>();

                        while ((PorLinha = texto.ReadLine()) != null)
                        {
                            TextoPorLinha.Add(PorLinha);
                        }

                        if (GlobalConection.oCompany.Connected == true)
                        {
                            foreach (var nota in TextoPorLinha)
                            {
                                // var cJE = (JournalEntries)GlobalConection.oCompany.GetBusinessObject(BoObjectTypes.oJournalVouchers);

                                //JournalEntries cJE = (JournalEntries)GlobalConection.oCompany.GetBusinessObject(BoObjectTypes.oJournalEntries);

                                // cJE.GetByKey(Convert.ToInt32(nota));

                                //Items citms = (Items)GlobalConection.oCompany.GetBusinessObject(BoObjectTypes.oItems);

                                BusinessPartners cPN = (BusinessPartners)GlobalConection.oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);


                                cPN.GetByKey(nota);
                                //citms.GetByKey(nota);


                                //Documents cancelJE = cJE.CreateCancellationDocument();

                                bool resultado;
                                //resultado = citms.GetByKey(nota);
                                resultado = cPN.GetByKey(nota);

                                if (resultado == false)
                                {
                                    string msg = GlobalConection.oCompany.GetLastErrorDescription();
                                    //MessageBox.Show(msg);
                                }
                                else
                                {
                                    // MessageBox.Show("LCM cancelado com sucesso");
                                    //citms.Remove();
                                    cPN.Remove();
                                    // MessageBox.Show("item cancelado com sucesso");
                                }
                            }

                            //MessageBox.Show("item cancelado com sucesso");
                        }



                        else
                        {
                            MessageBox.Show("Não está conectado!!");
                        }
                    }
                }
            }
        }
        public void InserirBusinessPartner(SAPbobsCOM.Company company, OrderPluggto pedido, out string messageError)
        {
            int addBPNumber = 0;

            string  document    = string.Empty;
            Boolean isCorporate = false;

            //Boolean marketPlace = false;

            if (!String.IsNullOrEmpty(pedido.Order.payer_cpf))
            {
                document = pedido.Order.payer_cpf;
            }
            else if (!String.IsNullOrEmpty(pedido.Order.payer_cnpj))
            {
                document    = pedido.Order.payer_cnpj;
                isCorporate = true;
            }

            try
            {
                CountyDAL countyDAL = new CountyDAL();

                this.oCompany = company;

                int    _groupCode            = Convert.ToInt32(ConfigurationManager.AppSettings["GroupCode"]);
                int    _splCode              = Convert.ToInt32(ConfigurationManager.AppSettings["SlpCode"]);
                int    _QoP                  = Convert.ToInt32(ConfigurationManager.AppSettings["QoP"]);
                int    groupNum              = Convert.ToInt32(ConfigurationManager.AppSettings["GroupNum"]);
                string indicadorIE           = ConfigurationManager.AppSettings["IndicadorIE"];
                string indicadorOpConsumidor = ConfigurationManager.AppSettings["IndicadorOpConsumidor"];
                string gerente               = ConfigurationManager.AppSettings["Gerente"];
                int    priceList             = Convert.ToInt32(ConfigurationManager.AppSettings["PriceList"]);
                string cardCodePrefix        = ConfigurationManager.AppSettings["CardCodePrefix"];
                int    categoriaCliente      = Convert.ToInt32(ConfigurationManager.AppSettings["CategoriaCliente"]);

                this.log.WriteLogPedido("Inserindo Cliente " + cardCodePrefix + document);

                BusinessPartners oBusinessPartner = null;
                oBusinessPartner = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                BusinessPartners oBusinessPartnerUpdateTest = null;
                oBusinessPartnerUpdateTest = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                if (oBusinessPartnerUpdateTest.GetByKey(cardCodePrefix + document))
                {
                    oBusinessPartner = oBusinessPartnerUpdateTest;
                }

                //Setando campos padrões
                oBusinessPartner.CardCode = cardCodePrefix + document;

                if (isCorporate)
                {
                    oBusinessPartner.CardForeignName = pedido.Order.payer_razao_social;
                }

                oBusinessPartner.CardName = pedido.Order.receiver_name + " " + pedido.Order.receiver_lastname;

                oBusinessPartner.EmailAddress = pedido.Order.receiver_email;

                oBusinessPartner.CardType        = BoCardTypes.cCustomer;
                oBusinessPartner.GroupCode       = _groupCode;
                oBusinessPartner.SalesPersonCode = _splCode;
                oBusinessPartner.PayTermsGrpCode = groupNum;
                oBusinessPartner.PriceListNum    = priceList;
                //oBusinessPartner.CardForeignName = "Teste";

                //Setando campos de usuário
                oBusinessPartner.UserFields.Fields.Item("U_TX_IndIEDest").Value     = indicadorIE;
                oBusinessPartner.UserFields.Fields.Item("U_TX_IndFinal").Value      = indicadorOpConsumidor;
                oBusinessPartner.UserFields.Fields.Item("U_Gerente").Value          = gerente;
                oBusinessPartner.UserFields.Fields.Item("U_CategoriaCliente").Value = gerente;

                if (!string.IsNullOrEmpty(pedido.Order.receiver_phone_area))
                {
                    oBusinessPartner.Phone2 = pedido.Order.receiver_phone_area;
                }

                //removendo o ddd
                if (!String.IsNullOrEmpty(pedido.Order.receiver_phone))
                {
                    if (pedido.Order.receiver_phone.Length >= 9)
                    {
                        oBusinessPartner.Cellular = pedido.Order.receiver_phone.Substring(2);
                    }
                    else
                    {
                        oBusinessPartner.Cellular = pedido.Order.receiver_phone;
                    }
                }
                else if (!String.IsNullOrEmpty(pedido.Order.receiver_phone2))
                {
                    if (pedido.Order.receiver_phone2.Length >= 9)
                    {
                        //oBusinessPartner.Phone1 = cliente.homePhone.Substring(2);
                        oBusinessPartner.Phone1 = pedido.Order.receiver_phone2.Substring(2);
                    }
                    else
                    {
                        //oBusinessPartner.Phone1 = cliente.homePhone.Substring(2);
                        oBusinessPartner.Phone1 = pedido.Order.receiver_phone2;
                    }
                }

                string codMunicipio = string.Empty;

                codMunicipio = countyDAL.RecuperarCodigoMunicipio(pedido.Order.receiver_city, this.oCompany);

                //Adicionando endereços
                //COBRANÇA
                oBusinessPartner.Addresses.SetCurrentLine(0);
                oBusinessPartner.Addresses.AddressType = BoAddressType.bo_BillTo;
                oBusinessPartner.Addresses.AddressName = "COBRANCA";

                oBusinessPartner.Addresses.City = pedido.Order.receiver_city;

                if (!String.IsNullOrEmpty(pedido.Order.receiver_address_complement) && pedido.Order.receiver_address_complement.Length <= 100)
                {
                    oBusinessPartner.Addresses.BuildingFloorRoom = pedido.Order.receiver_address_complement;
                }

                //oBusinessPartner.Addresses.Country = "1058";
                oBusinessPartner.Addresses.Block    = pedido.Order.receiver_neighborhood;
                oBusinessPartner.Addresses.StreetNo = pedido.Order.receiver_address_number;
                oBusinessPartner.Addresses.ZipCode  = pedido.Order.receiver_zipcode;
                oBusinessPartner.Addresses.State    = pedido.Order.receiver_state;
                oBusinessPartner.Addresses.Street   = pedido.Order.receiver_address;
                oBusinessPartner.Addresses.County   = codMunicipio;
                //oBusinessPartner.Addresses.Country = "br";

                oBusinessPartner.Addresses.Add();


                //FATURAMENTO
                oBusinessPartner.Addresses.SetCurrentLine(1);
                oBusinessPartner.Addresses.AddressType = BoAddressType.bo_ShipTo;
                oBusinessPartner.Addresses.AddressName = "FATURAMENTO";

                oBusinessPartner.Addresses.City = pedido.Order.receiver_city;

                if (!String.IsNullOrEmpty(pedido.Order.receiver_address_complement) && pedido.Order.receiver_address_complement.Length <= 100)
                {
                    oBusinessPartner.Addresses.BuildingFloorRoom = pedido.Order.receiver_address_complement;
                }

                //oBusinessPartner.Addresses.Country = "1058";
                oBusinessPartner.Addresses.Block    = pedido.Order.receiver_neighborhood;
                oBusinessPartner.Addresses.StreetNo = pedido.Order.receiver_address_number;
                oBusinessPartner.Addresses.ZipCode  = pedido.Order.receiver_zipcode;
                oBusinessPartner.Addresses.State    = pedido.Order.receiver_state;
                oBusinessPartner.Addresses.Street   = pedido.Order.receiver_address;
                oBusinessPartner.Addresses.County   = codMunicipio;
                //oBusinessPartner.Addresses.Country = "br";

                oBusinessPartner.Addresses.Add();

                oBusinessPartner.FiscalTaxID.Address = "FATURAMENTO";

                if (isCorporate)
                {
                    oBusinessPartner.FiscalTaxID.TaxId0 = document;
                }
                else
                {
                    oBusinessPartner.FiscalTaxID.TaxId4 = document;
                    oBusinessPartner.FiscalTaxID.TaxId1 = "Isento";
                }

                oBusinessPartner.FiscalTaxID.Add();



                #region ENDEREÇO FOR

                /*for (int i = 0; i < 2; i++)
                 * {
                 *  if (i > 0)
                 *  {
                 *      oBusinessPartner.Addresses.SetCurrentLine(i);
                 *      oBusinessPartner.Addresses.AddressType = BoAddressType.bo_ShipTo;
                 *      oBusinessPartner.Addresses.AddressName = "FATURAMENTO";
                 *  }
                 *  else
                 *  {
                 *      oBusinessPartner.Addresses.SetCurrentLine(i);
                 *      oBusinessPartner.Addresses.AddressType = BoAddressType.bo_BillTo;
                 *      oBusinessPartner.Addresses.AddressName = "COBRANCA";
                 *
                 *      if (!oBusinessPartnerUpdateTest.GetByKey(cardCodePrefix + document))
                 *      {
                 *          oBusinessPartner.Addresses.Add();
                 *      }
                 *  }
                 *
                 *  oBusinessPartner.Addresses.City = pedido.Order.receiver_city;
                 *
                 *  if (!String.IsNullOrEmpty(pedido.Order.receiver_address_complement) && pedido.Order.receiver_address_complement.Length <= 100)
                 *  {
                 *      oBusinessPartner.Addresses.BuildingFloorRoom = pedido.Order.receiver_address_complement;
                 *  }
                 *
                 *  //oBusinessPartner.Addresses.Country = "1058";
                 *  oBusinessPartner.Addresses.Block = pedido.Order.receiver_neighborhood;
                 *  oBusinessPartner.Addresses.StreetNo = pedido.Order.receiver_address_number;
                 *  oBusinessPartner.Addresses.ZipCode = pedido.Order.receiver_zipcode;
                 *  oBusinessPartner.Addresses.State = pedido.Order.receiver_state;
                 *  oBusinessPartner.Addresses.Street = pedido.Order.receiver_address;
                 *  oBusinessPartner.Addresses.County = codMunicipio;
                 *  //oBusinessPartner.Addresses.Country = "br";
                 *
                 *  oBusinessPartner.Addresses.Add();
                 * }*/
                #endregion

                oBusinessPartner.BilltoDefault = "COBRANCA";
                oBusinessPartner.ShipToDefault = "FATURAMENTO";

                BusinessPartners oBusinessPartnerUpdate = null;
                oBusinessPartnerUpdate = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                if (oBusinessPartnerUpdate.GetByKey(cardCodePrefix + document))
                {
                    addBPNumber = oBusinessPartner.Update();

                    if (addBPNumber != 0)
                    {
                        messageError = oCompany.GetLastErrorDescription();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, cardCodePrefix + document, EnumStatusIntegracao.Erro, messageError);
                    }
                    else
                    {
                        messageError = "";
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, cardCodePrefix + document, EnumStatusIntegracao.Sucesso, "Cliente atualizado com sucesso.");

                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartner);
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdate);
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdateTest);
                    }
                }
                else
                {
                    //Setando informações Fiscais
                    //oBusinessPartner.FiscalTaxID.SetCurrentLine(0);

                    /*if (isCorporate)
                     * {
                     *  oBusinessPartner.FiscalTaxID.TaxId0 = document;
                     * }
                     * else {
                     *
                     *  oBusinessPartner.FiscalTaxID.TaxId4 = document;
                     *  oBusinessPartner.FiscalTaxID.TaxId1 = "Isento";
                     * }*/
                    //oBusinessPartner.FiscalTaxID.Address = "FATURAMENTO";
                    //oBusinessPartner.FiscalTaxID.Add();

                    addBPNumber = oBusinessPartner.Add();

                    if (addBPNumber != 0)
                    {
                        messageError = oCompany.GetLastErrorDescription();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, "", EnumStatusIntegracao.Erro, messageError);
                        this.log.WriteLogPedido("Falha ao inserir cliente - " + messageError);
                    }
                    else
                    {
                        string CardCode = oCompany.GetNewObjectKey();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, CardCode, EnumStatusIntegracao.Sucesso, "Cliente inserido com sucesso.");
                        this.log.WriteLogPedido("Cliente " + CardCode + " inserido com sucesso.");
                        messageError = "";
                    }
                }
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartner);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdateTest);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdate);
            }
            catch (Exception e)
            {
                this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, "", EnumStatusIntegracao.Erro, e.Message);
                this.log.WriteLogPedido("InserirBusinessPartner Exception: " + e.Message);
                throw;
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// CFL Customer Code
        /// </summary>
        private void CFL_FixDisc_CustCode(string formUID, ref ItemEvent pVal, ref bool bubbleEvent, ref IChooseFromListEvent oCFLEvent)
        {
            if (bubbleEvent)
            {
                Form       oForm = null;
                Conditions oCons = null;
                ICondition oCon  = null;
                SAPbouiCOM.ChooseFromList oCFL = null;
                DataTable        oDataTable    = null;
                BusinessPartners oBp           = null;
                DBDataSource     oDBSource_H   = null;
                Matrix           oMtx1         = null;
                Matrix           oMtx2         = null;

                try
                {
                    oForm = oSBOApplication.Forms.GetForm(pVal.FormTypeEx, pVal.FormTypeCount);
                    oBp   = oSBOCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);
                    oMtx1 = oForm.Items.Item("mt_1").Specific;
                    oMtx2 = oForm.Items.Item("mt_2").Specific;

                    DBDataSource fixDisc_D1 = oForm.DataSources.DBDataSources.Item("@SOL_FIXDISC_D1");
                    DBDataSource fixDisc_D2 = oForm.DataSources.DBDataSources.Item("@SOL_FIXDISC_D2");

                    if (oCFLEvent.BeforeAction == true)
                    {
                        if (oForm.Mode == BoFormMode.fm_ADD_MODE || oForm.Mode == BoFormMode.fm_OK_MODE || oForm.Mode == BoFormMode.fm_UPDATE_MODE)
                        {
                            oForm.Freeze(true);
                            oCFL = oForm.ChooseFromLists.Item("CFL_CUST");

                            oCFL.SetConditions(null);
                            oCons = oCFL.GetConditions();

                            oCon              = oCons.Add();
                            oCon.Alias        = "CardType";
                            oCon.Operation    = BoConditionOperation.co_EQUAL;
                            oCon.Relationship = BoConditionRelationship.cr_AND;
                            oCon.CondVal      = "C";

                            oCon           = oCons.Add();
                            oCon.Alias     = "validFor";
                            oCon.Operation = BoConditionOperation.co_EQUAL;
                            oCon.CondVal   = "Y";

                            oCFL.SetConditions(oCons);
                        }
                    }
                    else if (oCFLEvent.BeforeAction == false && oCFLEvent.ActionSuccess == true && oCFLEvent.SelectedObjects != null && oCFLEvent.FormMode != 0)
                    {
                        oForm.Freeze(true);
                        oDataTable = oCFLEvent.SelectedObjects;

                        if (oBp.GetByKey(oDataTable.GetValue("CardCode", 0)))
                        {
                            oDBSource_H = oForm.DataSources.DBDataSources.Item("@SOL_FIXDISC_H");
                            oDBSource_H.SetValue("U_SOL_CARDCODE", 0, oBp.CardCode);
                            oDBSource_H.SetValue("U_SOL_CARDNAME", 0, oBp.CardName);

                            // Generate Code
                            string code = GenerateCode(oBp.CardCode);
                            oDBSource_H.SetValue("Code", 0, code);

                            if (oForm.Mode != BoFormMode.fm_ADD_MODE)
                            {
                                oForm.Mode = BoFormMode.fm_UPDATE_MODE;
                            }

                            if (oMtx1.RowCount <= 0 || oMtx2.RowCount <= 0)
                            {
                                fixDisc_D1.InsertRecord(fixDisc_D1.Size);
                                fixDisc_D2.InsertRecord(fixDisc_D2.Size);

                                fixDisc_D1.Offset = fixDisc_D1.Size - 1;
                                fixDisc_D1.SetValue("LineId", fixDisc_D1.Size - 1, fixDisc_D1.Size.ToString());
                                fixDisc_D2.Offset = fixDisc_D2.Size - 1;
                                fixDisc_D2.SetValue("LineId", fixDisc_D2.Size - 1, fixDisc_D2.Size.ToString());

                                oForm.Items.Item("mt_1").Specific.LoadFromDataSource();
                                oForm.Items.Item("mt_2").Specific.LoadFromDataSource();
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    bubbleEvent = false;
                    oSBOApplication.MessageBox(ex.Message + " : " + ex.StackTrace);
                }
                finally
                {
                    if (oForm != null)
                    {
                        oForm.Freeze(false);
                    }

                    Utils.releaseObject(oForm);
                    Utils.releaseObject(oCons);
                    Utils.releaseObject(oCon);
                    Utils.releaseObject(oCFL);
                    Utils.releaseObject(oDataTable);
                    Utils.releaseObject(oBp);
                    Utils.releaseObject(oDBSource_H);
                }
            }
        }
        public void InserirBusinessPartner(SAPbobsCOM.Company company, Cliente cliente, Endereco endereco, Pedido pedido, out string messageError)
        {
            int addBPNumber = 0;

            string  document    = string.Empty;
            Boolean isCorporate = false;
            Boolean marketPlace = false;

            if (pedido.origin.Equals("Fulfillment"))
            {
                marketPlace = true;
            }

            if (marketPlace)
            {
                document = pedido.clientProfileData.document;
            }

            if (cliente.isCorporate != null && cliente.isCorporate.Equals("true"))
            {
                document    = cliente.corporateDocument;
                isCorporate = true;
            }
            else if (cliente.isCorporate != null && cliente.isCorporate.Equals("false"))
            {
                document = cliente.document;
            }

            try
            {
                CountyDAL countyDAL = new CountyDAL();

                this.oCompany = company;

                int    _groupCode            = Convert.ToInt32(ConfigurationManager.AppSettings["GroupCode"]);
                int    _splCode              = Convert.ToInt32(ConfigurationManager.AppSettings["SlpCode"]);
                int    _QoP                  = Convert.ToInt32(ConfigurationManager.AppSettings["QoP"]);
                int    groupNum              = Convert.ToInt32(ConfigurationManager.AppSettings["GroupNum"]);
                string indicadorIE           = ConfigurationManager.AppSettings["IndicadorIE"];
                string indicadorOpConsumidor = ConfigurationManager.AppSettings["IndicadorOpConsumidor"];
                string gerente               = ConfigurationManager.AppSettings["Gerente"];
                int    priceList             = Convert.ToInt32(ConfigurationManager.AppSettings["PriceList"]);
                string cardCodePrefix        = ConfigurationManager.AppSettings["CardCodePrefix"];
                int    categoriaCliente      = Convert.ToInt32(ConfigurationManager.AppSettings["CategoriaCliente"]);

                Log.WriteLogCliente("Inserindo Cliente " + cardCodePrefix + document);

                BusinessPartners oBusinessPartner = null;
                oBusinessPartner = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                BusinessPartners oBusinessPartnerUpdateTest = null;
                oBusinessPartnerUpdateTest = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                if (oBusinessPartnerUpdateTest.GetByKey(cardCodePrefix + document))
                {
                    oBusinessPartner = oBusinessPartnerUpdateTest;
                }

                //Setando campos padrões
                oBusinessPartner.CardCode = cardCodePrefix + document;

                if (marketPlace)
                {
                    oBusinessPartner.CardName = pedido.clientProfileData.firstName + " " + pedido.clientProfileData.lastName;
                    //oBusinessPartner.EmailAddress = cliente.email;
                }
                else
                {
                    oBusinessPartner.CardName     = cliente.firstName + " " + cliente.lastName;
                    oBusinessPartner.EmailAddress = cliente.email;
                }

                oBusinessPartner.CardType        = BoCardTypes.cCustomer;
                oBusinessPartner.GroupCode       = _groupCode;
                oBusinessPartner.SalesPersonCode = _splCode;
                oBusinessPartner.PayTermsGrpCode = groupNum;
                oBusinessPartner.PriceListNum    = priceList;
                //oBusinessPartner.CardForeignName = "Teste";

                //Setando campos de usuário
                oBusinessPartner.UserFields.Fields.Item("U_TX_IndIEDest").Value     = indicadorIE;
                oBusinessPartner.UserFields.Fields.Item("U_TX_IndFinal").Value      = indicadorOpConsumidor;
                oBusinessPartner.UserFields.Fields.Item("U_Gerente").Value          = gerente;
                oBusinessPartner.UserFields.Fields.Item("U_CategoriaCliente").Value = gerente;


                //removendo o +55
                if (cliente.homePhone != null)
                {
                    oBusinessPartner.Phone1 = cliente.homePhone.Substring(2);
                }

                if (cliente.phone != null)
                {
                    oBusinessPartner.Cellular = cliente.phone.Substring(2);
                }

                if (marketPlace)
                {
                    oBusinessPartner.Phone1 = pedido.clientProfileData.phone;
                }

                string codMunicipio = string.Empty;

                if (!marketPlace)
                {
                    codMunicipio = countyDAL.RecuperarCodigoMunicipio(endereco.city, this.oCompany);
                }
                else
                {
                    if (pedido.shippingData.address.city != null)
                    {
                        codMunicipio = countyDAL.RecuperarCodigoMunicipio(pedido.shippingData.address.city, this.oCompany);
                    }
                }

                //Adicionando endereços
                //Cobrança
                oBusinessPartner.Addresses.SetCurrentLine(0);
                oBusinessPartner.Addresses.AddressType = BoAddressType.bo_BillTo;
                oBusinessPartner.Addresses.AddressName = "COBRANCA";

                if (marketPlace)
                {
                    oBusinessPartner.Addresses.City = pedido.shippingData.address.city;
                }
                else
                {
                    oBusinessPartner.Addresses.City = endereco.city;
                }

                if (marketPlace && pedido.shippingData.address.complement != null && pedido.shippingData.address.complement.Length <= 100)
                {
                    oBusinessPartner.Addresses.BuildingFloorRoom = pedido.shippingData.address.complement;
                }
                else
                {
                    if (endereco != null && endereco.complement != null && endereco.complement.Length <= 100)
                    {
                        oBusinessPartner.Addresses.BuildingFloorRoom = endereco.complement;
                    }
                }

                if (marketPlace)
                {
                    //oBusinessPartner.Addresses.Country = "1058";
                    oBusinessPartner.Addresses.Block    = pedido.shippingData.address.neighborhood;
                    oBusinessPartner.Addresses.StreetNo = pedido.shippingData.address.number;
                    oBusinessPartner.Addresses.ZipCode  = pedido.shippingData.address.postalCode;
                    oBusinessPartner.Addresses.State    = pedido.shippingData.address.state;
                    oBusinessPartner.Addresses.Street   = pedido.shippingData.address.street;
                    oBusinessPartner.Addresses.County   = codMunicipio;
                    //oBusinessPartner.Addresses.Country = "br";
                }
                else
                {
                    //oBusinessPartner.Addresses.Country = "1058";
                    oBusinessPartner.Addresses.Block    = endereco.neighborhood;
                    oBusinessPartner.Addresses.StreetNo = endereco.number;
                    oBusinessPartner.Addresses.ZipCode  = endereco.postalCode;
                    oBusinessPartner.Addresses.State    = endereco.state;
                    oBusinessPartner.Addresses.Street   = endereco.street;
                    oBusinessPartner.Addresses.County   = codMunicipio;
                    //oBusinessPartner.Addresses.Country = "br";
                }
                oBusinessPartner.Addresses.Add();

                //FATURAMENTO
                oBusinessPartner.Addresses.SetCurrentLine(1);
                oBusinessPartner.Addresses.AddressType = BoAddressType.bo_ShipTo;
                oBusinessPartner.Addresses.AddressName = "FATURAMENTO";

                if (marketPlace)
                {
                    oBusinessPartner.Addresses.City = pedido.shippingData.address.city;
                }
                else
                {
                    oBusinessPartner.Addresses.City = endereco.city;
                }

                if (marketPlace && pedido.shippingData.address.complement != null && pedido.shippingData.address.complement.Length <= 100)
                {
                    oBusinessPartner.Addresses.BuildingFloorRoom = pedido.shippingData.address.complement;
                }
                else
                {
                    if (endereco != null && endereco.complement != null && endereco.complement.Length <= 100)
                    {
                        oBusinessPartner.Addresses.BuildingFloorRoom = endereco.complement;
                    }
                }

                if (marketPlace)
                {
                    //oBusinessPartner.Addresses.Country = "1058";
                    oBusinessPartner.Addresses.Block    = pedido.shippingData.address.neighborhood;
                    oBusinessPartner.Addresses.StreetNo = pedido.shippingData.address.number;
                    oBusinessPartner.Addresses.ZipCode  = pedido.shippingData.address.postalCode;
                    oBusinessPartner.Addresses.State    = pedido.shippingData.address.state;
                    oBusinessPartner.Addresses.Street   = pedido.shippingData.address.street;
                    oBusinessPartner.Addresses.County   = codMunicipio;
                    //oBusinessPartner.Addresses.Country = "br";
                }
                else
                {
                    //oBusinessPartner.Addresses.Country = "1058";
                    oBusinessPartner.Addresses.Block    = endereco.neighborhood;
                    oBusinessPartner.Addresses.StreetNo = endereco.number;
                    oBusinessPartner.Addresses.ZipCode  = endereco.postalCode;
                    oBusinessPartner.Addresses.State    = endereco.state;
                    oBusinessPartner.Addresses.Street   = endereco.street;
                    oBusinessPartner.Addresses.County   = codMunicipio;
                    //oBusinessPartner.Addresses.Country = "br";
                }
                oBusinessPartner.Addresses.Add();

                #region ENDEREÇO FOR

                /*
                 * for (int i = 0; i < 2; i++)
                 * {
                 *  if (i > 0)
                 *  {
                 *      oBusinessPartner.Addresses.SetCurrentLine(i);
                 *      oBusinessPartner.Addresses.AddressType = BoAddressType.bo_ShipTo;
                 *      oBusinessPartner.Addresses.AddressName = "FATURAMENTO";
                 *  }
                 *  else
                 *  {
                 *      oBusinessPartner.Addresses.SetCurrentLine(i);
                 *      oBusinessPartner.Addresses.AddressType = BoAddressType.bo_BillTo;
                 *      oBusinessPartner.Addresses.AddressName = "COBRANCA";
                 *
                 *      if (!oBusinessPartnerUpdateTest.GetByKey(cardCodePrefix + document))
                 *      {
                 *          oBusinessPartner.Addresses.Add();
                 *      }
                 *  }
                 *
                 *  if (marketPlace)
                 *  {
                 *      oBusinessPartner.Addresses.City = pedido.shippingData.address.city;
                 *  }
                 *  else {
                 *      oBusinessPartner.Addresses.City = endereco.city;
                 *  }
                 *
                 *  if (marketPlace && pedido.shippingData.address.complement != null && pedido.shippingData.address.complement.Length <= 100)
                 *  {
                 *      oBusinessPartner.Addresses.BuildingFloorRoom = pedido.shippingData.address.complement;
                 *  }
                 *  else {
                 *      if (endereco!= null && endereco.complement != null && endereco.complement.Length <= 100)
                 *      {
                 *          oBusinessPartner.Addresses.BuildingFloorRoom = endereco.complement;
                 *      }
                 *  }
                 *
                 *  if (marketPlace)
                 *  {
                 *      //oBusinessPartner.Addresses.Country = "1058";
                 *      oBusinessPartner.Addresses.Block = pedido.shippingData.address.neighborhood;
                 *      oBusinessPartner.Addresses.StreetNo = pedido.shippingData.address.number;
                 *      oBusinessPartner.Addresses.ZipCode = pedido.shippingData.address.postalCode;
                 *      oBusinessPartner.Addresses.State = pedido.shippingData.address.state;
                 *      oBusinessPartner.Addresses.Street = pedido.shippingData.address.street;
                 *      oBusinessPartner.Addresses.County = codMunicipio;
                 *      //oBusinessPartner.Addresses.Country = "br";
                 *  }
                 *  else {
                 *      //oBusinessPartner.Addresses.Country = "1058";
                 *      oBusinessPartner.Addresses.Block = endereco.neighborhood;
                 *      oBusinessPartner.Addresses.StreetNo = endereco.number;
                 *      oBusinessPartner.Addresses.ZipCode = endereco.postalCode;
                 *      oBusinessPartner.Addresses.State = endereco.state;
                 *      oBusinessPartner.Addresses.Street = endereco.street;
                 *      oBusinessPartner.Addresses.County = codMunicipio;
                 *      //oBusinessPartner.Addresses.Country = "br";
                 *  }
                 *
                 * }*/
                #endregion

                #region código de endereço antigo

                /*oBusinessPartner.Addresses.SetCurrentLine(0);
                 * oBusinessPartner.Addresses.AddressName = "COBRANCA";
                 * oBusinessPartner.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo;
                 *
                 * oBusinessPartner.Addresses.Street = endereco.street;
                 * oBusinessPartner.Addresses.Block = endereco.neighborhood;
                 * oBusinessPartner.Addresses.ZipCode = endereco.postalCode;
                 * oBusinessPartner.Addresses.City = endereco.city;
                 * oBusinessPartner.Addresses.Country = "BR";
                 * oBusinessPartner.Addresses.State = endereco.state;
                 * oBusinessPartner.Addresses.BuildingFloorRoom = endereco.complement;
                 * oBusinessPartner.Addresses.StreetNo = endereco.number;
                 *
                 * oBusinessPartner.Addresses.Add();
                 *
                 * oBusinessPartner.Addresses.SetCurrentLine(1);
                 * oBusinessPartner.Addresses.AddressName = "FATURAMENTO";
                 * oBusinessPartner.Addresses.AddressType = SAPbobsCOM.BoAddressType.bo_ShipTo;
                 *
                 * oBusinessPartner.Addresses.Street = endereco.street;
                 * oBusinessPartner.Addresses.Block = endereco.neighborhood;
                 * oBusinessPartner.Addresses.ZipCode = endereco.postalCode;
                 * oBusinessPartner.Addresses.City = endereco.city;
                 * oBusinessPartner.Addresses.Country = "BR";
                 * oBusinessPartner.Addresses.State = endereco.state;
                 * oBusinessPartner.Addresses.BuildingFloorRoom = endereco.complement;
                 * oBusinessPartner.Addresses.StreetNo = endereco.number;*/
                //oBusinessPartner.Addresses.Add();
                #endregion

                oBusinessPartner.BilltoDefault = "COBRANCA";
                oBusinessPartner.ShipToDefault = "FATURAMENTO";

                BusinessPartners oBusinessPartnerUpdate = null;
                oBusinessPartnerUpdate = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);

                if (oBusinessPartnerUpdate.GetByKey(cardCodePrefix + document))
                {
                    addBPNumber = oBusinessPartner.Update();

                    if (addBPNumber != 0)
                    {
                        messageError = oCompany.GetLastErrorDescription();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, cardCodePrefix + document, EnumStatusIntegracao.Erro, messageError);
                        //this.log.WriteLogCliente("InserirBusinessPartner error SAP: " + messageError);
                    }
                    else
                    {
                        messageError = "";
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, cardCodePrefix + document, EnumStatusIntegracao.Sucesso, "Cliente atualizado com sucesso.");
                        //this.Log.WriteLogCliente("BusinessPartner " + cardCodePrefix + document + " atualizado com sucesso.");

                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartner);
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdate);
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdateTest);
                    }
                }
                else
                {
                    //Setando informações Fiscais
                    //oBusinessPartner.FiscalTaxID.SetCurrentLine(0);
                    if (isCorporate)
                    {
                        oBusinessPartner.FiscalTaxID.TaxId0 = document;
                    }
                    else
                    {
                        oBusinessPartner.FiscalTaxID.TaxId4 = document;
                        oBusinessPartner.FiscalTaxID.TaxId1 = "Isento";
                    }
                    //oBusinessPartner.FiscalTaxID.Address = "FATURAMENTO";
                    //oBusinessPartner.FiscalTaxID.Add();

                    addBPNumber = oBusinessPartner.Add();

                    if (addBPNumber != 0)
                    {
                        messageError = oCompany.GetLastErrorDescription();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, "", EnumStatusIntegracao.Erro, messageError);
                        //Log.WriteLogCliente("InserirBusinessPartner error SAP: " + messageError);
                    }
                    else
                    {
                        string CardCode = oCompany.GetNewObjectKey();
                        this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, CardCode, EnumStatusIntegracao.Sucesso, "Cliente inserido com sucesso.");
                        //Log.WriteLogCliente("BusinessPartner " + cardCodePrefix +CardCode + " inserido com sucesso.");
                        messageError = "";
                    }
                }
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartner);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdateTest);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(oBusinessPartnerUpdate);
            }
            catch (Exception e)
            {
                this.log.WriteLogTable(oCompany, EnumTipoIntegracao.Cliente, document, "", EnumStatusIntegracao.Erro, e.Message);
                Log.WriteLogCliente("InserirBusinessPartner Exception: " + e.Message);
                throw;
            }
        }
        public IHttpActionResult SaveCustomer([FromBody] CustomerVm oItem)
        {
            Connect();
            try
            {
                BusinessPartners documents = (BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);
                string           CardCode  = GetCardCode();
                documents.CardCode     = CardCode;
                documents.CardName     = oItem.Company;
                documents.Address      = oItem.Address;
                documents.EmailAddress = oItem.Email;
                documents.Phone1       = oItem.Phone;
                //documents.ContactPerson = oItem.Firstname+", " + oItem.Lastname;
                documents.City     = oItem.City;
                documents.CardType = BoCardTypes.cCustomer;
                documents.Country  = "NG";
                int resp = documents.Add();

                if (resp != 0)
                {
                    //return Json(new Error() { ErrorCode = oCompany.GetLastErrorCode().ToString(), Description = oCompany.GetLastErrorDescription() });
                    return(StatusCode(System.Net.HttpStatusCode.NotFound));
                }

                documents = (BusinessPartners)oCompany.GetBusinessObject(BoObjectTypes.oBusinessPartners);
                if (documents.GetByKey(CardCode))
                {
                    if (documents.ContactEmployees.Count > 0)
                    {
                        documents.ContactEmployees.Add();
                    }
                    else
                    {
                        if (documents.ContactEmployees.Name != "")
                        {
                            documents.ContactEmployees.Add();
                        }
                    }
                    documents.ContactEmployees.Name      = oItem.Firstname + ", " + oItem.Lastname;
                    documents.ContactEmployees.LastName  = oItem.Lastname;
                    documents.ContactEmployees.FirstName = oItem.Firstname;
                    documents.ContactEmployees.Phone1    = oItem.Phone;
                    documents.ContactEmployees.E_Mail    = oItem.Email;
                    documents.ContactEmployees.Position  = "";
                    int chk = documents.Update(); //used BP.Add();
                    if (chk == 0)
                    {
                    }
                }
                return(StatusCode(System.Net.HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                oCompany.Disconnect();
                return(Json(new Error()
                {
                    ErrorCode = oCompany.GetLastErrorCode().ToString(), Description = oCompany.GetLastErrorDescription()
                }));
                //return StatusCode(System.Net.HttpStatusCode.NotFound);
            }
        }
Exemplo n.º 14
0
        public void removeBusinessPartners(string filter)
        {
            try
            {
                string query = "select CardCode FROM OCRD";

                if (filter.Length > 0)
                {
                    query += " WHERE " + filter;
                }


                Recordset rs       = dbFacade.Query(query);
                int       countRem = 0;

                if (rs.RecordCount > 0)
                {
                    int opt = uiUtils.MessageBox("Poderão ser removidos " + rs.RecordCount + " Parceiros de Negócio. Tem certeza que deseja continuar?", 1, "Remover", "Cancelar");

                    if (opt == 1)
                    {
                        //Start the progress bar
                        ProgressBar      oProgBar = connection.App.StatusBar.CreateProgressBar("Progress Bar", rs.RecordCount, true);
                        BusinessPartners bp       = connection.Company.GetBusinessObject(BoObjectTypes.oBusinessPartners);


                        while (!rs.EoF)
                        {
                            bp.GetByKey(rs.Fields.Item("CardCode").Value);
                            string remText = bp.CardCode + " - " + bp.CardName;
                            int    rem     = bp.Remove();
                            //vai para o proximo registro
                            rs.MoveNext();

                            if (rem == 0)
                            {
                                countRem++;
                                Logger.getInstance().log("Remoção de BP: Removido: " + remText, Logger.LogType.INFO, null, false);
                                oProgBar.Text = "Removido: " + remText;
                                //avanca a progress bar
                                oProgBar.Value += 1;
                            }
                            else
                            {
                                remText += " Não pode ser removido: " + connection.Company.GetLastErrorCode() + " - " + connection.Company.GetLastErrorDescription();
                                Logger.getInstance().log("Remoção de BP: " + remText, Logger.LogType.WARNING, null, false);
                            }
                        }

                        oProgBar.Stop();

                        uiUtils.MessageBox("Foram Removidos " + countRem + " Parceiros de Negócio.");
                    }
                }
                else
                {
                    uiUtils.MessageBox("Sem PN para remover!");
                }
            }
            catch (Exception e)
            {
                Logger.getInstance().log("Erro ao remover Parceiros de Negócio", Logger.LogType.INFO, e);
            }
        }