コード例 #1
0
        private IDataLayer ConfigureConnection(params Type[] types)
        {
            XpoDefault.Session = null;
            var          store      = XpoDefault.GetConnectionProvider(_settings.ConnectionString, _settings.CreateOption, out var objectsToRelase);
            XPDictionary dictionary = new ReflectionDictionary();

            if (types != null)
            {
                dictionary.GetDataStoreSchema(types);
            }

            IDataLayer dataLayer = new ThreadSafeDataLayer(dictionary, store);

            // DATABASE MIGRATION CODE
            if (_settings.CreateOption == AutoCreateOption.SchemaOnly &&
                types != null)
            {
                // Prepare database structure
                using (DevExpress.Xpo.UnitOfWork session = new DevExpress.Xpo.UnitOfWork(dataLayer))
                {
                    session.UpdateSchema(types);
                    session.CreateObjectTypeRecords(types);
                }
            }

            return(dataLayer);
        }
コード例 #2
0
        public void ProcessStatements(long personId, long periodId, long?printerId, List <CDS.Client.DataAccessLayer.Types.Statement> statements)
        {
            BL.ApplicationDataContext.Instance.LoggedInUser = (DB.SEC_User)BL.SEC.SEC_User.LoadByPerson(personId, DataContext);
            BL.ApplicationDataContext.Instance.PopulateModuleAccess();
            BL.ApplicationDataContext.Instance.PopulateValidationRestrictions();

            Statements = statements;
            using (var uow = new DevExpress.Xpo.UnitOfWork())
            {
                Statements.ForEach(s =>
                {
                    var period             = uow.Query <XDB.SYS_Period>().SingleOrDefault(n => n.Id == periodId);
                    var currentuser        = uow.Query <XDB.SYS_Person>().SingleOrDefault(n => n.Id == BL.ApplicationDataContext.Instance.LoggedInUser.PersonId);
                    var entity             = uow.Query <XDB.SYS_Entity>().SingleOrDefault(n => n.Id == s.EntityId);
                    XDB.GLX_Statement stmt = new XDB.GLX_Statement(uow)
                    {
                        EntityId    = entity,
                        CreatedBy   = currentuser,
                        PeriodId    = period,
                        ShouldEmail = s.ShouldEmail,
                        ShouldPrint = s.ShouldPrint
                    };
                });

                uow.CommitChanges();
            }
            using (var uow = new DevExpress.Xpo.UnitOfWork())
            {
                //System.Threading.Tasks.Parallel.ForEach(
                foreach (var s in
                         uow.Query <XDB.GLX_Statement>().Where(n =>
                                                               n.ShouldEmail && n.HasMailed == null ||
                                                               n.ShouldPrint && n.HasPrinted == null)
                         )
                //, s =>
                {
                    using (var iuow = new DevExpress.Xpo.UnitOfWork())
                    {
                        if (s.ShouldPrint)
                        {
                            Statements.SingleOrDefault(n => n.EntityId == s.EntityId.Id).HasPrinted = ProcessStatementPrint(s.Id, printerId);
                        }

                        //System.Threading.Thread.Sleep(2000);

                        if (s.ShouldEmail)
                        {
                            Statements.SingleOrDefault(n => n.EntityId == s.EntityId.Id).HasMailed = ProcessStatementEmail(s.Id);
                        }

                        //System.Threading.Thread.Sleep(2000);

                        iuow.CommitChanges();
                    }
                }
                //);
            }

            Statements = null;
        }
