Exemplo n.º 1
0
        /// <summary>
        /// Create a new entity
        /// </summary>
        /// <param name="createDto">The entity to create</param>
        /// <param name="additionalMapping">The entity mapping</param>
        /// <returns></returns>
        public virtual async Task <TIdentifier> CreateAsync(ICreatableDto createDto, Dictionary <string, string> additionalMapping)
        {
            TEntity entity;

            if (additionalMapping == null)
            {
                entity = Mapper.Map <TEntity>(createDto);
            }
            else
            {
                entity = Mapper.Map <TEntity>(createDto, additionalMapping.ToMappingOperationOptionsAction());
            }

            var repository = UnitOfWork.GetRepository <TRepository>() as IMaijeRepository <TEntity, TIdentifier>;

            var createdEntityIdentifier = await repository.AddAsync(entity);

            await UnitOfWork.CommitAsync();

            return(createdEntityIdentifier);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Creates an entity
 /// </summary>
 /// <param name="createDto">The object to create.</param>
 /// <returns></returns>
 public virtual Task <TIdentifier> CreateAsync(ICreatableDto createDto)
 {
     return(CreateAsync(createDto, null));
 }