Exemplo n.º 1
0
        public void ShowDatabases()
        {
            BizDatabase bizDatabase  = new BizDatabase();
            var         DatabaseList = bizDatabase.GetDatabases();

            dtgItems.ItemsSource = DatabaseList;
        }
        public void ShowDBServers()
        {
            BizDatabase bizDBServer  = new BizDatabase();
            var         DBServerList = bizDBServer.GetDBServers();

            dtgItems.ItemsSource = DBServerList;
        }
        public static bool InsertFromQueryToTargetDB(int entityID, string targetTableName, string selectQuery)
        {
            BizDatabase bizDatabase = new BizDatabase();
            var         database    = bizDatabase.GetDatabaseByEntityID(entityID);

            if (database.DBType == enum_DBType.SQLServer)
            {
                return(InsertFromQueryToTargetSQLDB(database, targetTableName, selectQuery));
            }
            return(false);
        }
        private void SetDatabaseLookup()
        {
            BizDatabase bizDatabase = new BizDatabase();

            lokDatabase.SelectedValueMember = "ID";
            lokDatabase.DisplayMember       = "Title";
            lokDatabase.NewItemEnabled      = false;
            lokDatabase.EditItemEnabled     = false;
            //   قابل دسترسی کاربر     //
            var databases = bizDatabase.GetDatabases();

            lokDatabase.ItemsSource = databases;
        }
        private void SetServerLookup()
        {
            if (lokServer.SelectedValueMember == null)
            {
                lokServer.SelectedValueMember = "ID";
                lokServer.DisplayMember       = "Title";
                lokServer.NewItemEnabled      = true;
                //lokServer.NewItemClicked += LokServer_NewItemClicked;
                lokServer.EditItemEnabled  = true;
                lokServer.EditItemClicked += LokServer_EditItemClicked;
            }
            BizDatabase bizDatabase = new BizDatabase();
            var         servers     = bizDatabase.GetDBServers();

            lokServer.ItemsSource = servers;
        }
Exemplo n.º 6
0
        private void btnImportKeyValues_Click(object sender, RoutedEventArgs e)
        {
            //if (optValueComesFromTitle.IsChecked == false && optValueComesFromValue.IsChecked == false)
            //{
            //    MessageBox.Show("لطفا نوع جایگذاری مقادیر ستون در عنوان یا مقدار را مشخص نمایید");
            //    return;
            //}
            BizDatabase bizDatabase = new BizDatabase();
            BizColumn   bizColumn   = new BizColumn();
            var         column      = bizColumn.GetColumn(ColumnID, true);
            var         database    = bizDatabase.GetDatabaseByTableID(column.TableID);
            var         dbHelper    = MyModelGenerator.ModelGenerator.GetDatabaseImportHelper(database);
            var         result      = dbHelper.GetColumnValueRange(ColumnID);

            if (result != null)
            {
                Message.Details = result.Details;
                dtgColumnKeyValue.ItemsSource = null;
                dtgColumnKeyValue.ItemsSource = Message.Details;
            }
        }
Exemplo n.º 7
0
 private void btnImportFunctions_Click(object sender, RoutedEventArgs e)
 {
     BizDatabase bizDatabase  = new BizDatabase();
     var         database     = bizDatabase.GetDatabase(DatabaseID);
     var         ImportHelper = ModelGenerator.GetDatabaseImportHelper(database);
     //ImportHelper.GenerateFunctions();
     //if (MessageBox.Show("فرایند ورود اطلاعات خودکار توابع" + Environment.NewLine + Environment.NewLine + "آیا مطمئن هستید؟", "تائید", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
     //{
     //    //try
     //    //{
     //    var result = ModelGenerator.GenerateFunctions();
     //    if (result)
     //    {
     //        BizDatabaseFunction bizDatabaseFunction = new BizDatabaseFunction();
     //        dtgFunctions.ItemsSource = bizDatabaseFunction.GetDatabaseFunctions(Enum_DatabaseFunctionType.None, DatabaseID);
     //        MessageBox.Show("Operation is completed.");
     //    }
     //    else
     //        MessageBox.Show("Operation is not done!");
     //}
 }