コード例 #3
0
 public static void Seed()
 {
     using (var uow = new DevExpress.Xpo.UnitOfWork()) {
         var users = OutlookDataGenerator.Users
                     .Select(x =>
         {
             var split = x.Split(' ');
             return(new User(uow)
             {
                 FirstName = split[0],
                 LastName = split[1]
             });
         })
                     .ToArray();
         uow.CommitChanges();
         var rnd    = new Random(0);
         var issues = Enumerable.Range(0, 1000)
                      .Select(i => new Issue(uow)
         {
             Subject  = OutlookDataGenerator.GetSubject(),
             UserId   = users[rnd.Next(users.Length)].Oid,
             Created  = DateTime.Today.AddDays(-rnd.Next(30)),
             Priority = OutlookDataGenerator.GetPriority(),
             Votes    = rnd.Next(100),
         })
                      .ToArray();
         uow.CommitChanges();
     }
 }
 public void ValidateRowDeletion(DevExpress.Mvvm.Xpf.ValidateRowDeletionArgs args)
 {
     using (var unitOfWork = new DevExpress.Xpo.UnitOfWork()) {
         var key  = DetachedObjectsHelper.GetKey(args.Items.Single());
         var item = unitOfWork.GetObjectByKey <XPOIssues.Issues.Issue>(key);
         unitOfWork.Delete(item);
         unitOfWork.CommitChanges();
     }
 }
 void OnValidateRowDeletion(System.Object sender, DevExpress.Xpf.Grid.GridValidateRowDeletionEventArgs e)
 {
     using (var unitOfWork = new DevExpress.Xpo.UnitOfWork()) {
         var key  = _DetachedObjectsHelper.GetKey(e.Rows.Single());
         var item = unitOfWork.GetObjectByKey <XPOIssues.Issues.Issue>(key);
         unitOfWork.Delete(item);
         unitOfWork.CommitChanges();
     }
 }
コード例 #6
0
        public void XpoInitializerCreateSimpleDal_ShouldPass()
        {
            XpoInitializer XpoInitializer = new XpoInitializer(this.GetConnectionString("SimpleDal"), DataLayerType.Simple, typeof(Customer), typeof(Invoice));

            XpoInitializer.InitSchema();
            DevExpress.Xpo.UnitOfWork UnitOfWork = XpoInitializer.CreateUnitOfWork();


            Assert.IsTrue(UnitOfWork.DataLayer.GetType() == typeof(SimpleDataLayer));
        }
コード例 #7
0
        private bool ProcessStatementPrint(long statementId, long?printerId)
        {
            bool HasPrinted;

            if (!printerId.HasValue)
            {
                return(false);
            }

            using (var uow = new DevExpress.Xpo.UnitOfWork())
            {
                XDB.GLX_Statement statement = uow.Query <XDB.GLX_Statement>().SingleOrDefault(n => n.Id == statementId);

                XDB.SYS_Printer printer = uow.Query <XDB.SYS_Printer>().SingleOrDefault(n => n.Id == printerId.Value);

                try
                {
                    var account = uow.Query <XDB.GLX_Account>().Where(n => n.EntityId.Id == statement.EntityId.Id).Select(l => new { l.EntityId.CodeMain, l.EntityId.CodeSub }).FirstOrDefault();

                    if (account.CodeMain == BL.ApplicationDataContext.Instance.SiteAccounts.DebtorsEntity.CodeMain)
                    {
                        StatementPrinter sp = new StatementPrinter();
                        sp.PrintStatement(printer.Location, printer.PrinterModel, StatementCustomerPrintTemplate.OuterXml, statement.EntityId.Id, statement.PeriodId.Id, ConfigurationManager.ConnectionStrings["BaseConnection"].ConnectionString);

                        //sp = new StatementPrinter();
                        //if (!System.IO.Directory.Exists(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Statements"))
                        //    System.IO.Directory.CreateDirectory(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Statements");
                        //
                        //sp.PrintStatementToFile(string.Format(@"{0}\STATEMENT_{1}.txt", System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Statements", statement.EntityId.Id), printer.PrinterModel, StatementCustomerPrintTemplate.OuterXml, statement.EntityId.Id, statement.PeriodId.Id, ConfigurationManager.ConnectionStrings["BaseConnection"].ConnectionString);
                    }
                    else
                    if (account.CodeMain == BL.ApplicationDataContext.Instance.SiteAccounts.CreditorsEntity.CodeMain)
                    {
                        StatementPrinter sp = new StatementPrinter();
                        sp.PrintStatement(printer.Location, printer.PrinterModel, StatementSupplierPrintTemplate.OuterXml, statement.EntityId.Id, statement.PeriodId.Id, ConfigurationManager.ConnectionStrings["BaseConnection"].ConnectionString);

                        //sp = new StatementPrinter();
                        //if (!System.IO.Directory.Exists(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Statements"))
                        //    System.IO.Directory.CreateDirectory(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Statements");
                        //
                        //sp.PrintStatementToFile(string.Format(@"{0}\STATEMENT_{1}.txt", System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\Statements", statement.EntityId.Id), printer.PrinterModel, StatementSupplierPrintTemplate.OuterXml, statement.EntityId.Id, statement.PeriodId.Id, ConfigurationManager.ConnectionStrings["BaseConnection"].ConnectionString);
                    }

                    statement.HasPrinted = HasPrinted = true;
                }
                catch
                {
                    statement.HasPrinted = HasPrinted = false;
                }

                uow.CommitChanges();
            }

            return(HasPrinted);
        }
