public PostagemPorHashTagTransformador(ITweetService serviceTwitter_, IDwService serviceDw_) { _serviceTwitter = serviceTwitter_; _serviceDw = serviceDw_; }
public void RetreiveAndSet(IConfiguration config, IJobTime job, Imapping mapping, IDwService dw) { int?duplicates = null; var maxRecordsPerExcution = int.Parse(config.Get("MaxRecordsPerExcution").ToString()); var languageCode = int.Parse(config.Get("LanguageCode").ToString()); var untilDate = config.Get("UntilDate").ToString(); var isRemoveDuplicate = config.Get("IsRemoveDuplicate").ToString(); var last = DateTime.UtcNow; var first = job.RetrieveLastDateJob(config); if (!String.IsNullOrWhiteSpace(untilDate)) { last = DateTime.ParseExact(untilDate, "yyyy-MM-dd", null); } int pageNumber = 1; int crmLogsItemsCount = 0; int fieldsChangeCount = 0; List <AuditLogModel> audtLogs; bool moreRecords = true; do { audtLogs = new List <AuditLogModel>(); audtLogs.Clear(); var rmr = new RetrieveMultipleRequest(); var resp = new RetrieveMultipleResponse(); QueryExpression query = new QueryExpression() { EntityName = "audit", ColumnSet = new ColumnSet(true), Criteria = new FilterExpression { FilterOperator = LogicalOperator.And, Conditions = { new ConditionExpression { AttributeName = "createdon", Operator = ConditionOperator.Between, Values = { first, last } //access } }, }, Orders = { new OrderExpression { AttributeName = "createdon", OrderType = OrderType.Ascending } } }; query.PageInfo = new PagingInfo { PageNumber = pageNumber, Count = maxRecordsPerExcution }; rmr.Query = query; resp = (RetrieveMultipleResponse)_service.Execute(rmr); foreach (Entity entiyAuditLog in resp.EntityCollection.Entities) { crmLogsItemsCount++; Console.WriteLine(entiyAuditLog.Id); // Retrieve the audit details and display them. var auditDetailsRequest = new RetrieveAuditDetailsRequest { AuditId = entiyAuditLog.Id }; var auditDetailsResponse = (RetrieveAuditDetailsResponse)_service.Execute(auditDetailsRequest); var changes = mapping.ToDwItems(_service, auditDetailsResponse.AuditDetail, languageCode, job); if (changes.Any()) { audtLogs.AddRange(changes); fieldsChangeCount += changes.Count(); } } moreRecords = resp.EntityCollection.MoreRecords; if (moreRecords) { pageNumber++; } dw.BulkAdd(audtLogs); }while (moreRecords); if (isRemoveDuplicate == "1") { try { duplicates = dw.RemoveDuplicate(); } catch (Exception e) { _log("WARNING:can not remove duplicate see log"); _log(e.ToString()); } } job.UpdateEndDateOnComplete(fieldsChangeCount, crmLogsItemsCount, duplicates, last); }
public Top5UsuarioTransformador(IUsuarioService serviceUsuario_, IDwService serviceDw_) { _serviceUsuario = serviceUsuario_; _serviceDw = serviceDw_; }
public DwController(IDwService service) { _service = service; }