Exemple #1
0
        public Mailbox GetMailBox(IMailboxExp exp)
        {
            var query = Query()
                        .Where(exp.GetExpression());

            return(Db.ExecuteList(query)
                   .ConvertAll(ToMailbox)
                   .SingleOrDefault());
        }
Exemple #2
0
        public bool CanAccessTo(IMailboxExp exp)
        {
            var query = new SqlQuery(MailboxTable.TABLE_NAME)
                        .Select(MailboxTable.Columns.Id)
                        .Where(exp.GetExpression());

            var foundIds = Db.ExecuteList(query)
                           .ConvertAll(res => Convert.ToInt32(res[0]));

            return(foundIds.Any());
        }
Exemple #3
0
        public bool SetNextLoginDelay(IMailboxExp exp, TimeSpan delay)
        {
            var query = new SqlUpdate(MailboxTable.TABLE_NAME)
                        .Set(MailboxTable.Columns.IsProcessed, false)
                        .Set(string.Format(SET_LOGIN_DELAY_EXPIRES, (int)delay.TotalSeconds))
                        .Where(exp.GetExpression());

            var result = Db.ExecuteNonQuery(query);

            return(result > 0);
        }
Exemple #4
0
        public List <Tuple <int, string> > GetMailUsers(IMailboxExp exp)
        {
            var query = Query()
                        .Select(MailboxTable.Columns.Tenant, MailboxTable.Columns.User)
                        .Where(exp.GetExpression());

            var list = Db.ExecuteList(query)
                       .ConvertAll(r => new Tuple <int, string>(Convert.ToInt32(r[0]), Convert.ToString(r[1])));

            return(list);
        }
Exemple #5
0
        public Tuple <int, int> GetRangeMailboxes(IMailboxExp exp)
        {
            var query = new SqlQuery(MailboxTable.TABLE_NAME)
                        .SelectMin(MailboxTable.Columns.Id)
                        .SelectMax(MailboxTable.Columns.Id)
                        .Where(exp.GetExpression());

            var range = Db.ExecuteList(query)
                        .ConvertAll(r => new Tuple <int, int>(Convert.ToInt32(r[0]), Convert.ToInt32(r[1])))
                        .SingleOrDefault();

            return(range);
        }
Exemple #6
0
        public Mailbox GetNextMailBox(IMailboxExp exp)
        {
            var query = Query()
                        .Where(exp.GetExpression())
                        .OrderBy(MailboxTable.Columns.Id, true)
                        .SetMaxResults(1);

            var mailbox = Db.ExecuteList(query)
                          .ConvertAll(ToMailbox)
                          .SingleOrDefault();

            return(mailbox);
        }
Exemple #7
0
        public MailboxStatus GetMailBoxStatus(IMailboxExp exp)
        {
            var query = new SqlQuery(MailboxTable.TABLE_NAME)
                        .Select(MailboxTable.Columns.Id,
                                MailboxTable.Columns.IsRemoved,
                                MailboxTable.Columns.Enabled,
                                MailboxTable.Columns.BeginDate)
                        .Where(exp.GetExpression());

            return(Db.ExecuteList(query)
                   .ConvertAll(ToMMailboxStatus)
                   .SingleOrDefault());
        }
Exemple #8
0
        public bool Enable(IMailboxExp exp, bool enabled)
        {
            var query = new SqlUpdate(MailboxTable.TABLE_NAME)
                        .Set(MailboxTable.Columns.Enabled, enabled)
                        .Where(exp.GetExpression());

            if (enabled)
            {
                query.Set(MailboxTable.Columns.DateAuthError, null);
            }

            var result = Db.ExecuteNonQuery(query);

            return(result > 0);
        }