/// <summary> /// Get a list of string dates less that the given date. /// </summary> /// <param name="taxonomyId">Taxonomy identifier.</param> /// <param name="entityId">Entity identifier.</param> /// <param name="maxDate">Date to compare.</param> /// <param name="abaxXBRLCellStoreMongo">Data access object</param> /// <returns>List with the string dates.</returns> public static async Task <IList <string> > FindLowestDatesAsync(string taxonomyId, string entityId, DateTime maxDate, AbaxXBRLCellStoreMongo abaxXBRLCellStoreMongo) { var db = abaxXBRLCellStoreMongo.GetMongoDB(); var collection = db.GetCollection <BsonDocument>(COLLECTION_NAME); var match = new BsonDocument { { "dimensionMap.taxonomyId", taxonomyId }, { "dimensionMap.instanceDocmentEntity", entityId } }; var groupDistinctDates = new BsonDocument { { "_id", "$dimensionMap.instanceDocmentReportedDate" } }; var projectParseDate = new BsonDocument { { "_id", "$_id" }, { "date", new BsonDocument { { "$dateFromString", new BsonDocument { { "dateString", "$_id" } } } } } }; FilterDefinition <BsonDocument> matchLessDate = "{\"date\":{\"$lt\":" + ModeloBase.ParseJson(maxDate) + "}}"; var aggregate = collection.Aggregate(). Match(match).Group(groupDistinctDates).Project(projectParseDate).Match(matchLessDate); var documentsList = await aggregate.ToListAsync(); var listDates = new List <string>(); foreach (var document in documentsList) { listDates.Add(document["_id"].AsString); } return(listDates); }
public bool Salva(ModeloBase <M> objModelo, GerenciadorDB mngBD) { bool bRetorno = false; string sDetalhesLog = string.Empty; if (objModelo.Status == ModeloBase <M> .ObjetoStatus.NaoAlterado) { // Não realiza nenhuma alteração } else if (objModelo.Status == ModeloBase <M> .ObjetoStatus.Novo) { // Insert Insert(getDicionarioColValores(objModelo), mngBD, ref sDetalhesLog); } else if (objModelo.Status == ModeloBase <M> .ObjetoStatus.Editado) { // Update Update(getDicionarioColValores(objModelo), getDicionarioColValores(objModelo._objetoOriginal), mngBD, ref sDetalhesLog); // Atualiza o ObjetoOriginal para o que acabou de ser salvo objModelo.CarregaObjeto(getDicionarioColValores(objModelo), getDicionarioColPropInfo(objModelo)); } else { throw new Exception(string.Format("Solicitado salvamento para objeto ModeloBase com STATUS inválido. Valor recebido: {0}", Enum.GetName(typeof(ModeloBase <M> .ObjetoStatus), objModelo.Status))); } return(bRetorno); }
/// <summary> /// Crea un hash con los parámetros clave del reporte. /// </summary> /// <param name="reportParams">Parámetros generales del reporte.</param> /// <param name="reportSendDate">Send date of the report.</param> /// <returns>Hash con los principales identificadores del reporte.</returns> public static String CreateReportRecordId(String reportId, DateTime reportSendDate) { var reportKeys = new Dictionary <String, String>(); reportKeys[ConstantsJBRL.REPORT_REPORT_ID_ATT] = ModeloBase.ParseJson(reportId); reportKeys[ConstantsJBRL.REPORT_REGISTRATON_DATE_ATT] = ModeloBase.ParseJson(reportSendDate); var hash = GetHash(reportKeys); return(hash); }
public async Task CriarNotificacaoConclusaoAtividade(UsuarioADE usuario, AtividadeEstagio atividade) { ServicoAlteracaoEntidadesSistema servicoAlteracaoEntidadesSistema = new ServicoAlteracaoEntidadesSistema(ref unitOfWork); ModeloBase recurso = await servicoAlteracaoEntidadesSistema.ObterEntidadeAlteracao(atividade.EnumEntidade, atividade.IdentificadorEntidadeAtividade); string Descricao = $"<i class='material-icons medium prefix'>assignment_turned_in</i> Você concluiu a atividade {atividade.Titulo} ao realizar {atividade.TipoAtividade.ObterNomeEnum()} do recurso {recurso.ToString()} na data {atividade.DataHoraUltimaAlteracao.ToLocalTime()}"; NotificacaoIndividual notificacao = new NotificacaoIndividual(usuario.Id, usuario.Id, $"Atividade {atividade.Titulo} Concluida!", Descricao); await ServicoNotificacaoIndividual.CadastrarAsync(usuario, notificacao); await unitOfWork.Commit(); }
private static void CrearTarea(Usuario key) { Utilidades.salida("Creando una Tarea"); String tareaNombre = Utilidades.entrada("Ingresa un nombre para tu Tarea"); List <ModeloBase> listaUsuarios = ((Usuario)ModeloBase.darInstancia("Modelo.Usuario")).Listar(); int indice = 1; foreach (ModeloBase objeto in listaUsuarios) { Utilidades.salida(indice + ". " + ((Usuario)objeto).ObtenerNombre()); } String usuarioId = Utilidades.entrada("Seleccione un Usuario"); }
public bool Apaga(ModeloBase <M> objModelo, GerenciadorDB mngBD) { bool bRetorno = false; string sDetalhesLog = string.Empty; if (objModelo.Status != ModeloBase <M> .ObjetoStatus.Novo) { // Delete Delete(getDicionarioColValores(objModelo._objetoOriginal), mngBD, ref sDetalhesLog); bRetorno = true; } else { throw new Exception(string.Format("Solicitado exclusão para objeto ModeloBase com STATUS inválido. Valor recebido: {0}", Enum.GetName(typeof(ModeloBase <M> .ObjetoStatus), objModelo.Status))); } return(bRetorno); }
public List <ModeloBase> LeerTabla() { List <ModeloBase> lista = new List <ModeloBase>(); try { String[] lineas = _contenido.Split("\n"); for (int i = 0; i < lineas.Length; i++) { ModeloBase _objeto = (ModeloBase)ModeloBase.darInstancia(_tipo); lista.Add(_objeto.leerTexto(lineas[i])); } } catch (Exception ex) { System.Console.WriteLine("Ha ocurrido un Error: " + ex.Message); } return(lista); }
/// <summary> /// Devolve dicionário com Coluna (base de dados) e respectivo valor da propriedade /// </summary> private static Dictionary <string, object> getDicionarioColValores(ModeloBase <M> objModelBase) { Dictionary <string, object> dicProps = new Dictionary <string, object>(); PropertyInfo[] props = getObjectProperties(); // Varre as propriedades do modelo foreach (System.Reflection.PropertyInfo prop in props) { if (prop.PropertyType != null && prop.CanWrite) { AtributoPropriedade atbc = null; object[] atributos = prop.GetCustomAttributes(typeof(AtributoPropriedade), true); // Utiliza o AtributoPropriedade para obter o nome da coluna na Base de dados foreach (object item in atributos) { if (item is AtributoPropriedade) { atbc = (AtributoPropriedade)item; break; } } object objValue = prop.GetValue(objModelBase); // Se nao tem NomeColuna, o nome é o mesmo da propriedade. if (atbc != null && !string.IsNullOrEmpty(atbc.NomeColuna)) { dicProps.Add(atbc.NomeColuna.ToUpper(), objValue); } else { dicProps.Add(prop.Name.ToUpper(), objValue); } } } return(dicProps); }
public KeyValuePair <Tarea, List <String> > VerificarModificabilidad(Usuario usuario, List <ModeloBase> lista, String idTarea) { KeyValuePair <Tarea, List <String> > tareaLista = new KeyValuePair <Tarea, List <String> >(); if (usuario != null && lista != null) { //TODO--->>> verificar si es super usuario Tarea tarea = (Tarea)ModeloBase.Obtener(new KeyValuePair <String, String>("id", idTarea), "Modelo.Tarea"); List <String> listaCampos = new List <String>(); if (usuario.ObtenerRol().esSuperUsuario()) { listaCampos.Add("nombre"); listaCampos.Add("usuario"); listaCampos.Add("estado"); } else { listaCampos.Add("estado"); } return(new KeyValuePair <Tarea, List <String> >(tarea, listaCampos)); } return(tareaLista); }