public void PatientsAttachmentsTypes_Test2()
        {
            string[] errors     = new string[] { };
            patients t_patients = null;
            patientsattachmentstypes t_patientsattachmentstypes = null;
            patientsattachments      t_patientsattachments      = null;

            _dentnedModel.Patients.Remove(_dentnedModel.Patients.List(r => r.patients_name == "XX1" && r.patients_surname == "XX1").ToArray());
            _dentnedModel.PatientsAttachmentsTypes.Remove(_dentnedModel.PatientsAttachmentsTypes.List(r => r.patientsattachmentstypes_name == "XX1").ToArray());

            t_patients = new patients()
            {
                patients_name      = "XX1",
                patients_surname   = "XX1",
                patients_birthdate = DateTime.Now,
                patients_birthcity = "xxx",
                patients_doctext   = "xxx",
                patients_sex       = "M",
                patients_username  = "******",
                patients_password  = "******"
            };
            _dentnedModel.Patients.Add(t_patients);

            t_patientsattachmentstypes = new patientsattachmentstypes()
            {
                patientsattachmentstypes_name          = "XX1",
                patientsattachmentstypes_valueautofunc = PatientsAttachmentsTypesRepository.ValueAutoFuncCode.NUL.ToString()
            };
            _dentnedModel.PatientsAttachmentsTypes.Add(t_patientsattachmentstypes);

            t_patientsattachments = new patientsattachments()
            {
                patients_id = t_patients.patients_id,
                patientsattachmentstypes_id = t_patientsattachmentstypes.patientsattachmentstypes_id,
                patientsattachments_value   = "XX",
                patientsattachments_date    = DateTime.Now
            };
            _dentnedModel.PatientsAttachments.Add(t_patientsattachments);

            Assert.IsFalse(_dentnedModel.PatientsAttachmentsTypes.CanRemove(_dentnedModel.PatientsAttachmentsTypes.List(r => r.patientsattachmentstypes_name == "XX1").ToArray()));

            _dentnedModel.Patients.Remove(_dentnedModel.Patients.List(r => r.patients_name == "XX1" && r.patients_surname == "XX1").ToArray());

            Assert.IsTrue(_dentnedModel.PatientsAttachmentsTypes.CanRemove(_dentnedModel.PatientsAttachmentsTypes.List(r => r.patientsattachmentstypes_name == "XX1").ToArray()));

            _dentnedModel.PatientsAttachmentsTypes.Remove(_dentnedModel.PatientsAttachmentsTypes.List(r => r.patientsattachmentstypes_name == "XX1").ToArray());
        }
        public void CleanDir_CleanPatientAttachmentsDir()
        {
            if (Directory.Exists("test"))
            {
                Directory.Delete("test", true);
            }
            Directory.CreateDirectory("test");

            string[] messages = new string[] { };
            string[] errors   = new string[] { };

            patients t_patients = null;
            patientsattachmentstypes t_patientsattachmentstypes = null;
            patientsattachments      t_patientsattachments1     = null;
            patientsattachments      t_patientsattachments2     = null;

            _dentnedModel.Patients.Remove(_dentnedModel.Patients.List(r => r.patients_name == "XX1" && r.patients_surname == "XX1").ToArray());
            _dentnedModel.PatientsAttachmentsTypes.Remove(_dentnedModel.PatientsAttachmentsTypes.List(r => r.patientsattachmentstypes_name == "XX1").ToArray());

            t_patients = new patients()
            {
                patients_name      = "XX1",
                patients_surname   = "XX1",
                patients_birthdate = DateTime.Now,
                patients_birthcity = "xxx",
                patients_doctext   = "xxx",
                patients_sex       = "M",
                patients_username  = "******",
                patients_password  = "******"
            };
            _dentnedModel.Patients.Add(t_patients);

            t_patientsattachmentstypes = new patientsattachmentstypes()
            {
                patientsattachmentstypes_name          = "XX1",
                patientsattachmentstypes_valueautofunc = PatientsAttachmentsTypesRepository.ValueAutoFuncCode.NUL.ToString()
            };
            _dentnedModel.PatientsAttachmentsTypes.Add(t_patientsattachmentstypes);

            t_patientsattachments1 = new patientsattachments()
            {
                patients_id = t_patients.patients_id,
                patientsattachmentstypes_id  = t_patientsattachmentstypes.patientsattachmentstypes_id,
                patientsattachments_value    = "XX",
                patientsattachments_date     = DateTime.Now,
                patientsattachments_filename = "test1.txt"
            };
            _dentnedModel.PatientsAttachments.Add(t_patientsattachments1);

            t_patientsattachments2 = new patientsattachments()
            {
                patients_id = t_patients.patients_id,
                patientsattachmentstypes_id  = t_patientsattachmentstypes.patientsattachmentstypes_id,
                patientsattachments_value    = "XX",
                patientsattachments_date     = DateTime.Now,
                patientsattachments_filename = "test2.txt"
            };
            _dentnedModel.PatientsAttachments.Add(t_patientsattachments2);

            Directory.CreateDirectory("test\\" + t_patients.patients_id);
            File.Create("test\\" + t_patients.patients_id + "\\test1.txt").Dispose();
            File.Create("test\\" + t_patients.patients_id + "\\test2.txt").Dispose();

            Assert.IsTrue(Directory.Exists("test\\" + t_patients.patients_id));
            Assert.IsTrue(File.Exists("test\\" + t_patients.patients_id + "\\test1.txt"));
            Assert.IsTrue(File.Exists("test\\" + t_patients.patients_id + "\\test2.txt"));
            CleanDir.CleanPatientAttachmentsDir("test", false, ref messages, ref errors);
            Assert.That(messages.Length, Is.EqualTo(0));
            Assert.That(errors.Length, Is.EqualTo(0));
            Assert.IsTrue(Directory.Exists("test\\" + t_patients.patients_id));
            Assert.IsTrue(File.Exists("test\\" + t_patients.patients_id + "\\test1.txt"));
            Assert.IsTrue(File.Exists("test\\" + t_patients.patients_id + "\\test2.txt"));

            Directory.CreateDirectory("test\\" + t_patients.patients_id + "\\test");
            Assert.IsTrue(Directory.Exists("test\\" + t_patients.patients_id + "\\test"));
            CleanDir.CleanPatientAttachmentsDir("test", false, ref messages, ref errors);
            Assert.That(messages.Length, Is.Not.EqualTo(0));
            Assert.That(errors.Length, Is.EqualTo(0));
            Assert.IsFalse(Directory.Exists("test\\" + t_patients.patients_id + "\\test"));

            t_patientsattachments2.patientsattachments_filename = null;
            _dentnedModel.PatientsAttachments.Update(t_patientsattachments2);

            CleanDir.CleanPatientAttachmentsDir("test", false, ref messages, ref errors);
            Assert.That(messages.Length, Is.Not.EqualTo(0));
            Assert.That(errors.Length, Is.EqualTo(0));
            Assert.IsTrue(Directory.Exists("test\\" + t_patients.patients_id));
            Assert.IsTrue(File.Exists("test\\" + t_patients.patients_id + "\\test1.txt"));
            Assert.IsFalse(File.Exists("test\\" + t_patients.patients_id + "\\test2.txt"));

            t_patientsattachments1.patientsattachments_filename = null;
            _dentnedModel.PatientsAttachments.Update(t_patientsattachments1);

            CleanDir.CleanPatientAttachmentsDir("test", true, ref messages, ref errors);
            Assert.That(messages.Length, Is.Not.EqualTo(0));
            Assert.That(errors.Length, Is.EqualTo(0));
            Assert.IsFalse(Directory.Exists("test\\" + t_patients.patients_id));
            Assert.IsFalse(File.Exists("test\\" + t_patients.patients_id + "\\test1.txt"));
            Assert.IsFalse(File.Exists("test\\" + t_patients.patients_id + "\\test2.txt"));

            _dentnedModel.Patients.Remove(_dentnedModel.Patients.List(r => r.patients_name == "XX1" && r.patients_surname == "XX1").ToArray());

            Directory.Delete("test", true);
        }