示例#1
0
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            while (true)
            {
                foreach (var item in ServiceProcess.GetBatch())
                {
                    FeriadosPromaxModel result = await ServiceFeriado.FindById(item.Id);

                    if (result.NomeFeriado is not null && result.NomePais is not null)
                    {
                        var bifrostModel  = FeriadosDTO.TransferData(result);
                        var output        = OutputModel.Build(item.Timestamp, GetOperationEnum(item.Operator), "feriado", bifrostModel);
                        var resultPublish = Broker.PublishToQueue(Encoding.UTF8.GetBytes(JsonSerializer.Serialize(output)), "PROMAX_VISITA_FERIADO");

                        if (resultPublish)
                        {
                            if (!await ServiceProcess.DeleteById(item.Id))
                            {
                                throw new Exception($"Id {item.Id} Not Found");
                            }
                        }
                    }
                }

                Task.Delay(5000).Wait();
            }
        }
示例#2
0
        public static IBaseModel TransferData(FeriadosPromaxModel model)
        {
            FeriadosBifrostModel transformedModel = new FeriadosBifrostModel();

            return(new FeriadosBifrostModel
            {
                CodigoEmpresa = (int)model.CodigoEmpresa,
                CodigoFilial = (int)model.Filial,
                DataFeriado = Utils.Types.StringToDateTime(model.DataFeriado, "yyyyMMdd"),
                NomePais = model.NomePais.Trim(),
                CodigoUnidadeFederacao = model.CodigoUnidadeFederacao.Trim(),
                CodigoLocalidade = (int)model.CodigoLocalidade,
                NomeFeriado = model.NomeFeriado.Trim(),
                DataInclusao = Utils.Types.StringToDateTime(model.DataInclusao, "ddMMyyyy"),
                DataAlteracao = Utils.Types.StringToDateTime(model.DataAlteracao, "ddMMyyyy"),
                DataExclusao = Utils.Types.StringToDateTime(model.DataExclusao, "ddMMyyyy"),
            });
        }