Esempio n. 1
0
        private void AddDepartment()
        {
            var            context               = new PSOConnect();
            var            mainDepartment        = context.mainDepartment.FirstOrDefault(mainDepartments => mainDepartments.address.Equals(MainDepartmentField.Text));
            mainDepartment currentMainDepartment = null;

            if (mainDepartment == null)
            {
                currentMainDepartment = new mainDepartment
                {
                    idMainDepartment = context.mainDepartment.Count() > 0 ? context.mainDepartment.Max(mainDepartments => mainDepartments.idMainDepartment) + 1 : 1,
                    address          = MainDepartmentField.Text
                };

                context.mainDepartment.Add(currentMainDepartment);
            }

            var        idMainDepartment  = mainDepartment == null ? currentMainDepartment.idMainDepartment : mainDepartment.idMainDepartment;
            var        department        = context.department.FirstOrDefault(departments => departments.address.Equals(DepartmentField.Text) && departments.idMainDepartment == idMainDepartment);
            department currentDepartment = null;

            if (department == null)
            {
                currentDepartment = new department
                {
                    idDepartment = context.department.Count() > 0 ? context.department.Max(departments => departments.idDepartment) + 1 : 1,
                    address      = DepartmentField.Text,
                };

                context.department.Add(currentDepartment);
                var mainDep = mainDepartment == null ? currentMainDepartment : mainDepartment;
                mainDep.department.Add(currentDepartment);
            }

            var    idDepartment  = department == null ? currentDepartment.idDepartment : department.idDepartment;
            var    region        = context.region.FirstOrDefault(regions => regions.address.Equals(RegionField.Text) && regions.idDepartment == idDepartment);
            region currentRegion = null;

            if (region == null)
            {
                currentRegion = new region
                {
                    idRegion = context.region.Count() > 0 ? context.region.Max(regions => regions.idRegion) + 1 : 1,
                    address  = RegionField.Text
                };

                context.region.Add(currentRegion);
                var depart = department == null ? currentDepartment : department;
                depart.region.Add(currentRegion);
            }

            context.SaveChanges();
        }
Esempio n. 2
0
        private void EditDepartement()
        {
            if (CheckExist())
            {
                return;
            }

            var context = new PSOConnect();
            var region  = context.region.FirstOrDefault(regions => regions.idRegion == _idRegion);

            region.address = RegionField.Text;

            var department = context.department.FirstOrDefault(departments => departments.idDepartment == region.idDepartment);

            var        checkExistDepartment = context.department.FirstOrDefault(departments => departments.address.Equals(DepartmentField.Text));
            department currentDepartment    = null;

            if (department.region.Count == 1)
            {
                currentDepartment  = department;
                department.address = DepartmentField.Text;
            }
            else if (checkExistDepartment != null)
            {
                currentDepartment = checkExistDepartment;
                checkExistDepartment.region.Add(region);
            }
            else
            {
                currentDepartment = new department
                {
                    idDepartment = context.department.Count() > 0 ? context.department.Max(departments => departments.idDepartment) + 1 : 1,
                    address      = DepartmentField.Text
                };

                currentDepartment.region.Add(region);
                context.department.Add(currentDepartment);
            }


            var mainDepartment = context.mainDepartment.FirstOrDefault(mainDepartments => mainDepartments.idMainDepartment == department.idMainDepartment);

            var            checkExistMainDepartment = context.mainDepartment.FirstOrDefault(mainDepartments => mainDepartments.address.Equals(MainDepartmentField.Text));
            mainDepartment currentMainDepartment    = null;

            if (mainDepartment.department.Count == 1)
            {
                currentMainDepartment  = mainDepartment;
                mainDepartment.address = MainDepartmentField.Text;
            }
            else if (checkExistMainDepartment != null)
            {
                currentMainDepartment = checkExistMainDepartment;
                checkExistMainDepartment.department.Add(currentDepartment);
            }
            else
            {
                currentMainDepartment = new mainDepartment
                {
                    idMainDepartment = context.mainDepartment.Count() > 0 ? context.mainDepartment.Max(mainDepartments => mainDepartments.idMainDepartment) + 1 : 1,
                    address          = MainDepartmentField.Text
                };

                currentMainDepartment.department.Add(currentDepartment);
                context.mainDepartment.Add(currentMainDepartment);
            }

            _updatedListInfo?.Invoke($"{region.idRegion}-АДРЕС РЕГИОНА: {region.address} АДРЕС ДЕПАРТАМЕНТА: {currentDepartment.address} АДРЕС ГЛАВНОГО ДЕПАРТАМЕНТА: {currentMainDepartment.address}");
            context.SaveChanges();
        }