コード例 #8
0
        public void XpoInitializerUpdateSchema_ShouldPass()
        {
            XpoInitializer XpoInitializer = new XpoInitializer(this.GetConnectionString("UpdateSchema"), typeof(Customer), typeof(Invoice));

            XpoInitializer.InitSchema();
            DevExpress.Xpo.UnitOfWork UnitOfWork = XpoInitializer.CreateUnitOfWork();
            Customer Joche = new Customer(UnitOfWork);

            if (UnitOfWork.InTransaction)
            {
                UnitOfWork.CommitChanges();
            }
            Assert.IsNotNull(Joche);
        }
 public void ValidateRow(DevExpress.Mvvm.Xpf.RowValidationArgs args)
 {
     using (var unitOfWork = new DevExpress.Xpo.UnitOfWork()) {
         var item = args.IsNewItem
             ? new XPOIssues.Issues.Issue(unitOfWork)
             : unitOfWork.GetObjectByKey <XPOIssues.Issues.Issue>(DetachedObjectsHelper.GetKey(args.Item));
         DetachedObjectsHelper.ApplyProperties(item, args.Item);
         unitOfWork.CommitChanges();
         if (args.IsNewItem)
         {
             DetachedObjectsHelper.SetKey(args.Item, item.Oid);
         }
     }
 }
コード例 #10
0
 void OnValidateRow(System.Object sender, DevExpress.Xpf.Grid.GridRowValidationEventArgs e)
 {
     using (var unitOfWork = new DevExpress.Xpo.UnitOfWork()) {
         var item = e.IsNewItem
             ? new XPOIssues.Issues.Issue(unitOfWork)
             : unitOfWork.GetObjectByKey <XPOIssues.Issues.Issue>(_DetachedObjectsHelper.GetKey(e.Row));
         _DetachedObjectsHelper.ApplyProperties(item, e.Row);
         unitOfWork.CommitChanges();
         if (e.IsNewItem)
         {
             _DetachedObjectsHelper.SetKey(e.Row, item.Oid);
         }
     }
 }
コード例 #11
0
        protected override void OnStart()
        {
            base.OnStart();

            lblEmailProgress.Text = string.Format("Now Emailing 0 of {0}", statements.Count(n => n.ShouldEmail));
            lblPrintProgress.Text = string.Format("Now Printing 0 of {0}", statements.Count(n => n.ShouldPrint));

            using (var uow = new DevExpress.Xpo.UnitOfWork())
            {
                DateTime date = BL.ApplicationDataContext.Instance.ServerDateTime.AddMonths(-1);

                ddlPeriod.EditValue = uow.Query <XDB.SYS_Period>().Where(n => date > n.StartDate && date < n.EndDate).Select(l => l.Id).FirstOrDefault();
            }

            itmOk.Visibility = ViewOnly ? DevExpress.XtraLayout.Utils.LayoutVisibility.Never : DevExpress.XtraLayout.Utils.LayoutVisibility.Always;

            if (ViewOnly)
            {
                UpdateTimer.Start();
            }
        }
コード例 #12
0
        public static void BuildNavBarLinks(NavBarControl _navCtrl, DevExpress.Xpo.UnitOfWork _session)
        {
            var infoList = UIFormInfo.GetOrBuildFormEntityList(_session);

            foreach (NavBarItem link in _navCtrl.Items.Where(x => x.Tag != null)) //Tag foreach Link item must have FormEntity Enum value represent Form name
            {
                CoreLib.MyEnums.FormEntityEnum frmName = (CoreLib.MyEnums.FormEntityEnum)link.Tag;
                var dbRow = infoList.Where(x => x.FormEntity == (int)frmName).FirstOrDefault();
                //link.Name = dbRow.FormName;
                link.Caption = dbRow.LinkCaption;

                link.LinkClicked += (s, e) =>
                {
                    var  sender   = (NavBarItem)s;
                    var  linkCode = (CoreLib.MyEnums.FormEntityEnum)sender.Tag;
                    Args _args    = new Args()
                    {
                        Caller = MdiParentForm
                    };
                    OpenLinkToFormEntity(linkCode, _args);
                };
            }
        }
