using AutoMapper; using Gestor.Infrastructure.Entities.Ferramentas; using Gestor.Infrastructure.Mappers; using Gestor.Infrastructure.Repository.Generic; using Gestor.Infrastructure.Repository.Interface; using Gestor.Infrastructure.UnitOfWork.Generic; using Gestor.Model.Domain.Ferramentas; using System; namespace Gestor.Infrastructure.Repository.Logic { public class CategoriaTarefaRepository : GenericRepository, ICategoriaTarefaRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public CategoriaTarefaRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public void Delete(long id) { base.Delete(base.FindEntityById(id)); } public CategoriaTarefa FindById(long id) { CategoriaTarefaDb categoriaTarefaDb = base.FindEntityById(id); return ApplicationMapper.Mapper.Map(categoriaTarefaDb); } public CategoriaTarefa Merge(CategoriaTarefa categoriaTarefa) { CategoriaTarefaDb categoriaTarefaDb = ApplicationMapper.Mapper.Map(categoriaTarefa); base.Merge(categoriaTarefaDb); return ApplicationMapper.Mapper.Map(categoriaTarefaDb); } public CategoriaTarefa SaveOrUpdate(CategoriaTarefa categoriaTarefa) { CategoriaTarefaDb categoriaTarefaDb = ApplicationMapper.Mapper.Map(categoriaTarefa); this.SaveOrUpdate(categoriaTarefaDb); return ApplicationMapper.Mapper.Map(categoriaTarefaDb); } } }