private static CustomerInfo generateCustomer(GcpBECliente customerInfo)
 {
     return(new CustomerInfo()
     {
         Identificador = customerInfo.get_Cliente(),
         Nome = customerInfo.get_Nome(),
         Estado = customerInfo.get_Situacao(),
         Debito = customerInfo.get_DebitoContaCorrente(),
         NumContribuinte = customerInfo.get_NumContribuinte(),
         Pendentes = customerInfo.get_DebitoEncomendasPendentes(),
         DataCriacao = customerInfo.get_DataCriacao(),
         DataModificacao = customerInfo.get_DataUltimaActualizacao(),
         EnderecoWeb = customerInfo.get_EnderecoWeb(),
         Particular = customerInfo.get_PessoaSingular(),
         Telefone = customerInfo.get_Telefone(),
         Telefone2 = customerInfo.get_Fax(),
         Telemovel = customerInfo.get_Telefone2(),
         Responsavel = UserIntegration.Reference(customerInfo.get_Vendedor()),
         Localizacao = new Address
         {
             Pais = customerInfo.get_Pais(),
             Morada = customerInfo.get_Morada(),
             Localidade = customerInfo.get_Localidade(),
             CodigoPostal = customerInfo.get_CodigoPostal(),
             Distrito = LocationIntegration.DistritoReference(customerInfo.get_Distrito())
         }
     });
 }
예제 #2
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 CustomerInfo View(string sessionId, string customerId)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var customerInfo = PrimaveraEngine.Consulta(new SqlBuilder()
                                                        .FromTable("CLIENTES")
                                                        .Columns(sqlColumnsFull)
                                                        .Where("Cliente", Comparison.Equals, customerId));

            if (customerInfo == null || customerInfo.Vazia())
            {
                throw new NotFoundException("cliente", false);
            }

            var responsavelId = TypeParser.String(customerInfo.Valor("Vendedor"));
            var distritoId    = TypeParser.String(customerInfo.Valor("Distrito"));

            /*if (responsavelId.Equals(sessionId) == false)
             * {
             *  return null;
             * }*/

            return(new CustomerInfo()
            {
                Identificador = TypeParser.String(customerInfo.Valor("Cliente")),
                Nome = TypeParser.String(customerInfo.Valor("Nome")),
                Estado = TypeParser.String(customerInfo.Valor("Situacao")),
                Debito = TypeParser.Double(customerInfo.Valor("TotalDeb")),
                NumContribuinte = TypeParser.String(customerInfo.Valor("NumContrib")),
                Pendentes = TypeParser.Double(customerInfo.Valor("EncomendasPendentes")),
                DataCriacao = TypeParser.Date(customerInfo.Valor("DataCriacao")),
                DataModificacao = TypeParser.Date(customerInfo.Valor("DataUltimaActualizacao")),
                EnderecoWeb = TypeParser.String(customerInfo.Valor("EnderecoWeb")),
                Particular = TypeParser.Boolean(customerInfo.Valor("PessoaSingular")),
                Telefone = TypeParser.String(customerInfo.Valor("Fac_Tel")),
                Telefone2 = TypeParser.String(customerInfo.Valor("Fac_Fax")),
                Telemovel = TypeParser.String(customerInfo.Valor("Telefone2")),
                Responsavel = UserIntegration.Reference(responsavelId),
                Localizacao = new Address
                {
                    Pais = TypeParser.String(customerInfo.Valor("Pais")),
                    Morada = TypeParser.String(customerInfo.Valor("Fac_Mor")),
                    Distrito = LocationIntegration.DistritoReference(distritoId),
                    CodigoPostal = TypeParser.String(customerInfo.Valor("Fac_Cp")),
                    Localidade = TypeParser.String(customerInfo.Valor("Fac_Local"))
                }
            });
        }
