예제 #1
0
        public ftmEntityRelationshipTailDataMenu(int EntityRelationshipTailDataMenu, int relationshipTailID)
        {
            InitializeComponent();

            EntityRelationshipTail = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), relationshipTailID);
            //    BizTableDrivedEntity biz = new BizTableDrivedEntity();
            //    var entity = biz.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), EntityID, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships);
            //    if (entity.IsView)
            //       colRelationshipTail.IsVisible = false;
            // EntityDataMenuID = entityDataMenuID;
            SetItems();
            if (EntityRelationshipTailDataMenu == 0)
            {
                Message = new EntityRelationshipTailDataMenuDTO();
                ShowMessage();
            }
            else
            {
                GetEntityRelationshipTailDataMenu(EntityRelationshipTailDataMenu);
            }

            colDataMenu.DisplayMemberPath       = "Name";
            colDataMenu.SelectedValueMemberPath = "ID";

            ControlHelper.GenerateContextMenu(dtgColumns);
        }
        private void SetColumns(EntitySearchColumnsDTO condition)
        {
            colColumns.DisplayMemberPath       = "Name";
            colColumns.SelectedValueMemberPath = "ID";
            BizTableDrivedEntity biz = new BizTableDrivedEntity();

            if (condition.RelationshipTailID == 0)
            {
                var entity = biz.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), EntityID, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships);
                condition.vwValueColumns = entity.Columns;;
            }
            else
            {
                var relationshipTail = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), condition.RelationshipTailID);
                var entity           = biz.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), relationshipTail.TargetEntityID, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships);
                condition.vwValueColumns = entity.Columns;
            }
        }
 private void ColDataGridRelTargetDataMenuSetting_EditItemClicked(object sender, EditItemClickEventArg e)
 {
     if (e.DataConext is DataMenuDataViewRelationshipDTO)
     {
         var context = e.DataConext as DataMenuDataViewRelationshipDTO;
         if (context.RelationshipTailID != 0)
         {
             var tail = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), context.RelationshipTailID);
             frmDataMenuSetting frm = new frmDataMenuSetting(tail.TargetEntityID, context.TargetDataMenuSettingID);
             MyProjectManager.GetMyProjectManager.ShowDialog(frm, "رابطه های مرتبط");
             frm.DataUpdated += (sender1, e1) => Frm_TailSelected(sender1, e1, sender as MyStaticLookup, context);
         }
     }
     else if (e.DataConext is DataMenuGridViewRelationshipDTO)
     {
         var context            = e.DataConext as DataMenuGridViewRelationshipDTO;
         var tail               = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), context.RelationshipTailID);
         frmDataMenuSetting frm = new frmDataMenuSetting(tail.TargetEntityID, context.TargetDataMenuSettingID);
         MyProjectManager.GetMyProjectManager.ShowDialog(frm, "رابطه های مرتبط");
         frm.DataUpdated += (sender1, e1) => Frm_TailSelected(sender1, e1, sender as MyStaticLookup, context);
     }
 }
