Пример #1
0
 private static LeadInfo GenerateInfo(CrmBEEntidadeExterna leadInfo)
 {
     return(new LeadInfo
     {
         Identificador = leadInfo.get_Entidade(),
         Activo = leadInfo.get_Activo(),
         Nome = leadInfo.get_Nome(),
         Email = leadInfo.get_Email(),
         Telefone = leadInfo.get_Telefone(),
         Telefone2 = leadInfo.get_Telefone2(),
         DataCriacao = leadInfo.get_DataCriacao(),
         DataModificacao = leadInfo.get_DataUltAct(),
         Telemovel = leadInfo.get_Telemovel(),
         EnderecoWeb = leadInfo.get_EnderecoWeb(),
         TipoMercado = leadInfo.get_TipoMercado(),
         PessoaSingular = leadInfo.get_PessoaSingular(),
         Idioma = leadInfo.get_Idioma(),
         Morada2 = leadInfo.get_Morada2(),
         NumContribuinte = leadInfo.get_NumContrib(),
         Zona = leadInfo.get_Zona(),
         TipoTerceiro = leadInfo.get_TipoTerceiro(),
         Responsavel = UserIntegration.Reference(leadInfo.get_Vendedor()),
         Localizacao = new Address
         {
             Pais = leadInfo.get_Pais(),
             Morada = leadInfo.get_Morada(),
             Distrito = leadInfo.get_Distrito(),
             Localidade = leadInfo.get_Localidade(),
             CodigoPostal = leadInfo.get_CodPostal()
         },
     });
 }
        public static Lib_Primavera.Model.RespostaErro UpdContacto(Lib_Primavera.Model.Contacto contacto)
        {
            Lib_Primavera.Model.RespostaErro erro      = new Model.RespostaErro();
            CrmBEEntidadeExterna             myContact = new CrmBEEntidadeExterna();

            try
            {
                if (PriEngine.InitializeCompany(FirstREST.Properties.Settings.Default.Company.Trim(), FirstREST.Properties.Settings.Default.User.Trim(), FirstREST.Properties.Settings.Default.Password.Trim()) == true)
                {
                    if (PriEngine.Engine.CRM.EntidadesExternas.Existe(contacto.Entidade) == false)
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "O contacto não existe";
                        return(erro);
                    }
                    else
                    {
                        myContact = PriEngine.Engine.CRM.EntidadesExternas.Edita(contacto.Entidade);

                        myContact.set_EmModoEdicao(true);

                        myContact.set_Morada(contacto.Morada);
                        myContact.set_CodPostal(contacto.CodPostal);
                        myContact.set_Localidade(contacto.Localidade);
                        myContact.set_Pais(contacto.Pais);
                        myContact.set_Telefone(contacto.Telefone);
                        myContact.set_Telemovel(contacto.Telemovel);
                        myContact.set_Email(contacto.Email);
                        myContact.set_Entidade(contacto.Nome.ToUpper());
                        myContact.set_Nome(contacto.Nome);
                        myContact.set_Fax(contacto.Fax);



                        PriEngine.Engine.CRM.EntidadesExternas.Actualiza(myContact);

                        erro.Erro      = 0;
                        erro.Descricao = "Sucesso";
                        return(erro);
                    }
                }
                else
                {
                    erro.Erro      = 1;
                    erro.Descricao = "Erro ao abrir a empresa";
                    return(erro);
                }
            }

            catch (Exception ex)
            {
                erro.Erro      = 1;
                erro.Descricao = ex.Message;
                return(erro);
            }
        }
Пример #3
0
        private static void SetFields(CrmBEEntidadeExterna leadInfo, Lead jsonObject)
        {
            leadInfo.set_Nome(jsonObject.Nome);
            leadInfo.set_Zona(jsonObject.Zona);
            leadInfo.set_Email(jsonObject.Email);
            leadInfo.set_Idioma(jsonObject.Idioma);
            leadInfo.set_Morada2(jsonObject.Morada2);
            leadInfo.set_Telefone(jsonObject.Telefone);
            leadInfo.set_Telefone2(jsonObject.Telefone2);
            leadInfo.set_Telemovel(jsonObject.Telemovel);
            leadInfo.set_Pais(jsonObject.Localizacao.Pais);
            leadInfo.set_EnderecoWeb(jsonObject.EnderecoWeb);
            leadInfo.set_Morada(jsonObject.Localizacao.Morada);
            leadInfo.set_NumContrib(jsonObject.NumContribuinte);
            leadInfo.set_PessoaSingular(jsonObject.PessoaSingular);
            leadInfo.set_CodPostal(jsonObject.Localizacao.CodigoPostal);

            if (jsonObject.TipoTerceiro != null)
            {
                leadInfo.set_TipoTerceiro(jsonObject.TipoTerceiro);
            }

            if (jsonObject.TipoMercado != null)
            {
                leadInfo.set_TipoMercado(jsonObject.TipoMercado);
            }

            if (jsonObject.Localizacao.Pais.Equals("PT"))
            {
                if (jsonObject.Localizacao.Distrito == null)
                {
                    leadInfo.set_Distrito(null);
                    leadInfo.set_Localidade(null);
                    leadInfo.set_CodPostalLocal(null);
                }
                else
                {
                    leadInfo.set_Distrito(jsonObject.Localizacao.Distrito);
                    leadInfo.set_Localidade(jsonObject.Localizacao.Localidade);
                    leadInfo.set_CodPostalLocal(jsonObject.Localizacao.Localidade);
                }
            }
            else
            {
                leadInfo.set_Distrito(null);
                leadInfo.set_Localidade(null);
                leadInfo.set_CodPostalLocal(null);
            }
        }
