public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var errors = new List <ValidationResult>(); var existingOrganizationType = HttpRequestStorage.DatabaseEntities.OrganizationTypes.ToList(); if (!OrganizationTypeModelExtensions.IsOrganizationTypeNameUnique(existingOrganizationType, OrganizationTypeName, OrganizationTypeID)) { errors.Add(new SitkaValidationResult <EditOrganizationTypeViewModel, string>("Name is already used for another organization type", x => x.OrganizationTypeName)); } if (!OrganizationTypeModelExtensions.IsOrganizationTypeAbbreviationUnique(existingOrganizationType, OrganizationTypeAbbreviation, OrganizationTypeID)) { errors.Add(new SitkaValidationResult <EditOrganizationTypeViewModel, string>("Abbreviation is already used for another organization type", x => x.OrganizationTypeAbbreviation)); } return(errors); }
public OrganizationTypeGridSpec(bool hasManagePermissions) { if (hasManagePermissions) { Add(string.Empty, x => DhtmlxGridHtmlHelpers.MakeDeleteIconAndLinkBootstrap(OrganizationTypeModelExtensions.GetDeleteUrl(x), true, !x.HasDependentObjects()), 30, DhtmlxGridColumnFilterType.None); Add(string.Empty, a => DhtmlxGridHtmlHelpers.MakeLtInfoEditIconAsModalDialogLinkBootstrap(new ModalDialogForm(SitkaRoute <OrganizationTypeAndOrganizationRelationshipTypeController> .BuildUrlFromExpression(t => t.EditOrganizationType(a)), $"Edit {FieldDefinitionEnum.OrganizationType.ToType().GetFieldDefinitionLabel()} '{a.OrganizationTypeName}'")), 30, DhtmlxGridColumnFilterType.None); } Add($"{FieldDefinitionEnum.OrganizationType.ToType().GetFieldDefinitionLabel()} Name", a => a.OrganizationTypeName, 240); Add($"{FieldDefinitionEnum.OrganizationTypeAbbreviation.ToType().ToGridHeaderString()}", a => a.OrganizationTypeAbbreviation, 200); Add($"{FieldDefinitionEnum.IsDefaultOrganizationType.ToType().ToGridHeaderString()}", a => a.IsDefaultOrganizationType.ToCheckboxImageOrEmptyForGrid(), 80); Add($"{FieldDefinitionEnum.IsFundingType.ToType().ToGridHeaderString()}", a => a.IsFundingType.ToCheckboxImageOrEmptyForGrid(), 80); Add($"{FieldDefinitionEnum.ShowOnProjectMaps.ToType().ToGridHeaderString()}", a => a.ShowOnProjectMaps.ToCheckboxImageOrEmptyForGrid(), 150); Add($"{FieldDefinitionEnum.LegendColor.ToType().ToGridHeaderString()}", a => ToLegendColor(a), 90, DhtmlxGridColumnFilterType.None); }