예제 #4
0
        private static ActivityInfo GenerateActivity(CrmBEActividade activityInfo)
        {
            var entityId   = activityInfo.get_EntidadePrincipal();
            var entityType = activityInfo.get_TipoEntidadePrincipal();

            return(new ActivityInfo
            {
                Resumo = activityInfo.get_Resumo(),
                Duracao = activityInfo.get_Duracao(),
                Identificador = activityInfo.get_ID(),
                Descricao = activityInfo.get_Descricao(),
                DataCriacao = activityInfo.get_DataCriacao(),
                DataModificacao = activityInfo.get_DataUltAct(),
                DataFim = activityInfo.get_DataFim(),
                DataInicio = activityInfo.get_DataInicio(),
                Local = activityInfo.get_LocalRealizacao(),
                Entidade = EntityReference(entityId, entityType),
                Prioridade = Convert.ToInt32(activityInfo.get_Prioridade()),
                Estado = Convert.ToInt32(activityInfo.get_Estado()),
                Tipo = TypeReference(activityInfo.get_IDTipoActividade()),
                Responsavel = UserIntegration.Reference(activityInfo.get_CriadoPor()),
            });
        }
 private static ContactInfo GenerateContact(CrmBEContacto contactInfo)
 {
     return(new ContactInfo()
     {
         Identficador = contactInfo.get_Contacto(),
         Cliente = CustomerIntegration.Reference("SILVA"),
         DataModificacao = contactInfo.get_DataUltContacto(),
         Responsavel = UserIntegration.Reference(contactInfo.get_CriadoPor()),
         Nome = contactInfo.get_PrimeiroNome() + " " + contactInfo.get_UltimoNome(),
         Titulo = contactInfo.get_Titulo(),
         Email = contactInfo.get_Email(),
         Telefone = contactInfo.get_Telefone(),
         Telefone2 = contactInfo.get_Telefone2(),
         Telemovel = contactInfo.get_Telemovel(),
         Localizacao = new Address
         {
             Pais = contactInfo.get_Pais(),
             Morada = contactInfo.get_Morada(),
             CodigoPostal = contactInfo.get_CodPostal(),
             Localidade = contactInfo.get_Localidade(),
             Distrito = LocationIntegration.DistritoReference(contactInfo.get_Distrito())
         }
     });
 }
        public static Representative Update(string sessionUsername, UserInfo userInfo)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var sqlQuery = new SqlBuilder()
                           .FromTable(tableUsers)
                           .Column(fieldPassword)
                           .Where(fieldUsername, Comparison.Equals, sessionUsername);

            using (var queryResult = PrimaveraEngine.ConsultaSQLite(sqlQuery))
            {
                int    changedFields = 0;
                string queryPassword = "******";

                if (queryResult.Read())
                {
                    var currentPassword = queryResult.GetString(queryResult.GetOrdinal(fieldPassword));

                    if (userInfo.Password.Equals(currentPassword))
                    {
                        return(null);
                    }

                    if (userInfo.Password == null)
                    {
                        queryPassword += "password = :password";
                        changedFields++;
                    }

                    if (userInfo.Representante != null)
                    {
                        if (changedFields > 0)
                        {
                            queryPassword += " AND ";
                        }

                        queryPassword += "representative = :representative";
                        changedFields++;
                    }

                    if (changedFields < 1)
                    {
                        return(null);
                    }

                    queryPassword += "WHERE username = :username";

                    using (var sqlCommand = new SQLiteCommand(queryPassword, PrimaveraEngine.getAuthenticationService()))
                    {
                        sqlCommand.Parameters.Add(new SQLiteParameter(fieldUsername, sessionUsername));

                        if (userInfo.Password != null)
                        {
                            sqlCommand.Parameters.Add(new SQLiteParameter(fieldPassword, userInfo.Password));
                        }

                        if (userInfo.Representante != null)
                        {
                            sqlCommand.Parameters.Add(new SQLiteParameter(fieldRepresentative, userInfo.Representante));
                        }

                        sqlCommand.ExecuteNonQuery();
                    }
                }
                else
                {
                    return(null);
                }
            }

            return(UserIntegration.View(userInfo.Representante));
        }