コード例 #13
0
        private bool ProcessStatementEmail(long statementId)
        {
            bool HasMailed;

            using (var uow = new DevExpress.Xpo.UnitOfWork())
            {
                XDB.GLX_Statement statement = uow.Query <XDB.GLX_Statement>().SingleOrDefault(n => n.Id == statementId);

                var             account = uow.Query <XDB.GLX_Account>().SingleOrDefault(n => n.EntityId.Id == statement.EntityId.Id);
                XDB.ORG_Company company = null;

                if (account.EntityId.CodeMain == BL.ApplicationDataContext.Instance.SiteAccounts.DebtorsEntity.CodeMain)
                {
                    company = uow.Query <XDB.ORG_Company>().SingleOrDefault(n => n.TypeId.Id == (byte)BL.ORG.ORG_Type.Customer && n.EntityId.EntityId.CodeSub == account.EntityId.CodeSub);
                }
                else
                if (account.EntityId.CodeMain == BL.ApplicationDataContext.Instance.SiteAccounts.CreditorsEntity.CodeMain)
                {
                    company = uow.Query <XDB.ORG_Company>().SingleOrDefault(n => n.TypeId.Id == (byte)BL.ORG.ORG_Type.Supplier && n.EntityId.EntityId.CodeSub == account.EntityId.CodeSub);
                }

                if (!System.Text.RegularExpressions.Regex.IsMatch(company.AccountsContactEmail,
                                                                  @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
                                                                  @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250)))
                {
                    return(false);
                }



                try
                {
                    DB.RPT_Report rptReport = BL.RPT.RPT_Report.LoadByName("Account Statement", DataContext);

                    System.IO.Stream xmlstream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(rptReport.Data));

                    DevExpress.XtraReports.UI.XtraReport report = new DevExpress.XtraReports.UI.XtraReport();
                    report.LoadLayoutFromXml(xmlstream);

                    if (report.DataSource is DevExpress.DataAccess.Sql.SqlDataSource)
                    {
                        ((DevExpress.DataAccess.Sql.SqlDataSource)(report.DataSource)).Connection.ConnectionString = BL.ApplicationDataContext.Instance.SqlConnectionString.ConnectionString;
                    }
                    else
                    {
                        throw new Exception("Data Source type not implemented in reports");
                    }

                    DevExpress.XtraReports.Parameters.ParameterCollection Parameters = new DevExpress.XtraReports.Parameters.ParameterCollection();
                    Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter()
                    {
                        Name = "Account", Value = statement.EntityId.Id
                    });
                    Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter()
                    {
                        Name = "Period", Value = statement.PeriodId.Id
                    });

                    if (Parameters.Count != 0)
                    {
                        foreach (var extparam in Parameters)
                        {
                            foreach (var param in report.Parameters)
                            {
                                if (extparam.Name == param.Name)
                                {
                                    param.Value = extparam.Value;
                                    break;
                                }
                            }
                        }
                    }



                    // Create a new memory stream and export the report into it as PDF.
                    System.IO.MemoryStream mem = new System.IO.MemoryStream();
                    report.ExportToPdf(mem);

                    // Create a new attachment and put the PDF report into it.
                    mem.Seek(0, System.IO.SeekOrigin.Begin);
                    System.Net.Mail.Attachment att = new System.Net.Mail.Attachment(mem, account.EntityId.CodeMain + ".pdf", "application/pdf");

                    // Create a new message and attach the PDF report to it.
                    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                    mail.Attachments.Add(att);

                    report.ExportOptions.Email.RecipientAddress = company.AccountsContactEmail;
                    report.ExportOptions.Email.RecipientName    = company.AccountsContactName;
                    report.ExportOptions.Email.Subject          = "Statement of Account for ACC# " + account.EntityId.CodeSub;
                    report.ExportOptions.Email.Body             = string.Format("Please see attached Statement of Account for ACC# {0} ({1:N2})", account.EntityId.CodeSub, account.EntityId.AccountBalance);

                    // Specify sender and recipient options for the e-mail message.
                    mail.From = new System.Net.Mail.MailAddress(BL.ApplicationDataContext.Instance.CompanySite.AccountEmailAddress, BL.ApplicationDataContext.Instance.LoggedInUser.DisplayName);
                    mail.To.Add(new System.Net.Mail.MailAddress(report.ExportOptions.Email.RecipientAddress,
                                                                report.ExportOptions.Email.RecipientName));

                    // Specify other e-mail options.
                    mail.Subject = report.ExportOptions.Email.Subject;
                    mail.Body    = report.ExportOptions.Email.Body;

                    // Send the e-mail message via the specified SMTP server.
                    System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient(BL.ApplicationDataContext.Instance.CompanySite.SMTPServerLocation, 587);
                    if (BL.ApplicationDataContext.Instance.CompanySite.AccountEmailPassword != null && BL.ApplicationDataContext.Instance.CompanySite.AccountEmailPassword != string.Empty)
                    {
                        System.Net.NetworkCredential credential =
                            new System.Net.NetworkCredential(BL.ApplicationDataContext.Instance.CompanySite.AccountEmailUsername, BL.ApplicationDataContext.Instance.CompanySite.AccountEmailPassword);

                        if (BL.ApplicationDataContext.Instance.CompanySite.AccountEmailDomain != string.Empty)
                        {
                            credential.Domain = BL.ApplicationDataContext.Instance.CompanySite.AccountEmailDomain;
                        }

                        smtpClient.UseDefaultCredentials = false;
                        smtpClient.Credentials           = credential;
                        smtpClient.EnableSsl             = true;
                    }
                    smtpClient.Send(mail);

                    // Close the memory stream.
                    mem.Close();
                    mem.Flush();
                    statement.HasMailed = HasMailed = true;
                }
                catch (Exception ex)
                {
                    statement.HasMailed = HasMailed = false;
                }

                uow.CommitChanges();
            }
            return(HasMailed);
        }
