Ejemplo n.º 1
0
        public static ActivityInfo Insert(string sessionId, Activity jsonObject)
        {
            if (PrimaveraEngine.InitializeCompany() == false)
            {
                throw new DatabaseConnectionException();
            }

            var activityInfo    = new CrmBEActividade();
            var activityId      = PrimaveraEngine.generateGUID();
            var activitiesTable = PrimaveraEngine.Engine.CRM.Actividades;

            if (activitiesTable.Existe(activityId))
            {
                throw new EntityExistsException("actividade", true);
            }

            activityInfo.set_ID(activityId);
            activityInfo.set_Estado("0");
            activityInfo.set_CriadoPor(sessionId);
            activityInfo.set_DataCriacao(DateTime.Now);
            activityInfo.set_DataUltAct(DateTime.Now);
            SetFields(activityInfo, jsonObject);
            activityInfo = activitiesTable.PreencheDadosRelacionados(activityInfo);
            activitiesTable.Actualiza(activityInfo);

            return(GenerateActivity(activityInfo));
        }
Ejemplo n.º 2
0
        private static void SetFields(CrmBEActividade activityInfo, Activity jsonObject)
        {
            activityInfo.set_Resumo(jsonObject.Resumo);
            activityInfo.set_Descricao(jsonObject.Descricao);
            activityInfo.set_LocalRealizacao(jsonObject.Local);
            activityInfo.set_IDTipoActividade(jsonObject.Tipo);
            activityInfo.set_Prioridade(jsonObject.Prioridade.ToString());
            activityInfo.set_Duracao((int)Math.Round(jsonObject.DataFim.Subtract(jsonObject.DataInicio).TotalMinutes));

            if (jsonObject.TipoEntidade == null)
            {
                activityInfo.set_TipoEntidadePrincipal(null);
                activityInfo.set_EntidadePrincipal(null);
            }
            else
            {
                activityInfo.set_TipoEntidadePrincipal(jsonObject.TipoEntidade);
                activityInfo.set_EntidadePrincipal(jsonObject.Entidade);
            }

            if (jsonObject.DataInicio != null)
            {
                activityInfo.set_DataInicio(jsonObject.DataInicio);

                if (jsonObject.DataFim == null)
                {
                    activityInfo.set_TodoDia(true);
                }
                else
                {
                    activityInfo.set_DataFim(jsonObject.DataFim);
                }
            }
        }
        public static Lib_Primavera.Model.RespostaErro UpdTarefa(Lib_Primavera.Model.Tarefa tarefa)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();


            CrmBEActividade myT = new CrmBEActividade();

            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.Actividades.Existe(tarefa.ID) == false)
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "A tarefa não existe";
                        return(erro);
                    }
                    else
                    {
                        myT = PriEngine.Engine.CRM.Actividades.Edita(tarefa.ID);
                        myT.set_EmModoEdicao(true);

                        myT.set_DataInicio(tarefa.DataInicio);
                        myT.set_DataFim(tarefa.DataFim);
                        myT.set_Resumo(tarefa.Resumo);
                        myT.set_Descricao(tarefa.Descricao);
                        myT.set_IDTipoActividade(tarefa.IdTipo);
                        myT.set_Prioridade(tarefa.Prioridade);
                        myT.set_Utilizador(tarefa.IDUtilizador);
                        myT.set_IDCabecOVenda(tarefa.IDTarefaOrigem);
                        myT.set_LocalRealizacao(tarefa.Localizacao);
                        myT.set_Duracao(tarefa.Duracao);
                        myT.set_EntidadePrincipal(tarefa.IDContacto);
                        myT.set_TipoEntidadePrincipal(null);

                        PriEngine.Engine.CRM.Actividades.Actualiza(myT);

                        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);
            }
        }
Ejemplo n.º 4
0
        private static bool CheckPermissions(CrmBEActividade activityInfo, string sessionId)
        {
            if (activityInfo.get_Estado().Equals("1"))
            {
                return(false);
            }

            var representativeId = activityInfo.get_CriadoPor();

            if (representativeId != null && representativeId != sessionId)
            {
                return(false);
            }

            return(true);
        }
        public static Lib_Primavera.Model.RespostaErro DelTarefa(string codTarefa)
        {
            Lib_Primavera.Model.RespostaErro erro = new Model.RespostaErro();
            CrmBEActividade act = new CrmBEActividade();


            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.Actividades.Existe(codTarefa) == false)
                    {
                        erro.Erro      = 1;
                        erro.Descricao = "A actividade não existe";
                        return(erro);
                    }
                    else
                    {
                        PriEngine.Engine.CRM.Actividades.Remove(codTarefa);
                        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);
            }
        }
Ejemplo n.º 6
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()),
            });
        }