public Task <JobServiceMaterialLinkDto> Handle(CreateNewJobServiceMaterialLinkCommand request, CancellationToken cancellationToken)
        {
            var jobService    = _ctx.JobServices.Where(s => s.ServiceId == request.ServiceId).FirstOrDefault();
            var materialLists = request.MaterialLists.ToList();

            var jobMaterials     = new List <JobMaterial>();
            var newMaterialLists = new List <MaterialList>();

            foreach (var list in request.MaterialLists)
            {
                var allMaterialListItems = new List <MaterialListItem>();
                foreach (var m in list.MaterialListItems)
                {
                    var material            = _ctx.JobMaterials.Where(jm => jm.MaterialId == m.MaterialId).FirstOrDefault();
                    var newMaterialListItem = new MaterialListItem()
                    {
                        MaterialId    = material.MaterialId,
                        JobMaterialId = material.Id
                    };
                    allMaterialListItems.Add(newMaterialListItem);
                }
                list.MaterialListItems = allMaterialListItems;
                newMaterialLists.Add(list);
            }



            var newJobServiceMaterialLink = new JobServiceMaterialLink()
            {
                Active        = request.Active,
                Name          = request.Name,
                ServiceId     = request.ServiceId,
                ServiceCode   = jobService.Code,
                MaterialLists = newMaterialLists
            };

            _ctx.JobServiceMaterialLinks.Add(newJobServiceMaterialLink);
            _ctx.SaveChanges();



            return(Task.FromResult <JobServiceMaterialLinkDto>(_mapper.Map <JobServiceMaterialLinkDto>(newJobServiceMaterialLink)));
        }