public override Select GetEntitiesSelect()
        {
            Select sysAdminUnitInRoleSelect = GetSysAdminUnitInRoleSelect();
            ISchemaManagerItem <EntitySchema> invoiceEntitySchema =
                UserConnection.EntitySchemaManager.FindItemByName(InvoiceSchemaName);
            Guid sysImage = GetNotificationImage(InvoiceVisaSchemaName, RemindingConsts.NotificationTypeRemindingId);

            Guid[]    finallyStatuses = NotificationUtilities.GetFinallyVisaStatuses(UserConnection);
            string    invoiceCaption  = invoiceEntitySchema.Caption;
            QueryCase queryCase       = GetQueryCase();
            var       entitiesSelect  = new Select(UserConnection)
                                        .Column(InvoiceVisaSchemaName, "Id")
                                        .Column(InvoiceVisaSchemaName, "CreatedOn")
                                        .Column(InvoiceVisaSchemaName, "CreatedById")
                                        .Column(InvoiceVisaSchemaName, "ModifiedOn")
                                        .Column(InvoiceVisaSchemaName, "ModifiedById")
                                        .Column(InvoiceVisaSchemaName, "ProcessListeners")
                                        .Column(InvoiceVisaSchemaName, "Objective")
                                        .Column(queryCase).As("VisaOwnerId")
                                        .Column(InvoiceVisaSchemaName, "IsAllowedToDelegate")
                                        .Column(InvoiceVisaSchemaName, "DelegatedFromId")
                                        .Column(InvoiceVisaSchemaName, "StatusId")
                                        .Column(InvoiceVisaSchemaName, "SetById")
                                        .Column(InvoiceVisaSchemaName, "SetDate")
                                        .Column(InvoiceVisaSchemaName, "IsCanceled")
                                        .Column(InvoiceVisaSchemaName, "Comment")
                                        .Column(Column.Parameter(InvoiceSchemaName)).As("VisaSchemaName")
                                        .Column(InvoiceSchemaName, "Number").As("Title")
                                        .Column(InvoiceSchemaName, "Id").As("VisaObjectId")
                                        .Column(InvoiceSchemaName, "StartDate").As("Date")
                                        .Column("Account", "Name").As("Account")
                                        .Column("Contact", "Name").As("Contact")
                                        .Column(Column.Parameter(Guid.Empty)).As("VisaSchemaTypeId")
                                        .Column(Column.Parameter(string.Empty)).As("VisaTypeName")
                                        .Column(Column.Parameter(invoiceCaption)).As("VisaSchemaCaption")
                                        .Column(Column.Parameter(InvoiceSchemaName)).As("SchemaName")
                                        .Column(Column.Parameter(sysImage)).As("ImageId")
                                        .Distinct()
                                        .From(InvoiceVisaSchemaName)
                                        .InnerJoin(InvoiceSchemaName).On(InvoiceSchemaName, "Id").IsEqual(InvoiceVisaSchemaName, "InvoiceId")
                                        .InnerJoin(sysAdminUnitInRoleSelect).As("SysAdminUnitRole")
                                        .On(InvoiceVisaSchemaName, "VisaOwnerId").IsEqual("SysAdminUnitRole", "SysAdminUnitRoleId")
                                        .LeftOuterJoin("SysUserInRole")
                                        .On("SysUserInRole", "SysRoleId").IsEqual("SysAdminUnitRole", "SysAdminUnitId")
                                        .LeftOuterJoin("Account").On("Account", "Id").IsEqual(InvoiceSchemaName, "AccountId")
                                        .LeftOuterJoin("Contact").On("Contact", "Id").IsEqual(InvoiceSchemaName, "ContactId")
                                        .Where(InvoiceVisaSchemaName, "VisaOwnerId").In(
                new Select(UserConnection).Column("SysAdminUnitRoleId").From("SysAdminUnitInRole")
                .Where("SysAdminUnitId").IsEqual(Column.Parameter(_sysAdminUnit)))
                                        .And(InvoiceVisaSchemaName, "StatusId").Not().In(Column.Parameters(finallyStatuses))
                                        .And(InvoiceVisaSchemaName, "IsCanceled").IsEqual(Column.Parameter(false)) as Select;

            return(entitiesSelect);
        }
