Example #1
1
        public string GetPublicIp()
        {
            var ipServices = new Func<string>[]
            {
                () => new IpInfoIpService().GetPublicIp(),
                () => new DynDnsIpService().GetPublicIp(),
                () => new IpifyIpService().GetPublicIp(),
                () => new ICanHazIpService().GetPublicIp(),
                () => new FreeGeoIpService().GetPublicIp()
            };

            for (int i = 0; i < ipServices.Count(); i++)
            {
                if (lastUsedIndex >= ipServices.Count()) lastUsedIndex = 0;
                else lastUsedIndex++;

                try
                {
                    return ipServices[lastUsedIndex]();
                }
                catch { }
            }

            return null;

        }
        private Select GetParticipantsAnalyticsSelect(ParticipantsAnalyticsRequest analyticsRequest)
        {
            var select = new Select(UserConnection)
                         .Column("cp", "CampaignItemId")
                         .Column("cp", "StepCompleted")
                         .Column("cp", "StatusId")
                         .Column(Func.Count("cp", "CampaignItemId")).As("Count")
                         .From("CampaignParticipant").As("cp")
                         .Where("cp", "CampaignId").IsEqual(Column.Parameter(analyticsRequest.CampaignId))
                         .GroupBy("cp", "CampaignItemId")
                         .GroupBy("cp", "StatusId")
                         .GroupBy("cp", "StepCompleted") as Select;

            select.SpecifyNoLockHints();
            if (analyticsRequest.UseTimeFilters)
            {
                var filterStartDateCondition = select.AddCondition(select.SourceExpression.Alias, "CreatedOn",
                                                                   LogicalOperation.And);
                filterStartDateCondition.IsGreaterOrEqual(Column.Parameter(analyticsRequest.FilterStartDate));
                var filterDueDateCondition = select.AddCondition(select.SourceExpression.Alias, "CreatedOn",
                                                                 LogicalOperation.And);
                filterDueDateCondition.IsLessOrEqual(Column.Parameter(analyticsRequest.FilterDueDate));
            }
            return(select);
        }
        /// <summary>
        /// Calculate completeness value from detail.
        /// </summary>
        /// <param name="param">Completeness parameter for detail completeness.</param>
        /// <param name="recordId">Record id.</param>
        /// <returns>Completeness value.</returns>
        protected int GetCompletenessFromDetail(CompletenessParameter param, Guid recordId)
        {
            int    detailCompleteness = 0;
            Select entitiesSelect     =
                new Select(AppConnection.SystemUserConnection)
                .Column(Func.Count(param.DetailColumn))
                .From(param.DetailEntityName)
                .Where(param.DetailColumn).IsEqual(new QueryParameter(recordId)) as Select;

            if (!string.IsNullOrEmpty(param.TypeColumn) && !param.TypeValue.IsEmpty())
            {
                var typeCondition = new QueryCondition {
                    LeftExpression = new QueryColumnExpression(param.TypeColumn)
                };
                typeCondition.In(new QueryParameter(param.TypeValue));
                entitiesSelect.AddCondition(typeCondition, LogicalOperation.And);
            }
            entitiesSelect.SpecifyNoLockHints();
            using (DBExecutor dbExecutor = EnsureSystemUserDbConnection()) {
                using (IDataReader dataReader = entitiesSelect.ExecuteReader(dbExecutor)) {
                    while (dataReader.Read())
                    {
                        if (Convert.ToInt32(dataReader.GetValue(0)) > 0)
                        {
                            detailCompleteness = param.Percentage;
                        }
                    }
                }
            }
            return(detailCompleteness);
        }
        /// <summary>
        /// Creates <see cref="Workplace"/> data select.
        /// </summary>
        /// <returns><see cref="Select"/> instance.</returns>
        private Select GetWorkplacesSelect()
        {
            var typeQuery = new Select(_userConnection)
                            .Column(Func.Count("sm", "Id"))
                            .From("SysModule").As("sm")
                            .InnerJoin("SysModuleEntity").As("sme").On("sme", "Id").IsEqual("sm", "SysModuleEntityId")
                            .InnerJoin("SysModuleInWorkplace").As("smiw").On("sm", "Id").IsEqual("smiw", "SysModuleId")
                            .InnerJoin("SysModuleEntityInPortal").As("smeip").On("sme", "Id").IsEqual("smeip", "SysModuleEntityId")
                            .Where("smiw", "SysWorkplaceId").IsEqual("sw", "Id");
            var workplaceSelect = new Select(_userConnection)
                                  .Column("sw", "Id")
                                  .Column("sw", "Position")
                                  .Column("sw", "Name")
                                  .Column("sw", "IsPersonal")
                                  .Column("sw", "LoaderId")
                                  .Column("sw", "SysApplicationClientTypeId")
                                  .Column(GetClientUnitSchemaNameSelect("sw", "LoaderId")).As("LoaderName")
                                  .From("SysWorkplace").As("sw")
                                  .LeftOuterJoin("SysWorkplaceType").As("swt").On("sw", "TypeId").IsEqual("swt", "Id") as Select;

            if (GetIsFeatureEnabled("UseTypedWorkplaces"))
            {
                (workplaceSelect).Column("swt", "Code").As("Type");
            }
            else
            {
                workplaceSelect.Column(typeQuery).As("Type");
            }
            return(workplaceSelect);
        }
 private Select GetSubselectForCityCount()
 {
     return(new Select(UserConnection)
            .Column(Func.Count("Id"))
            .From("City").As("cityCount")
            .Where("cityCount", "Name").IsEqual("City", "Name") as Select);
 }