Пример #4
0
        private static bool CheckPermissions(CrmBEEntidadeExterna leadInfo, string sessionId)
        {
            /*if (leadInfo.get_Activo() == false)
             * {
             *  return false;
             * }
             *
             * var representativeId = leadInfo.get_Vendedor();
             *
             * if (representativeId != null && representativeId != sessionId)
             * {
             *  return false;
             * }*/

            return(true);
        }
        internal static List <String> UpdateEntity(ERPContext oERPContext, string EntityType, string Entity)
        {
            Dictionary <String, String> groupCompanies = CrossCompany.Platform.GetGroupCompanies(oERPContext);
            List <String> updatedCompanies             = new List <string>();

            //Exit if no companies where found
            if (groupCompanies.Count == 0)
            {
                return(updatedCompanies);
            }

            groupCompanies.Remove(oERPContext.BSO.Contexto.CodEmp);
            foreach (string groupCompany in groupCompanies.Keys)
            {
                ErpBS oCompany = new ErpBS();

                oCompany.AbreEmpresaTrabalho(
                    StdBE100.StdBETipos.EnumTipoPlataforma.tpEmpresarial,
                    groupCompany,
                    Properties.Settings.Default.User,
                    Properties.Settings.Default.Password);

                //get the last exercise (to create the entity accounts for each exercise)
                int lastYear = oERPContext.BSO.Contabilidade.ExerciciosCBL.DaUltimoAno();

                switch (EntityType)
                {
                case "C":
                    if (Convert.ToBoolean(oERPContext.BSO.Base.Clientes.DaValorAtributo(Entity, "CDU_EntidadeGrupo")))
                    {
                        //Entity
                        BasBECliente objNewEntity = oERPContext.BSO.Base.Clientes.Edita(Entity);
                        if (!oCompany.Base.Clientes.Existe(Entity))
                        {
                            objNewEntity.EmModoEdicao = false;
                        }
                        oCompany.Base.Clientes.Actualiza(objNewEntity);
                        updatedCompanies.Add(groupCompany);

                        //Connection to CBL
                        for (int currentYear = DateTime.Now.Year; currentYear <= lastYear; currentYear++)
                        {
                            CblBECnfTabLinhaLigCBL objNewLinhaCnfTabLigCBL = oERPContext.BSO.Contabilidade.ConfiguracaoTabCBL.Edita(CblBE100.CblBECnfTabLinhaLigCBL.TETipoTabela.GCPClientes, currentYear, "001", Entity, 1);
                            if (objNewLinhaCnfTabLigCBL != null)
                            {
                                if (oCompany.Contabilidade.ConfiguracaoTabCBL.ExisteID(objNewLinhaCnfTabLigCBL.Id))
                                {
                                    oCompany.Contabilidade.ConfiguracaoTabCBL.ActualizaValorAtributoID(objNewLinhaCnfTabLigCBL.Id, "Conta", objNewLinhaCnfTabLigCBL.Conta);
                                }
                                else
                                {
                                    objNewLinhaCnfTabLigCBL.EmModoEdicao = false;
                                    CblBECnfTabLigCBL objNewCnfTabLigCBL = oCompany.Contabilidade.ConfiguracaoTabCBL.EditaTabela(CblBECnfTabLinhaLigCBL.TETipoTabela.GCPClientes);
                                    objNewCnfTabLigCBL.PlanoExercicios.GetEdita(1).Linhas.Insere(objNewLinhaCnfTabLigCBL);
                                    oCompany.Contabilidade.ConfiguracaoTabCBL.Actualiza(objNewCnfTabLigCBL);
                                }
                            }
                        }
                    }
                    break;

                case "F":
                    if (Convert.ToBoolean(oERPContext.BSO.Base.Fornecedores.DaValorAtributo(Entity, "CDU_EntidadeGrupo")))
                    {
                        //Entity
                        BasBEFornecedor objNewEntity = oERPContext.BSO.Base.Fornecedores.Edita(Entity);
                        if (!oCompany.Base.Fornecedores.Existe(Entity))
                        {
                            objNewEntity.EmModoEdicao = false;
                        }
                        oCompany.Base.Fornecedores.Actualiza(objNewEntity);
                        updatedCompanies.Add(groupCompany);

                        //Connection to CBL
                        for (int currentYear = DateTime.Now.Year; currentYear <= lastYear; currentYear++)
                        {
                            CblBECnfTabLinhaLigCBL objNewLinhaCnfTabLigCBL = oERPContext.BSO.Contabilidade.ConfiguracaoTabCBL.Edita(CblBE100.CblBECnfTabLinhaLigCBL.TETipoTabela.GCPFornecedores, currentYear, "001", Entity, 1);
                            if (objNewLinhaCnfTabLigCBL != null)
                            {
                                if (oCompany.Contabilidade.ConfiguracaoTabCBL.ExisteID(objNewLinhaCnfTabLigCBL.Id))
                                {
                                    oCompany.Contabilidade.ConfiguracaoTabCBL.ActualizaValorAtributoID(objNewLinhaCnfTabLigCBL.Id, "Conta", objNewLinhaCnfTabLigCBL.Conta);
                                }
                                else
                                {
                                    objNewLinhaCnfTabLigCBL.EmModoEdicao = false;
                                    CblBECnfTabLigCBL objNewCnfTabLigCBL = oCompany.Contabilidade.ConfiguracaoTabCBL.EditaTabela(CblBECnfTabLinhaLigCBL.TETipoTabela.GCPFornecedores);
                                    objNewCnfTabLigCBL.PlanoExercicios.GetEdita(1).Linhas.Insere(objNewLinhaCnfTabLigCBL);
                                    oCompany.Contabilidade.ConfiguracaoTabCBL.Actualiza(objNewCnfTabLigCBL);
                                }
                            }
                        }
                    }
                    break;

                case "R":
                case "D":
                    if (Convert.ToBoolean(oERPContext.BSO.Base.OutrosTerceiros.DaValorAtributo(Entity, EntityType, "CDU_EntidadeGrupo")))
                    {
                        //Entity
                        BasBEOutroTerceiro objNewEntity = oERPContext.BSO.Base.OutrosTerceiros.Edita(Entity);
                        if (!oCompany.Base.OutrosTerceiros.Existe(Entity))
                        {
                            objNewEntity.EmModoEdicao = false;
                        }
                        oCompany.Base.OutrosTerceiros.Actualiza(objNewEntity);
                        updatedCompanies.Add(groupCompany);

                        //Connection to CBL
                        for (int currentYear = DateTime.Now.Year; currentYear <= lastYear; currentYear++)
                        {
                            CblBECnfTabLinhaLigCBL objNewLinhaCnfTabLigCBL = oERPContext.BSO.Contabilidade.ConfiguracaoTabCBL.Edita(CblBE100.CblBECnfTabLinhaLigCBL.TETipoTabela.GCPOutrosTerceiros, currentYear, "001", Entity, 1);
                            if (objNewLinhaCnfTabLigCBL != null)
                            {
                                if (oCompany.Contabilidade.ConfiguracaoTabCBL.ExisteID(objNewLinhaCnfTabLigCBL.Id))
                                {
                                    oCompany.Contabilidade.ConfiguracaoTabCBL.ActualizaValorAtributoID(objNewLinhaCnfTabLigCBL.Id, "Conta", objNewLinhaCnfTabLigCBL.Conta);
                                }
                                else
                                {
                                    objNewLinhaCnfTabLigCBL.EmModoEdicao = false;
                                    CblBECnfTabLigCBL objNewCnfTabLigCBL = oCompany.Contabilidade.ConfiguracaoTabCBL.EditaTabela(CblBECnfTabLinhaLigCBL.TETipoTabela.GCPOutrosTerceiros);
                                    objNewCnfTabLigCBL.PlanoExercicios.GetEdita(1).Linhas.Insere(objNewLinhaCnfTabLigCBL);
                                    oCompany.Contabilidade.ConfiguracaoTabCBL.Actualiza(objNewCnfTabLigCBL);
                                }
                            }
                        }
                    }
                    break;

                case "E":
                    if (Convert.ToBoolean(oERPContext.BSO.CRM.EntidadesExternas.DaValorAtributo(Entity, "CDU_EntidadeGrupo")))
                    {
                        //Entity
                        CrmBEEntidadeExterna objNewEntity = oERPContext.BSO.CRM.EntidadesExternas.Edita(Entity);
                        if (!oCompany.CRM.EntidadesExternas.Existe(Entity))
                        {
                            objNewEntity.EmModoEdicao = false;
                        }
                        oCompany.CRM.EntidadesExternas.Actualiza(objNewEntity);
                        updatedCompanies.Add(groupCompany);
                    }
                    break;

                default:
                    break;
                }

                oCompany.FechaEmpresaTrabalho();
            }

            return(updatedCompanies);
        }