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)); }
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); } }
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); } }
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()), }); }