示例#1
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            var attachmentTypes = HttpRequestStorage.DatabaseEntities.AttachmentTypes.ToList();

            if (!attachmentTypes.IsAttachmentTypeNameUnique(AttachmentTypeName, AttachmentTypeID))
            {
                yield return(new SitkaValidationResult <EditAttachmentTypeViewModel, string>("Name already exists.",
                                                                                             x => x.AttachmentTypeName));
            }

            if (!TaxonomyTrunkIDs.Any())
            {
                yield return(new SitkaValidationResult <EditAttachmentTypeViewModel, List <int> >($"Please select at least one {FieldDefinitionEnum.TaxonomyTrunk.ToType().GetFieldDefinitionLabel()} for this {FieldDefinitionEnum.AttachmentType.ToType().GetFieldDefinitionLabel()}",
                                                                                                  x => x.TaxonomyTrunkIDs));
            }

            if (!FileResourceMimeTypeIDs.Any())
            {
                yield return(new SitkaValidationResult <EditAttachmentTypeViewModel, List <int> >($"Please select at least one file type for this {FieldDefinitionEnum.AttachmentType.ToType().GetFieldDefinitionLabel()}",
                                                                                                  x => x.FileResourceMimeTypeIDs));
            }
        }
示例#2
0
        public void UpdateModel(ProjectFirmaModels.Models.AttachmentType attachmentType,
                                ICollection <AttachmentTypeFileResourceMimeType> allAttachmentTypeFileResourceMimeTypes,
                                ICollection <AttachmentTypeTaxonomyTrunk> allAttachmentTypeTaxonomyTrunks)
        {
            attachmentType.AttachmentTypeName = AttachmentTypeName;

            attachmentType.AttachmentTypeDescription = AttachmentTypeDescription;

            attachmentType.NumberOfAllowedAttachments = NumberOfAllowedAttachments;

            attachmentType.MaxFileSize = MaxFileSize;

            var fileResourceMimeTypesUpdated = FileResourceMimeTypeIDs.Select(x => new AttachmentTypeFileResourceMimeType(attachmentType.AttachmentTypeID, x)).ToList();

            attachmentType.AttachmentTypeFileResourceMimeTypes.Merge(fileResourceMimeTypesUpdated,
                                                                     allAttachmentTypeFileResourceMimeTypes,
                                                                     (x, y) => x.AttachmentTypeID == y.AttachmentTypeID && x.FileResourceMimeTypeID == y.FileResourceMimeTypeID, HttpRequestStorage.DatabaseEntities);

            var taxonomyTrunksUpdated = TaxonomyTrunkIDs.Select(x => new AttachmentTypeTaxonomyTrunk(attachmentType.AttachmentTypeID, x)).ToList();

            attachmentType.AttachmentTypeTaxonomyTrunks.Merge(taxonomyTrunksUpdated,
                                                              allAttachmentTypeTaxonomyTrunks,
                                                              (x, y) => x.AttachmentTypeID == y.AttachmentTypeID && x.TaxonomyTrunkID == y.TaxonomyTrunkID, HttpRequestStorage.DatabaseEntities);
        }