Exemplo n.º 8
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (txtName.Text == "")
            {
                MessageBox.Show("نام");
                return;
            }
            if (lokFirstSideEntity.SelectedItem == null)
            {
                MessageBox.Show("موجودیت سمت اول انتخاب نشده است");
                return;
            }
            if (lokSecondSideEntity.SelectedItem == null)
            {
                MessageBox.Show("موجودیت سمت دوم انتخاب نشده است");
                return;
            }

            if (lokFirstDataMenu.SelectedItem != null)
            {
                Message.FirstSideDataMenuID = (int)lokFirstDataMenu.SelectedValue;
            }
            if (lokSecondDataMenu.SelectedItem != null)
            {
                Message.SecondSideDataMenuID = (int)lokSecondDataMenu.SelectedValue;
            }

            foreach (var item in Message.RelationshipsTails)
            {
                if (colRelationshipTail.ItemsSource != null && colRelationshipTail.ItemsSource is List <EntityRelationshipTailDTO> )
                {
                    var tail = (colRelationshipTail.ItemsSource as List <EntityRelationshipTailDTO>).FirstOrDefault(x => x.ID == item.RelationshipTailID);
                    if (tail != null)
                    {
                        TableDrivedEntityDTO sEntity = lokSecondSideEntity.SelectedItem as TableDrivedEntityDTO;
                        if (tail.TargetEntityID != sEntity.ID)
                        {
                            MessageBox.Show("رشته رابطه" + " " + tail.EntityPath + " " + "با موجودیت" + " " + sEntity.Alias + " " + "در ارتباط نمی باشد");
                            return;
                        }
                    }
                }
            }
            foreach (var item in Message.RelationshipsTails)
            {
                if (item.RelationshipTailID != 0)
                {
                    var relationshipTail = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), item.RelationshipTailID);
                    BizTableDrivedEntity bizTableDrivedEntity = new MyModelManager.BizTableDrivedEntity();
                    var entity      = bizTableDrivedEntity.GetSimpleEntity(MyProjectManager.GetMyProjectManager.GetRequester(), relationshipTail.TargetEntityID);
                    var viewMessage = bizEntityRelationshipTail.CheckTailHasRelationshipWithView(relationshipTail);
                    if (viewMessage != "")
                    {
                        var message = "اشکال در تعریف لینک داده با موجودیت" + " " + string.IsNullOrEmpty(relationshipTail.TargetEntityAlias);
                        message += Environment.NewLine + "در رشته رابطه ارتباط با نمای" + " " + viewMessage + " " + "امکان پذیر نمی باشد";
                        MessageBox.Show(message);
                        return;
                    }
                }
            }

            var firstEntity  = lokFirstSideEntity.SelectedItem as TableDrivedEntityDTO;
            var secondEntity = lokSecondSideEntity.SelectedItem as TableDrivedEntityDTO;

            if (firstEntity.ServerID != secondEntity.ServerID)
            {
                BizDatabase bizDatabase = new BizDatabase();
                if (!bizDatabase.LinkedServerExists(firstEntity.ServerID, secondEntity.ServerID))
                {
                    MessageBox.Show("ارتباط لینک سرور بین موجودیت طرف اول و دوم وجود ندارد");
                    return;
                }
            }
            foreach (var item in Message.RelationshipsTails)
            {
                if (item.RelationshipTailID != 0)
                {
                    var relationshipTail    = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), item.RelationshipTailID);
                    var linkedServerMessage = bizEntityRelationshipTail.CheckRelationshipsLinkedServers(relationshipTail);
                    if (linkedServerMessage != "")
                    {
                        var message = "اشکال در رشته رابطه" + " " + string.IsNullOrEmpty(relationshipTail.EntityPath);
                        message += Environment.NewLine + linkedServerMessage;
                        MessageBox.Show(message);
                        return;
                    }
                }
            }
            Message.NotJointEntities = chkNotJoint.IsChecked == true;
            Message.ReportTitle      = txtName.Text;
            if (Message.ID == 0)
            {
                Message.TableDrivedEntityID = (int)lokFirstSideEntity.SelectedValue;
                Message.SecondSideEntityID  = (int)lokSecondSideEntity.SelectedValue;
            }

            Message.ID = bizDataLink.UpdateDataLink(Message);
            MessageBox.Show("اطلاعات ثبت شد");
            if (Updated != null)
            {
                Updated(this, new MyProject_WPF.UpdatedEventArg()
                {
                    ID = Message.ID
                });
            }
        }
        //private void GetRelationship(int ID)
        //{

        //}

        private void btnSaveAndSelect_Click(object sender, RoutedEventArgs e)
        {
            //در صورت ایجاد اولیه باید چک شود که طرف اول پرایمری کی باشد
            if (txtName.Text == "")
            {
                MessageBox.Show("نام رابطه");
                return;
            }
            if (cmbFirstEntity.SelectedItem == null)
            {
                MessageBox.Show("موجودیت سمت اول");
                return;
            }
            if (cmbSecondEntity.SelectedItem == null)
            {
                MessageBox.Show("موجودیت سمت دوم");
                return;
            }
            if (Message.RelationshipColumns.Count == 0)
            {
                MessageBox.Show("ستونها");
                return;
            }

            string      linkedServerMessage = "";
            BizDatabase bizDatabase         = new BizDatabase();
            var         firstEntity         = bizTableDrivedEntity.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), (int)cmbFirstEntity.SelectedValue, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships);
            var         secondEntity        = bizTableDrivedEntity.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), (int)cmbSecondEntity.SelectedValue, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships);

            if (firstEntity.ServerID != secondEntity.ServerID)
            {
                if (!bizDatabase.LinkedServerExists(firstEntity.ServerID, secondEntity.ServerID))
                {
                    linkedServerMessage += (linkedServerMessage == "" ? "" : Environment.NewLine) + "لینک سرور از طرف موجودیت" + " '" + firstEntity.Alias + "' " + "به موجودیت" + " '" + secondEntity.Alias + "' " + "تعریف نشده است";
                }
                if (!bizDatabase.LinkedServerExists(secondEntity.ServerID, firstEntity.ServerID))
                {
                    linkedServerMessage += (linkedServerMessage == "" ? "" : Environment.NewLine) + "لینک سرور از طرف موجودیت" + " '" + secondEntity.Alias + "' " + "به موجودیت" + " '" + firstEntity.Alias + "' " + "تعریف نشده است";
                }
            }
            if (!string.IsNullOrEmpty(linkedServerMessage))
            {
                var message = linkedServerMessage;
                message += Environment.NewLine + "به منظور استفاده از این رابطه در نمایش و جستجوی داده ها و عدم بروز خطا لینک سرورها تعریف شوند";
                MessageBox.Show(message);
                //         return;
            }
            if (!firstEntity.IsView && !secondEntity.IsView)
            {
                foreach (var relCol in Message.RelationshipColumns)
                {
                    var firstSideColumn = firstEntity.Columns.First(x => x.ID == relCol.FirstSideColumnID);
                    if (!firstSideColumn.PrimaryKey)
                    {
                        MessageBox.Show("ستون" + " " + firstSideColumn.Name + " " + "کلید اصلی نمی باشد");
                        return;
                    }
                }
            }
            Message.Name       = txtName.Text;
            Message.EntityID1  = (int)cmbFirstEntity.SelectedValue;
            Message.EntityID2  = (int)cmbSecondEntity.SelectedValue;
            Message.CreateType = (CreateRelationshipType)cmbRelationshipType.SelectedItem;

            var id = bizRelationship.CreateUpdateRelationship(MyProjectManager.GetMyProjectManager.GetRequester(), Message, chkSecondSideDataEntry.IsChecked == true);

            MessageBox.Show("اطلاعات ثبت شد");
            GetRelationship(id);
        }