Example #6
0
        /// <summary>
        /// Get count of actual cases.
        /// </summary>
        public new int GetCount()
        {
            int  result = 0;
            Guid sysAdminUnitId;

            if (!Guid.TryParse(parameters["sysAdminUnitId"].ToString(), out sysAdminUnitId))
            {
                return(result);
            }
            DateTime date;

            if (!DateTime.TryParse(parameters["dueDate"].ToString(), out date))
            {
                return(result);
            }
            var countSelect = new Select(UserConnection)
                              .Column(Func.Count("r", "Id"))
                              .Distinct()
                              .From("Reminding").As("r")
                              .LeftOuterJoin("SysAdminUnit").As("sau")
                              .On("sau", "ContactId").IsEqual("r", "ContactId")
                              .InnerJoin("Case").As("case")
                              .On("case", "Id").IsEqual("r", "SubjectId")
                              .Where("r", "RemindTime").IsLessOrEqual(Column.Const(date))
                              .And("r", "IsRead").IsEqual(Column.Parameter(false))
                              .And("sau", "Id").IsEqual(Column.Parameter(sysAdminUnitId)) as Select;

            result = countSelect.ExecuteScalar <int>();
            return(result);
        }
Example #7
0
 /// <summary>
 /// Returns query for count of sent messages of bulk email.
 /// </summary>
 /// <param name="bulkEmailRId">RId of bulk email.</param>
 /// <param name="userConnection">User connection instance.</param>
 /// <returns>Query for count of sent messages of bulk email.</returns>
 private static Select GetBulkEmailSentMessageCountSelect(int bulkEmailRId, UserConnection userConnection)
 {
     return(new Select(userConnection)
            .Column(Func.Count("Id"))
            .From("MandrillRecipient")
            .Where("IsSent").IsEqual(Column.Const(true))
            .And("BulkEmailRId").IsEqual(Column.Parameter(bulkEmailRId)) as Select);
 }
        private bool IsRecipientsSelectQueryEmpty(Select select)
        {
            var execSelect = new Select(UserConnection).Column(Func.Count("RecipientUId")).From(select.Top(1))
                             .As("IsRecipientsSelectQueryEmpty");
            var bulkEmailAudienceCount = execSelect.ExecuteScalar <int>();

            return(bulkEmailAudienceCount == 0);
        }
        private static int CountOverlappingActivitiesSelect(Entity activity)
        {
            int            result         = 0;
            UserConnection userConnection = activity.UserConnection;


            if (activity.GetTypedColumnValue <Guid>("TypeId") != activityType)
            {
                return(result);
            }

            if (activity.GetTypedColumnValue <Guid>("ActivityCategoryId") != activityCategory)
            {
                return(result);
            }

            if (activity.GetTypedColumnValue <Guid>("StatusId") != activityStatusInProgress &&
                activity.GetTypedColumnValue <Guid>("StatusId") != activityStatusNotStarted)
            {
                return(result);
            }

            Guid activityId = activity.GetTypedColumnValue <Guid>("Id");
            Guid ownerId    = activity.GetTypedColumnValue <Guid>("OwnerId");

            Select select = new Select(userConnection)
                            .Column(Func.Count("Id"))
                            .From("Activity")
                            .Where("TypeId").IsEqual(Column.Parameter(activityType))
                            .And("ActivityCategoryId").IsEqual(Column.Parameter(activityCategory))
                            .And("OwnerId").IsEqual(Column.Parameter(ownerId))
                            .And("Id").IsNotEqual(Column.Parameter(activityId))
                            as Select;

            TimeZoneInfo userTimeZoneInfo = userConnection.CurrentUser.TimeZone;
            DateTime     start            = TimeZoneInfo.ConvertTimeToUtc(activity.GetTypedColumnValue <DateTime>("StartDate"), userTimeZoneInfo);
            DateTime     due = TimeZoneInfo.ConvertTimeToUtc(activity.GetTypedColumnValue <DateTime>("DueDate"), userTimeZoneInfo);

            select.And()
            //Case 1: Search target starts during new activity
            .OpenBlock("StartDate").IsBetween(Column.Parameter(start)).And(Column.Parameter(due))

            //Case2: Search target ends during new Activity
            .Or("DueDate").IsBetween(Column.Parameter(start)).And(Column.Parameter(due))

            //Case 3: activity inside search target;
            .Or()
            .OpenBlock("StartDate").IsLessOrEqual(Column.Parameter(start))
            .And("DueDate").IsGreaterOrEqual(Column.Parameter(due))
            .CloseBlock();

            select.BuildParametersAsValue = true;
            _log.Info(select.GetSqlText());

            result = select.ExecuteScalar <int>();

            return(result);
        }
        /// <inheritdoc cref="IDuplicatesScheduledSearchParameterRepository.GetIsSearchParametersExist"/>
        public bool GetIsSearchParametersExist(string schemaName)
        {
            var selectQuery = new Select(_userConnection)
                              .Column(Func.Count("SchemaToSearchName"))
                              .From(DuplicatesSearchParameterSchemaName)
                              .Where(DuplicatesSearchParameterSchemaName, "SchemaToSearchName").IsEqual(Column.Parameter(schemaName));

            return(((Select)selectQuery).ExecuteScalar <bool>());
        }
        private Query GetCheckLicQuery(string apiKey)
        {
            var select = new Select(_userConnection)
                         .Column(Func.Count("Id")).As("Count")
                         .From("SysAzureCogInfo")
                         .Where("ApiKey").IsEqual(Column.Const(apiKey));

            select.InitializeParameters();
            return(select);
        }
