private async Task<ImportValidationResultInfo> MapAndValidate(ProductFlavourDTO dto, int index)
        {
            return await Task.Run(() =>
            {
                if (dto == null) return null;
                var entity = _mappingService.Map(dto);
                var exist = _ctx.tblProductFlavour.FirstOrDefault(p =>p.name.ToLower() == dto.Name.ToLower());

                entity.Id = exist == null ? Guid.NewGuid() : exist.id;

                var res = _repository.Validate(entity);
                var vResult = new ImportValidationResultInfo()
                {
                    Results = res.Results,
                    Description =
                        string.Format("Row-{0} name or code=>{1}", index,
                                      entity.Name ?? entity.Code),
                    Entity = entity
                };
                return vResult;

            });


        }
 private ProductFlavourDTO Map(tblProductFlavour tbl)
 {
     var dto = new ProductFlavourDTO
                   {
                       MasterId = tbl.id,
                       DateCreated = tbl.IM_DateCreated,
                       DateLastUpdated = tbl.IM_DateLastUpdated,
                       StatusId = tbl.IM_Status,
                       Name = tbl.name,
                       Code = tbl.code,
                       Description = tbl.description,
                       ProductBrandMasterId = tbl.BrandId ?? Guid.Empty
                   };
     return dto;
 }
 public ProductFlavour Map(ProductFlavourDTO dto)
 {
     if (dto == null) return null;
     var productFlavour = Mapper.Map<ProductFlavourDTO, ProductFlavour>(dto);
     productFlavour.ProductBrand = _productBrandRepository.GetById(dto.ProductBrandMasterId);
     return productFlavour;
 }