コード例 #14
0
 public File(DevExpress.Xpo.UnitOfWork uow) : this()
 {
 }
 /// <summary>
 /// Required method for Designer support - do not modify
 /// the contents of this method with the code editor.
 /// </summary>
 private void InitializeComponent()
 {
     DevExpress.XtraGrid.GridLevelNode gridLevelNode1 = new DevExpress.XtraGrid.GridLevelNode();
     this.gridView2            = new DevExpress.XtraGrid.Views.Grid.GridView();
     this.colOrderID           = new DevExpress.XtraGrid.Columns.GridColumn();
     this.colEmployeeFirstName = new DevExpress.XtraGrid.Columns.GridColumn();
     this.colEmployeeLastName  = new DevExpress.XtraGrid.Columns.GridColumn();
     this.colOrderDate         = new DevExpress.XtraGrid.Columns.GridColumn();
     this.colFreight           = new DevExpress.XtraGrid.Columns.GridColumn();
     this.gridControl1         = new DevExpress.XtraGrid.GridControl();
     this.xpCollection1        = new DevExpress.Xpo.XPCollection();
     this.unitOfWork1          = new DevExpress.Xpo.UnitOfWork();
     this.gridView1            = new DevExpress.XtraGrid.Views.Grid.GridView();
     this.colCustomerID        = new DevExpress.XtraGrid.Columns.GridColumn();
     this.colCompanyName       = new DevExpress.XtraGrid.Columns.GridColumn();
     this.colContactTitle      = new DevExpress.XtraGrid.Columns.GridColumn();
     this.panelControl1        = new DevExpress.XtraEditors.PanelControl();
     this.labelControl2        = new DevExpress.XtraEditors.LabelControl();
     this.labelControl1        = new DevExpress.XtraEditors.LabelControl();
     this.btnFilterStandard    = new DevExpress.XtraEditors.SimpleButton();
     this.btnFiterSimplified   = new DevExpress.XtraEditors.SimpleButton();
     this.btnClear             = new DevExpress.XtraEditors.SimpleButton();
     ((System.ComponentModel.ISupportInitialize)(this.gridView2)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.gridControl1)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.xpCollection1)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.unitOfWork1)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
     ((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit();
     this.panelControl1.SuspendLayout();
     this.SuspendLayout();
     //
     // gridView2
     //
     this.gridView2.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
         this.colOrderID,
         this.colEmployeeFirstName,
         this.colEmployeeLastName,
         this.colOrderDate,
         this.colFreight
     });
     this.gridView2.GridControl = this.gridControl1;
     this.gridView2.Name        = "gridView2";
     this.gridView2.OptionsView.ShowGroupPanel = false;
     //
     // colOrderID
     //
     this.colOrderID.Caption      = "OrderID";
     this.colOrderID.FieldName    = "OrderID";
     this.colOrderID.Name         = "colOrderID";
     this.colOrderID.Visible      = true;
     this.colOrderID.VisibleIndex = 0;
     //
     // colEmployeeFirstName
     //
     this.colEmployeeFirstName.Caption      = "Employee First Name";
     this.colEmployeeFirstName.FieldName    = "Employee.FirstName";
     this.colEmployeeFirstName.Name         = "colEmployeeFirstName";
     this.colEmployeeFirstName.Visible      = true;
     this.colEmployeeFirstName.VisibleIndex = 1;
     //
     // colEmployeeLastName
     //
     this.colEmployeeLastName.Caption      = "Employee Last Name";
     this.colEmployeeLastName.FieldName    = "Employee.LastName";
     this.colEmployeeLastName.Name         = "colEmployeeLastName";
     this.colEmployeeLastName.Visible      = true;
     this.colEmployeeLastName.VisibleIndex = 2;
     //
     // colOrderDate
     //
     this.colOrderDate.Caption      = "Order Date";
     this.colOrderDate.FieldName    = "OrderDate";
     this.colOrderDate.Name         = "colOrderDate";
     this.colOrderDate.Visible      = true;
     this.colOrderDate.VisibleIndex = 3;
     //
     // colFreight
     //
     this.colFreight.Caption      = "Freight";
     this.colFreight.FieldName    = "Freight";
     this.colFreight.Name         = "colFreight";
     this.colFreight.Visible      = true;
     this.colFreight.VisibleIndex = 4;
     //
     // gridControl1
     //
     this.gridControl1.DataSource = this.xpCollection1;
     this.gridControl1.Dock       = System.Windows.Forms.DockStyle.Fill;
     gridLevelNode1.LevelTemplate = this.gridView2;
     gridLevelNode1.RelationName  = "Orders";
     this.gridControl1.LevelTree.Nodes.AddRange(new DevExpress.XtraGrid.GridLevelNode[] {
         gridLevelNode1
     });
     this.gridControl1.Location = new System.Drawing.Point(0, 0);
     this.gridControl1.MainView = this.gridView1;
     this.gridControl1.Name     = "gridControl1";
     this.gridControl1.ShowOnlyPredefinedDetails = true;
     this.gridControl1.Size     = new System.Drawing.Size(547, 279);
     this.gridControl1.TabIndex = 1;
     this.gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
         this.gridView1,
         this.gridView2
     });
     //
     // xpCollection1
     //
     this.xpCollection1.DisplayableProperties = "This;CustomerID;CompanyName;ContactTitle;Orders";
     this.xpCollection1.ObjectType            = typeof(AggregateFilterOnAssociatedCollection.Customer);
     this.xpCollection1.Session = this.unitOfWork1;
     //
     // gridView1
     //
     this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
         this.colCustomerID,
         this.colCompanyName,
         this.colContactTitle
     });
     this.gridView1.GridControl = this.gridControl1;
     this.gridView1.Name        = "gridView1";
     this.gridView1.OptionsDetail.ShowDetailTabs = false;
     this.gridView1.OptionsView.ShowFooter       = true;
     this.gridView1.OptionsView.ShowGroupPanel   = false;
     //
     // colCustomerID
     //
     this.colCustomerID.Caption   = "CustomerID";
     this.colCustomerID.FieldName = "CustomerID";
     this.colCustomerID.Name      = "colCustomerID";
     this.colCustomerID.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count;
     this.colCustomerID.Visible      = true;
     this.colCustomerID.VisibleIndex = 0;
     //
     // colCompanyName
     //
     this.colCompanyName.Caption      = "CompanyName";
     this.colCompanyName.FieldName    = "CompanyName";
     this.colCompanyName.Name         = "colCompanyName";
     this.colCompanyName.Visible      = true;
     this.colCompanyName.VisibleIndex = 1;
     //
     // colContactTitle
     //
     this.colContactTitle.Caption      = "ContactTitle";
     this.colContactTitle.FieldName    = "ContactTitle";
     this.colContactTitle.Name         = "colContactTitle";
     this.colContactTitle.Visible      = true;
     this.colContactTitle.VisibleIndex = 2;
     //
     // panelControl1
     //
     this.panelControl1.Controls.Add(this.labelControl2);
     this.panelControl1.Controls.Add(this.labelControl1);
     this.panelControl1.Controls.Add(this.btnFilterStandard);
     this.panelControl1.Controls.Add(this.btnFiterSimplified);
     this.panelControl1.Controls.Add(this.btnClear);
     this.panelControl1.Dock     = System.Windows.Forms.DockStyle.Bottom;
     this.panelControl1.Location = new System.Drawing.Point(0, 279);
     this.panelControl1.Name     = "panelControl1";
     this.panelControl1.Size     = new System.Drawing.Size(547, 88);
     this.panelControl1.TabIndex = 0;
     //
     // labelControl2
     //
     this.labelControl2.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.Horizontal;
     this.labelControl2.Location     = new System.Drawing.Point(16, 64);
     this.labelControl2.Name         = "labelControl2";
     this.labelControl2.Size         = new System.Drawing.Size(63, 13);
     this.labelControl2.TabIndex     = 4;
     this.labelControl2.Text         = "labelControl2";
     //
     // labelControl1
     //
     this.labelControl1.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.Horizontal;
     this.labelControl1.Location     = new System.Drawing.Point(16, 40);
     this.labelControl1.Name         = "labelControl1";
     this.labelControl1.Size         = new System.Drawing.Size(63, 13);
     this.labelControl1.TabIndex     = 3;
     this.labelControl1.Text         = "labelControl1";
     //
     // btnFilterStandard
     //
     this.btnFilterStandard.Location = new System.Drawing.Point(18, 8);
     this.btnFilterStandard.Name     = "btnFilterStandard";
     this.btnFilterStandard.Size     = new System.Drawing.Size(184, 23);
     this.btnFilterStandard.TabIndex = 2;
     this.btnFilterStandard.Text     = "Apply Filter (Standard Syntax)";
     this.btnFilterStandard.Click   += new System.EventHandler(this.btnFiterStandard_Click);
     //
     // btnFiterSimplified
     //
     this.btnFiterSimplified.Location = new System.Drawing.Point(208, 8);
     this.btnFiterSimplified.Name     = "btnFiterSimplified";
     this.btnFiterSimplified.Size     = new System.Drawing.Size(184, 23);
     this.btnFiterSimplified.TabIndex = 2;
     this.btnFiterSimplified.Text     = "Apply Filter (Simplified Syntax)";
     this.btnFiterSimplified.Click   += new System.EventHandler(this.btnFiterSimplified_Click);
     //
     // btnClear
     //
     this.btnClear.Location = new System.Drawing.Point(400, 8);
     this.btnClear.Name     = "btnClear";
     this.btnClear.Size     = new System.Drawing.Size(75, 23);
     this.btnClear.TabIndex = 1;
     this.btnClear.Text     = "Clear Filter";
     this.btnClear.Click   += new System.EventHandler(this.btnClear_Click);
     //
     // Form1
     //
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize        = new System.Drawing.Size(547, 367);
     this.Controls.Add(this.gridControl1);
     this.Controls.Add(this.panelControl1);
     this.Name  = "Form1";
     this.Text  = "Form1";
     this.Load += new System.EventHandler(this.Form1_Load);
     ((System.ComponentModel.ISupportInitialize)(this.gridView2)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.gridControl1)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.xpCollection1)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.unitOfWork1)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
     ((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit();
     this.panelControl1.ResumeLayout(false);
     this.panelControl1.PerformLayout();
     this.ResumeLayout(false);
 }