예제 #4
0
        private void SetSubListReports(EntityListReportSubsDTO subReport)
        {
            if (subReport.EntityRelationshipTailID != 0)
            {
                colSubListReport.DisplayMemberPath       = "ReportTitle";
                colSubListReport.SelectedValueMemberPath = "ID";

                var relationshipTail = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), subReport.EntityRelationshipTailID);
                var listReports      = bizEntityListReport.GetEntityListReports(MyProjectManager.GetMyProjectManager.GetRequester(), relationshipTail.TargetEntityID);
                ObservableCollection <EntityListReportDTO> list = new ObservableCollection <EntityListReportDTO>();
                listReports.ForEach(x => list.Add(x));
                subReport.vwListReports = listReports;
                //   colSubListReport.ItemsSourceBinding = new Binding("vwListReports");
            }
        }
 private void SetLetterRelationshipTemplates(LetterTemplateRelationshipFieldDTO field)
 {
     if (field.RelationshipTailID != 0)
     {
         if (field.RelationshipTail == null || field.RelationshipTail.ID != field.RelationshipTailID)
         {
             field.RelationshipTail = bizEntityRelationshipTail.GetEntityRelationshipTail(MyProjectManager.GetMyProjectManager.GetRequester(), field.RelationshipTailID);
         }
         field.tmpPartialLetterTemplates = bizLetterTemplate.GetPartialLetterTemplates(MyProjectManager.GetMyProjectManager.GetRequester(), field.RelationshipTail.TargetEntityID);
     }
     else
     {
         field.tmpPartialLetterTemplates = new List <PartialLetterTemplateDTO>();
         field.RelationshipTail          = null;
     }
 }
        private void SetReportDetails(DR_Requester requester, Report report, List <ColumnSizeLocation> columnsSizeLocation)
        {
            bool hasSub = ListReportReportDTO.EntityListReportSubs.Any();

            var detail = new Telerik.Reporting.DetailSection();

            detail.Height = Telerik.Reporting.Drawing.Unit.Cm(0.5);
            detail.Name   = "detail";

            ReportStyles.SetReportDetailStyle(detail.Style);
            report.Items.Add(detail);


            Panel panel = new Panel();

            panel.Width = reportWidth;
            ReportStyles.SetDetailPanelStyle(panel.Style, hasSub);
            detail.Items.Add(panel);
            //سکوریتی بروی ستوها اعمال شود
            var columns = ListReportReportDTO.EntityListView.EntityListViewAllColumns;

            int index = 0;

            foreach (var column in columns)
            {
                if (ListReportReportDTO.ReportGroups != null)
                {
                    if (ListReportReportDTO.ReportGroups.Any(x => x.ListViewColumnID == column.ID))
                    {
                        continue;
                    }
                }
                var columnTextbox = new TextBox();
                columnTextbox.CanGrow = false;

                columnTextbox.Name = column.Column.Name;
                ReportStyles.SetDetailTextboxStyle(columnTextbox.Style);
                var columnSizeLocation = columnsSizeLocation.First(x => x.LictViewColumnID == column.ID);
                columnTextbox.Width    = columnSizeLocation.Width;
                columnTextbox.Location = new PointU(columnSizeLocation.XLocation - Unit.Cm(0.0), Unit.Cm(0));
                columnTextbox.Height   = detail.Height;
                //var columnName = "";
                //if (column.RelationshipTailID == 0)
                //{
                //    columnName = column.Column.Name + "0";// + "'";

                //}
                //else
                //{

                //}
                columnTextbox.Value = string.Format("= Fields.{0}", column.RelativeColumnName);
                panel.Items.Add(columnTextbox);
                index++;
            }
            int subIndex = 0;

            foreach (var subDTO in ListReportReportDTO.EntityListReportSubs)
            {
                if (CheckSubReportIsRepeated(subDTO))
                {
                    continue;
                }
                SubReport subReport = new SubReport();
                subReport.Width = reportWidth;
                subReport.Top   = detail.Height + Unit.Cm(subIndex * 0.5);
                subIndex++;


                RR_ReportSourceRequest newrequest = new RR_ReportSourceRequest(Request.Requester);
                newrequest.Identity = Request.Identity;
                newrequest.Name     = Request.Name;
                var tail = bizEntityRelationshipTail.GetEntityRelationshipTail(requester, subDTO.EntityRelationshipTailID);
                newrequest.SearchDataItems = new DP_SearchRepository(tail.TargetEntityID);

                var entityListReport = bizEntityListReport.GetEntityListReport(requester, subDTO.EntityListReportID, true);
                newrequest.ReportID = entityListReport.ID;
                Unit SubReportWidth = reportWidth - Unit.Cm(1);
                //    var relationshipTail = bizEntityRelationshipTail.GetEntityRelationshipTail(subDTO.EntityRelationshipTailID);

                ListReportResolver listReportResolver = new ListReportResolver(entityListReport, newrequest, SubReportWidth, this, subDTO, ReportLevel + 1);
                var subListReportSource = listReportResolver.GetListReport(requester);
                subReport.ReportSource = subListReportSource;
                subReport.Left         = Unit.Cm(0.5);

                ReportStyles.SetSubreportStyle(subReport.Style);


                foreach (var relColumn in subDTO.SubsColumnsDTO)
                {
                    var parameter = new Parameter();
                    parameter.Name  = relColumn.ParentEntityListViewColumnRelativeName;
                    parameter.Value = string.Format("= Fields.{0}", relColumn.ParentEntityListViewColumnRelativeName);
                    subReport.Parameters.Add(parameter);
                }


                detail.Items.Add(subReport);
            }
        }
예제 #7
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 btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (txtName.Text == "")
            {
                MessageBox.Show("نام");
                return;
            }
            if (lokFirstSideEntity.SelectedItem == null)
            {
                MessageBox.Show("موجودیت سمت اول انتخاب نشده است");
                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;
                    }
                }
            }

            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.ReportTitle = txtName.Text;
            if (lokFirstDataMenu.SelectedItem != null)
            {
                Message.FirstSideDataMenuID = (int)lokFirstDataMenu.SelectedValue;
            }
            Message.TableDrivedEntityID = (int)lokFirstSideEntity.SelectedValue;
            Message.NotJointEntities    = chkNotJoint.IsChecked == true;
            Message.ID = bizGraph.UpdateGraph(Message);
            MessageBox.Show("اطلاعات ثبت شد");
            if (Updated != null)
            {
                Updated(this, new MyProject_WPF.UpdatedEventArg()
                {
                    ID = Message.ID
                });
            }
        }