Example #12
0
        /// <summary>
        /// Returns address count.
        /// </summary>
        /// <returns>Primary count.</returns>
        public virtual int GetAddressesCount()
        {
            var    masterEntityId     = AddressEntity.GetTypedColumnValue <Guid>(AddressReferenceColumnName);
            Select primaryCountSelect = new Select(UserConnection)
                                        .Column(Func.Count("Id"))
                                        .From(AddressEntityName)
                                        .Where(AddressReferenceColumnName).IsEqual(Column.Parameter(masterEntityId)) as Select;

            return(primaryCountSelect.ExecuteScalar <int>());
        }
Example #13
0
        /// <summary>
        /// Returns query for count of recipients in queue of bulk email.
        /// </summary>
        /// <param name="bulkEmailId">Unique id of bulk email.</param>
        /// <param name="userConnection">User connection instance.</param>
        /// <returns>Query for count of recipients in queue of bulk email.</returns>
        private static Select GetRecipientsInQueueCountSelect(Guid bulkEmailId, UserConnection userConnection)
        {
            var countSelect = new Select(userConnection)
                              .Column(Func.Count("Id"))
                              .From("VwMandrillRecipient")
                              .Where("BulkEmailId").IsEqual(Column.Parameter(bulkEmailId)) as Select;

            HintsHelper.SpecifyNoLockHints(countSelect, true);
            return(countSelect);
        }
Example #14
0
        private Select GetEventTotalCountSelect()
        {
            var select = new Select(UserConnection)
                         .Column(Func.Count("Id"))
                         .From(EventTargetTableName)
                         .Where("EventId").IsEqual(Column.Parameter(EventId)) as Select;

            select.SpecifyNoLockHints();
            return(select);
        }
Example #15
0
        /// <summary>
        /// Check if audience is empty.
        /// </summary>
        /// <returns>True if audience is empty.</returns>
        public bool IsEmpty()
        {
            var recipientsBatchSelect = GetRecipientsBatchSelect(false);
            var execSelect            = new Select(_userConnection)
                                        .Column(Func.Count("ContactRId"))
                                        .From(recipientsBatchSelect.Top(1)).As("Select");
            var bulkEmailAudienceCount = execSelect.ExecuteScalar <int>();

            return(bulkEmailAudienceCount == 0);
        }
