public Member[] GetPendingTasks(int limit)
        {
            List<Member> members = new List<Member>();

            using (DatabaseContext context = GetContext())
            {

                var query = context.WebTasks.Where("it.Status=@st", new ObjectParameter("st", Member.STATUS_NEW))
                    .OrderBy("it.Errors")
                    .Top("@limit", new ObjectParameter("limit", limit));

                foreach (WebTask task in query)
                {
                    Member m = new Member
                    {
                        Id = task.Id,
                        ProductId = task.ProductId,
                        EngineId = task.EngineId,
                        Url = task.Url,
                        Errors = task.Errors,
                        Status = task.Status,
                        TaskType = task.TaskType
                    };
                    members.Add(m);
                }
            }
            return members.ToArray();
        }
 public static SearchItem[] ExtractSearchItems(Member member)
 {
     return ExtractSearchItems(member.EngineId, member.Content);
 }
 public void InsertApprovalItems(DatabaseContext context, Member member, SearchItem[] items)
 {
     foreach (SearchItem item in items)
     {
         ApprovalItem ap = new ApprovalItem()
         {
             EngineId = member.EngineId,
             ProductId = member.ProductId,
             Url = item.Url,
             Name = item.Name,
             Price = item.Price,
             Status = APPROVAL_STATUS_NEW
         };
         context.AddToApprovalItems(ap);
     }
 }
 public static PriceInfo ExtractPriceInfo(Member member)
 {
     return GetEngine(member.EngineId).ExtractPriceInfo(member.Content);
 }