示例#1
0
        private Items[] GetSmsItems(SentSMSRequest request)
        {
            List <Items> ls = new List <Items>();

            using (var db = DbConnectionFactory.OpenDbConnection())
            {
                var q = db.From <SMS>().Join <Country>((x, y) => x.CountryId == y.Id)
                        .Where <SMS>(e => e.EntryTime >= request.DateTimeFrom && e.EntryTime <= request.DateTimeTo)
                        .Take(request.Take).Skip(request.Skip);

                List <SMS> results = db.Select <SMS>(q);

                results.ForEach(e => {
                    Items item    = new Items();
                    Country c     = db.Select <Country>(x => x.Id == e.Id).First();
                    item.DateTime = e.EntryTime;
                    item.Mcc      = c.MCC;
                    item.From     = e.From;
                    item.To       = e.To;
                    item.Price    = c.PricePerSms;
                    //dummy implementation - assuming state is always success
                    item.State = "success";

                    ls.Add(item);
                });
            }

            return(ls.ToArray());
        }
示例#2
0
 private int GetTotalSmsCount(SentSMSRequest request)
 {
     using (var db = DbConnectionFactory.OpenDbConnection())
     {
         return(db.Select <SMS>(e => e.EntryTime >= request.DateTimeFrom && e.EntryTime <= request.DateTimeTo)
                .Take(request.Take).Skip(request.Skip).Count());
     }
 }
示例#3
0
 public object GET(SentSMSRequest request)
 {
     return(new SentSMSResponse {
         TotalCount = GetTotalSmsCount(request), Item = GetSmsItems(request)
     });
 }