Example #16
0
        private Select GetTotalCampaignParticipantsCountSelect()
        {
            var select = new Select(UserConnection)
                         .Column(Func.Count("Id"))
                         .From(CampaignParticipantTableName)
                         .Where("CampaignId").IsEqual(Column.Parameter(CampaignSchema.EntityId)) as Select;

            select.SpecifyNoLockHints();
            return(select);
        }
Example #17
0
        protected virtual Select GetCountSelect(Guid contactId)
        {
            var select = (Select) new Select(_userConnection)
                         .Column(Func.Count(Column.Asterisk())).As("Count")
                         .From("ESNNotification")
                         .Where("OwnerId").IsEqual(Column.Parameter(contactId))
                         .And("IsRead").IsEqual(Column.Const(false))
                         .And("CreatedById").IsNotEqual(Column.Parameter(contactId));

            return(select);
        }
        /// <summary>
        /// Checks if bulk email contains an empty template
        /// </summary>
        /// <param name="bulkEmailIds">array of email's ids</param>
        private bool IsEmptyTemplateExist(Guid[] bulkEmailIds)
        {
            var selectCount = new Select(UserConnection)
                              .Column(Func.Count("Id"))
                              .From("BulkEmail")
                              .Where("Id").In(Column.Parameters(bulkEmailIds))
                              .And("TemplateBody").IsEqual(Column.Parameter(string.Empty)) as Select;
            int count = selectCount.ExecuteScalar <int>();

            return(count > 0);
        }
        /// <summary>
        /// Return number of notification.
        /// </summary>
        /// <returns>A number of notification.</returns>
        public virtual int GetCount()
        {
            Select entitySelect = GetEntitiesSelect();
            Select countSelect  = new Select(UserConnection)
                                  .Column(Func.Count("Id"))
                                  .Distinct()
                                  .From(entitySelect).As("CountSelect") as Select;
            int result = countSelect.ExecuteScalar <int>();

            return(result);
        }
        public static bool DoesExist <Entity>(this Entity entity, string RootSchemName, object searchValue, string searchColumn)
            where Entity : Terrasoft.Core.Entities.Entity
        {
            Select select = new Select(entity.UserConnection)
                            .Column(Func.Count("Id"))
                            .From(RootSchemName)
                            .Where(searchColumn).IsEqual(Column.Parameter(searchValue)) as Select;
            int count = select.ExecuteScalar <int>();

            return((count == 0) ? false : true);
        }
 /// <summary>
 /// Returns a query to select the number of queue items.
 /// </summary>
 /// <param name="queryParameters">Query parameters.</param>
 /// <returns>Instance of the <see cref="Select"/> type.</returns>
 private Select GetQueueCountItemSelect(IEnumerable <Guid> queryParameters)
 {
     return((Select) new Select(_userConnection).WithHints(Hints.NoLock)
            .Column("Q", "Id").As("QueueId")
            .Column(Func.Count("QueueId")).As("QueueItemsCount")
            .From("QueueItem").As("QI")
            .RightOuterJoin("Queue").As("Q")
            .On("Q", "Id").IsEqual("QueueId")
            .Where("Q", "Id").In(Column.Parameters(queryParameters))
            .GroupBy("Q", "Id"));
 }
Example #22
0
        /// <summary>
        /// Verifies the existence of the contact synchronization settings with current email.
        /// </summary>
        /// <param name="userConnection">A instance of the current user connection.</param>
        /// <param name="contactId">Id of the contact.</param>
        /// <param name="email">Email.</param>
        /// <returns>Flag existence synchronization settings with current email.
        /// </returns>
        public static bool IsSyncContactExist(UserConnection userConnection, Guid contactId, string email)
        {
            Select SelectAppointment = new Select(userConnection)
                                       .Column(Func.Count("sa", "ContactId"))
                                       .From("MailboxSyncSettings").As("ms")
                                       .InnerJoin("SysAdminUnit").As("sa")
                                       .On("sa", "Id").IsEqual("ms", "SysAdminUnitId")
                                       .Where("sa", "ContactId").IsEqual(Column.Parameter(contactId))
                                       .And("ms", "SenderEmailAddress").IsEqual(Column.Parameter(email)) as Select;

            return(SelectAppointment.ExecuteScalar <int>() > 0);
        }
