예제 #1
0
        public IResult <TissueImage> Add(Image file, int tissueId)
        {
            var result = BusinessRules <TissueImage> .Checker(ImageCountChecker(tissueId));

            TissueImage tissueImage = new TissueImage()
            {
                ImagePath = _localFileSystem.Path,
                Guid      = new GuidGenerator().Generator(),
                Date      = DateTime.Now,
                TissueId  = tissueId,
                Image     = _databaseFileSytem.FileToBytes(file)
            };

            if (result != null)
            {
                foreach (var error in result)
                {
                    return(new FailResult <TissueImage>(error.Message));
                }
            }

            _localFileSystem.Filing(file, tissueImage.Guid);
            _tissueImageDal.Add(tissueImage);

            return(new SuccessResult <TissueImage>(Messages.success));
        }
예제 #2
0
        public IResult <Tissue> Add(Tissue tissue)
        {
            var result = BusinessRules <Tissue> .Checker(DuplicateNameChecker(tissue.Name));

            if (result != null)
            {
                foreach (var error in result)
                {
                    return(new FailResult <Tissue>(error.Message));
                }
            }

            _tissueDal.Add(tissue);
            return(new SuccessResult <Tissue>(Messages.success, tissue));
        }
예제 #3
0
        public IResult <List <TissueImage> > GetImagesPerTissue(int tissueId)
        {
            var result = BusinessRules <TissueImage> .Checker(IfImageExistCheck(tissueId));

            if (result != null)
            {
                if (!result[0].Success)
                {
                    var defaultByteImage = _tissueImageDal.GetAll(p => p.TissueId == 0);
                    return(new FailResult <List <TissueImage> >(result[0].Message, defaultByteImage));
                }
            }

            var byteImages = _tissueImageDal.GetAll(p => p.TissueId == tissueId);

            return(new SuccessResult <List <TissueImage> >(Messages.success, byteImages));
        }