fork download
  1. /// <summary>
  2. /// Checamos se estamos no momento de enviar e-mail:
  3. /// Aqui não importa EmailMarketingDelay, esse delay vai ser checado no Send
  4. /// e futuramente priorizado de acordo com remessas mais importantes
  5. /// e remessas que possam furar o delay.
  6. /// Checamos apenas se estamos no momento de envio da remessa ou por SendTime ou por Intervals
  7. /// </summary>
  8. /// <param name="user">Usuário que receberá o e-mail</param>
  9. /// <param name="cartDate">Data de abandono do carrinho</param>
  10. /// <param name="batchConfiguration">Configuração da remessa</param>
  11. /// <returns>Se podemos criar remessa agora para este usuário</returns>
  12. internal bool VerifyBatchCreationTime(UserVO user, DateTime cartDate, EmailBatchConfigurationVO batchConfiguration)
  13. {
  14. if (string.IsNullOrEmpty(batchConfiguration.SendIntervals))
  15. {
  16. if (batchConfiguration.SendTime.HasValue)
  17. {
  18. return (DateTime.UtcNow - (user.LastEmailBatch ?? DateTime.MinValue))
  19. > batchConfiguration.SendTime.Value;
  20. }
  21.  
  22. throw new EventException(
  23. "Remessa sem configuração de SendTime e SendInterval",
  24. JsonSerializer.Serialize(batchConfiguration),
  25. Configurations.Context.StoreId,
  26. "Email");
  27. }
  28.  
  29. var intervals = this.GetBatchIntervals(batchConfiguration);
  30.  
  31. Debug.Assert(user.LastCartId != null, "user.LastCartId != null");
  32. var sentEmails = user.LastEmail == null ? 0 : Factory.AbandonedCartEmailCounterRepository().GetSentEmails(user.LastCartId.Value.ToString());
  33.  
  34. if (sentEmails >= intervals.Count)
  35. {
  36. return false;
  37. }
  38.  
  39. return (DateTime.UtcNow - cartDate).TotalHours > intervals[Convert.ToInt32(sentEmails)];
  40. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cs(12,23): error CS0116: A namespace can only contain types and namespace declarations
Compilation failed: 1 error(s), 0 warnings
stdout
Standard output is empty