Example #23
0
 /// <summary>
 /// ####### ######### ### ######### ########## ########,
 /// ######### #############.
 /// </summary>
 /// <returns>######### ### ######### ########## ######### ########.</returns>
 private Select GenerateSelectForCase()
 {
     return
         (new Select(UserConnection)
          .Column(Func.Count("SysLicUser", "Id"))
          .From("SysLicUser")
          .InnerJoin("SysAdminUnit")
          .On("SysAdminUnit", "Id").IsEqual("SysLicUser", "SysUserId")
          .Where("lic", "SysLicPackageId").IsEqual("SysLicPackageId")
          .And("SysLicUser", "Active").IsEqual(Column.Parameter(true))
          .And("SysAdminUnit", "Active").IsEqual(Column.Parameter(true)) as Select);
 }
        /// <summary>
        /// Creates query to get contacts in current email for whom communication is restricted by given rule.
        /// Override this method to get custom query for restricted contacts.
        /// </summary>
        /// <param name="rule">Communication limit rule. Instance of <see cref="BulkEmailCountLimit"/>.</param>
        /// <param name="bulkEmailRId">Email identifier (RId field in BulkEmail).</param>
        /// <returns>Instance of <see cref="Select"/>. It should select single column Contact.Id.</returns>
        protected virtual Select GetContactSelectQuery(BulkEmailCountLimit rule, int bulkEmailRId)
        {
            var betSelect  = GetBulkEmailTargetSelectQuery(rule, bulkEmailRId);
            var mmrSelect  = GetMessageResponseSelectQuery(rule, bulkEmailRId);
            var rootSelect = new Select(_userConnection)
                             .Column("ContactId")
                             .From(betSelect.UnionAll(mmrSelect)).As("src")
                             .GroupBy("ContactId")
                             .Having(Func.Count("src", "ContactId")).IsGreaterOrEqual(Column.Const(rule.MailingLimitCount)) as Select;

            return(rootSelect);
        }
Example #25
0
        /// <summary>
        /// Inititalezes unique exchange contact id property.
        /// </summary>
        /// <param name="context"><see cref="SyncContext"/> instance.</param>
        /// <param name="useSimpleId">If true, uses <see cref="ExchangeContact.GetItemSimpleId"/> method result
        /// as search value.</param>
        public void InitIdProperty(SyncContext context, bool useSimpleId = false)
        {
            string extendedId = GetExtendedId();
            string itemId     = GetItemSimpleId();
            string searchId   = useSimpleId ? itemId : extendedId;
            Select select     = new Select(context.UserConnection)
                                .Column(Func.Count("Id"))
                                .From("SysSyncMetaData")
                                .Where("RemoteId").IsEqual(Column.Parameter(searchId)) as Select;
            int count = select.ExecuteScalar <int>();

            Id = count > 0 ? extendedId : itemId;
        }
Example #26
0
        /// <summary>
        /// 计算进度
        /// </summary>
        /// <returns></returns>
        public float Calculate()
        {
            if (State == null)
            {
                return(0);
            }
            if (State.StudiedChapterIds == null || State.StudiedChapterIds.Length < 1)
            {
                return(0);
            }
            if (State.CourseChapters == null || State.CourseChapters.Count() < 1)
            {
                return(0);
            }

            //筛选出状态正常的课程
            var data = from p in State.CourseChapters
                       where p.Key.Status == (int)CourseStatus.ENABLED
                       select p.Value;

            //筛选出状态正常的课程下的有效章节
            var chapters = new Func <List <long> >(() =>
            {
                List <long> chapterIds = new List <long>();

                foreach (var cha in data)
                {
                    if (cha != null)
                    {
                        chapterIds.AddRange(cha.Where(p => p.Status == (int)ChapterStatus.ENABLED).Select(p => p.ChapterId));
                    }
                }

                return(chapterIds);
            }).Invoke();

            //用户学习过的章节
            var studiedChapterIds = State.StudiedChapterIds.Where(p => chapters.Contains(p));

            float total   = chapters.Count();
            float studied = studiedChapterIds != null?studiedChapterIds.Count() : 0;

            if (total > 0)
            {
                return((float)Math.Round(studied / total, 2, MidpointRounding.ToEven));
            }
            else
            {
                return(0F);
            }
        }