Exemple #2
0
        /// <summary>
        /// Returns <see cref="Select"/> of entity./>
        /// </summary>
        /// <returns>A <see cref="Select"/> instance.</returns>
        public override Select GetEntitiesSelect()
        {
            Select sysAdminUnitInRoleSelect = GetSysAdminUnitInRoleSelect();

            Guid[]    finallyStatuses = NotificationUtilities.GetFinallyVisaStatuses(UserConnection);
            QueryCase queryCase       = GetVisaOwnerQueryCase();
            var       entitiesSelect  = new Select(UserConnection)
                                        .Distinct()
                                        .Column(Visa, "Id")
                                        .Column(Visa, "CreatedOn")
                                        .Column(Visa, "CreatedById")
                                        .Column(Visa, "ModifiedOn")
                                        .Column(Visa, "ModifiedById")
                                        .Column(Visa, "ProcessListeners")
                                        .Column(Visa, "Objective").As("Objective")
                                        .Column(queryCase).As("VisaOwnerId")
                                        .Column(Visa, "IsAllowedToDelegate")
                                        .Column(Visa, "DelegatedFromId")
                                        .Column(Visa, "StatusId")
                                        .Column(Visa, "SetById")
                                        .Column(Visa, "SetDate").As("SetDate")
                                        .Column(Visa, "IsCanceled")
                                        .Column(Visa, "Comment")
                                        .Column(Column.Parameter(Visa)).As("VisaSchemaName")
                                        .Column(Name, TitleColumn).As("Title")
                                        .Column(Name, "Id").As("VisaObjectId")
                                        .Column(Visa, "CreatedOn").As("Date")
                                        .Column(Column.Parameter(string.Empty)).As("Account")
                                        .Column(Column.Parameter(string.Empty)).As("Contact")
                                        .Column(Column.Parameter(Guid.Empty)).As("VisaSchemaTypeId")
                                        .Column(Column.Parameter(string.Empty)).As("VisaTypeName")
                                        .Column(Column.Parameter(Caption)).As("VisaSchemaCaption")
                                        .Column(Column.Parameter(Name)).As("SchemaName")
                                        .Column(Column.Parameter(ImageId)).As("ImageId")
                                        .From(Visa)
                                        .InnerJoin(Name).On(Name, "Id").IsEqual(Visa, VisaMasterColumn)
                                        .InnerJoin(sysAdminUnitInRoleSelect).As("SysAdminUnitRole")
                                        .On(Visa, "VisaOwnerId").IsEqual("SysAdminUnitRole", "SysAdminUnitRoleId")
                                        .LeftOuterJoin("SysUserInRole")
                                        .On("SysUserInRole", "SysRoleId").IsEqual("SysAdminUnitRole", "SysAdminUnitId")
                                        .Where(Visa, "VisaOwnerId").In(
                new Select(UserConnection).Column("SysAdminUnitRoleId").From("SysAdminUnitInRole")
                .Where("SysAdminUnitId").IsEqual(Column.Parameter(_sysAdminUnit)))
                                        .And().OpenBlock(Visa, "StatusId").Not().In(Column.Parameters(finallyStatuses))
                                        .Or(Visa, "StatusId").IsNull()
                                        .CloseBlock()
                                        .And(Visa, "IsCanceled").IsEqual(Column.Parameter(false)) as Select;

            return(entitiesSelect);
        }
Exemple #3
0
 protected override void AddConditions(Select select)
 {
     Guid[] finallyStatuses = NotificationUtilities.GetFinallyVisaStatuses(UserConnection);
     select.Where(OrderVisaSchemaName, "StatusId").Not().In(Column.Parameters(finallyStatuses))
     .And(OrderVisaSchemaName, "IsCanceled").IsEqual(Column.Parameter(false));
 }
 public virtual bool IsFinalStatus(Guid statusId)
 {
     Guid[] finallyStatuses = NotificationUtilities.GetFinallyVisaStatuses(UserConnection);
     return(finallyStatuses.Contains(statusId));
 }