public IResult Save(SubCategoriesDto subCategoriesDto)
        {
            SubCategoriesEntity table = new SubCategoriesEntity(subCategoriesDto.Name, subCategoriesDto.Categories);

            if (_subCategoriesRepository.Get(table) != null)
            {
                return(new ValidateResult(table, false, "Mesa informada já existe"));
            }

            table.Validate();

            if (table.Invalid)
            {
                return(new ValidateResult(table.Notifications, false, "Problemas ao cadastrar a SubCategoria"));
            }

            _subCategoriesRepository.Add(table);
            return(new ValidateResult(table, true, "SubCategoria cadastrada com sucessso"));
        }
        public IResult Update(SubCategoriesDto subCategoriaDto)
        {
            if (!Util.IsGuid(subCategoriaDto.Identification))
            {
                return(new ValidateResult(null, false, "A identificação fornecida está inválida"));
            }

            SubCategoriesEntity subCategories = _subCategoriesRepository.Get(subCategoriaDto.Identification);

            subCategories.SetName(subCategoriaDto.Name);
            subCategories.SetCategories(subCategoriaDto.Categories);

            subCategories.Validate();

            if (subCategories.Invalid)
            {
                return(new ValidateResult(subCategories.Notifications, false, "Problemas ao atualizar a Mesa"));
            }

            _subCategoriesRepository.Update(subCategories);
            return(new ValidateResult(subCategories, true, "SubCategoria atualizada com sucessso"));
        }