public async Task <IDataResult <ICollection <IContactForViewDto> > > GetListAsync(
            Expression <Func <Contact, bool> > where = null,
            params Expression <Func <Contact, object> >[] includes)
        {
            ICollection <IContactForViewDto> contactDtos = new List <IContactForViewDto>();

            var contacts = await _contactDal.ListAsync(where, includes);

            foreach (var contact in contacts)
            {
                var mappedContact = _mapper.Map <ContactForViewDto>(contact);
                contactDtos.Add(mappedContact);
            }

            return(new DataResult <ICollection <IContactForViewDto> >(contactDtos, true));
        }