//EntityADto GetById(Int32 entityAId, UserContextDto userContextDto); public EntityBDto GetById(Int32 entityBId) { // Variable de respuesta. EntityBDto entityDto = null; try { IEntityBRepository repo = this.unityContainer.Resolve <IEntityBRepository>(); // Obtener y comprobar la entidad. //ISpecification<EntityB> spec = new DirectSpecification<EntityB>(t => t.Id == entityBId); EntityB entity = repo.GetFilteredElements(t => t.Id == entityBId).Single(); string s = string.Format(Inflexion2.Resources.Framework.NoDataById, "Entity B", entityBId); if (s == null) { s = ""; } Guard.ArgumentIsNotNull(entity, s); // Mapeamos los datos. entityDto = this.EntityBMapper.EntityMapping(entity); // Confirmamos la transacción. this.Commit(); } catch (Exception ex) { // Escribimos en el Log. logger.Error(ex.Message, ex); throw ex; } // Devolvemos el resultado. return(entityDto); }
//bool Update(EntityADto entity1Dto, UserContextDto userContextDto); public bool Update(EntityBDto entityBDto) { #region preconditions // Comprobar el DTO de entrada. Guard.ArgumentIsNotNull( entityBDto, string.Format( Inflexion2.Resources.Framework.DataTransferObjectIsNull, "Entity B")); // comprobamos los campos mandatory ¿EN UNA ACTUALIZACIÓN TAMBIEN? Guard.ArgumentNotNullOrEmpty( entityBDto.Name, string.Format( Inflexion2.Resources.Framework.PropertyRequired, "Entity B")); #endregion try { IEntityBRepository repo = this.unityContainer.Resolve <IEntityBRepository>(); // Obtener y comprobar la entidad. //ISpecification<EntityB> spec = new DirectSpecification<EntityB>(t => t.Id == entityBDto.Id); EntityB entity2Update = repo.GetFilteredElements(t => t.Id == entityBDto.Id).Single(); Guard.ArgumentIsNotNull( entity2Update, string.Format( Inflexion2.Resources.Framework.CanNotUpdateInexistenceEntity, "Entity B")); // Mapeamos los datos, teniendo encuenta que el id lo hemos recuperado y comprobado // ademas comprobamos que valores han sido modificados if (entity2Update.Name != entityBDto.Name) { entity2Update.Name = entityBDto.Name; // opcion a trazar las modificaciones } // igualmente hemos de mapear las entidades emparentadas. if (!entity2Update.CanBeSaved()) { return(false); } repo.Modify(entity2Update); // Confirmamos la transacción. this.Commit(); } catch (Exception ex) { // Escribimos en el Log. //logger.Error(ex.Message, ex); throw ex; } // Devolvemos el resultado. return(true); }
//bool Delete(Int32 Entity1Id, UserContextDto userContextDto);// invocacion con identificación de usuario public bool Delete(Int32 EntityBId) { #region Preconditions // Comprobar el DTO de entrada. if (EntityBId == default(int)) { return(false); } #endregion IEntityBRepository repo = this.unityContainer.Resolve <IEntityBRepository>(); IEnumerable <EntityB> results = repo.GetFilteredElements(u => u.Id == EntityBId); EntityB entityB2Delete = results.First(); if (!entityB2Delete.CanBeDeleted()) { return(false); } repo.Remove(entityB2Delete); this.Commit(); return(true); }