コード例 #1
0
        public void Test_DossierValidator_Dates_Fail()
        {
            var dossier = new Dossier()
            {
                Dekking_InTijd_Begin             = "this_is_not_a_date",
                Dekking_InTijd_Eind              = "this_is_not_a_date",
                Classificatie_DatumOfPeriode     = "this_is_not_a_date",
                Gebruiksrechten_DatumOfPeriode   = "this_is_not_a_date",
                Vertrouwelijkheid_DatumOfPeriode = "this_is_not_a_date",
                Openbaarheid_DatumOfPeriode      = "this_is_not_a_date",
                Eventgeschiedenis_DatumOfPeriode = "this_is_not_a_date",
                Relatie_DatumOfPeriode           = "this_is_not_a_date"
            };
            var dossierValidator = new DossierValidator(dossier);

            var result = dossierValidator.Validate();

            Assert.That(result, Is.EqualTo(false));
            Assert.That(dossierValidator.ValidationErrors.Count, Is.EqualTo(16));
        }
コード例 #2
0
        public int SaveDossier(
            int id,
            string nummer,
            string titel,
            string stavaza,
            bool isArchived,
            string linkTofiles,
            string procedure,
            string type,
            bool isEuropeanPublished,
            string procuringEnityName,
            string contractTypeName,
            byte[] rowVersion)
        {
            int result = 0;

            using (Database.DossierContext dossierContext = new Database.DossierContext())
            {
                Dossier dossier = dossierContext.Dossiers.SingleOrDefault(c => c.Id == id);

                // the dossier is delete by another user?
                if (dossier == null)
                {
                    this.overviewForm.SetStatusText("Entry was deleted by another user.");
                    return(this.SaveNewDossier(out id, nummer, titel, stavaza));
                }
                else
                {
                    if (Database.DossierContext.ByteArrayCompare(rowVersion, dossier.RowVersion))
                    {
                        dossier.DossierNummer        = nummer;
                        dossier.DossierTitel         = titel;
                        dossier.DossierStandvanzaken = stavaza;
                        dossier.IsGearchiveerd       = isArchived;
                        if (linkTofiles != string.Empty)
                        {
                            dossier.DossierLinkToFiles = linkTofiles;
                        }
                        else
                        {
                            dossier.DossierLinkToFiles = Automat.Rules.DossierRules.GetFileLocation(nummer);
                        }

                        dossier.DossierProcedure    = Automat.Rules.DossierRules.GetProcedureID(procedure);
                        dossier.DossierType         = Rules.DossierRules.GetProcedureTypeID(type, true);
                        dossier.IsEuropeanPublished = isEuropeanPublished;
                        dossier.ProcuringEnity      = Rules.DossierRules.GetProcuringEntityID(procuringEnityName);
                        dossier.TypeOfContract      = Rules.DossierRules.GetContractTypeID(contractTypeName);

                        // Do validation of Dossier object:
                        FluentValidation.Results.ValidationResult validationResult = new DossierValidator().Validate(dossier);

                        if (validationResult.IsValid)
                        {
                            result = dossierContext.SaveChanges();
                        }
                        else
                        {
                            DossierValidator.DisplayErrorMessage(validationResult);
                        }

                        this.RefreshDossierList(this.overviewForm.IsShowingArchivedItems());
                    }
                    else
                    {
                        this.overviewForm.SetStatusText("Entry was modified by another user.");
                    }
                }
            }

            return(result);
        }