Example #27
0
        public virtual bool IsUniquePortalEmailMessage(Entity activity)
        {
            var select = new Select(activity.UserConnection)
                         .Column(Func.Count("PortalEmailMessage", "Id"))
                         .From("PortalEmailMessage")
                         .Join(JoinType.Inner, "CaseMessageHistory")
                         .On("PortalEmailMessage", "CaseMessageHistoryId")
                         .IsEqual("CaseMessageHistory", "Id")
                         .Where("CaseMessageHistory", "RecordId")
                         .IsEqual(Column.Parameter(activity.PrimaryColumnValue)) as Select;
            var count = select.ExecuteScalar <int>();

            return(count == 0);
        }
Example #28
0
        /// <summary>
        /// Returns select query for count of active contacts.
        /// </summary>
        /// <param name="selectCurrentBulkEmailRecipients">Select query for recipients of current bulk email.</param>
        /// <param name="selectHistoryBulkEmailsRecipients">Select query for recipients of finished bulk email.</param>
        /// <param name="selectNonHistoryBulkEmailsRecipients">Select query for recipients of non-finished emails.</param>
        /// <param name="userConnection">User connection instance.</param>
        /// <returns>Select query for count of active contacts.</returns>
        private static Select GetActiveContactsCountSelect(Select selectCurrentBulkEmailRecipients,
                                                           Select selectHistoryBulkEmailsRecipients, Select selectNonHistoryBulkEmailsRecipients,
                                                           UserConnection userConnection)
        {
            var selectCount = new Select(userConnection)
                              .Column(Func.Count("ContactId"))
                              .From(new Select(userConnection)
                                    .Column("main", "ContactId")
                                    .From(selectCurrentBulkEmailRecipients.UnionAll(selectNonHistoryBulkEmailsRecipients)
                                          .UnionAll(selectHistoryBulkEmailsRecipients) as Select).As("main")
                                    .GroupBy("main", "ContactId")).As("t");

            return(selectCount);
        }
        /// <summary>
        /// Get Select for calculation Account CertifiedContacts count.
        /// </summary>
        /// <param name="userConnection">UserConnection.</param>
        /// <returns> Select for calculation Account CertifiedContacts count.</returns>
        private Select GetCertifiedContactsQuery(UserConnection userConnection)
        {
            var query = new Select(userConnection)
                        .Column("Contact", "AccountId")
                        .Column(Func.Count(existsOneConstant)).As("Count")
                        .From("Contact").Where()
                        .Exists(new Select(userConnection).Column(existsOneConstant).From("Certificate")
                                .Where("Certificate", "ContactId").IsEqual("Contact", "Id")
                                .And("Certificate", "IssueDate").IsLessOrEqual(Column.Parameter(DateTime.UtcNow))
                                .And("Certificate", "ExpireDate").IsGreaterOrEqual(Column.Parameter(DateTime.UtcNow)))
                        .GroupBy("Contact", "AccountId");

            return(query as Select);
        }
Example #30
0
        private bool HasBulkEmailsWithIncorrectStatus(Guid splitTestId)
        {
            var selectCount = new Select(_userConnection)
                              .Column(Func.Count("Id"))
                              .From("BulkEmail")
                              .Where("SplitTestId").IsEqual(Column.Parameter(splitTestId)).And()
                              .OpenBlock("StatusId").IsNotEqual(Column.Parameter(MarketingConsts.BulkEmailStatusPlannedId))
                              .And("StatusId").IsNotEqual(Column.Parameter(MarketingConsts.BulkEmailStatusStartPlanedId))
                              .CloseBlock() as Select;

            selectCount.SpecifyNoLockHints();
            var count = selectCount.ExecuteScalar <int>();

            return(count > 0);
        }
Example #31
0
        public int GetCount()
        {
            Guid sysAdminUnitId = (Guid)this.parameters["sysAdminUnitId"];
            var  countSelect    = new Select(_userConnection).Column(Func.Count("VwVisa", "Id")).Distinct()
                                  .From("VwVisa")
                                  .Where("VisaOwnerId").IsEqual(Column.Parameter(sysAdminUnitId))
                                  .And("IsCanceled").IsEqual(Column.Parameter(false))
                                  .And("StatusId").In(
                new Select(_userConnection).Column("Id").From("VisaStatus")
                .Where("IsFinal").IsEqual(Column.Parameter(false))
                ) as Select;
            int result = countSelect.ExecuteScalar <int>();

            return(result);
        }