Exemple #1
0
        public async Task <Response> Create(CreateLogRequest request)
        {
            try
            {
                // If user role equals MANAGER, use id from request body,
                // otherwise, use logged user id
                int userId = _userService.GetLoggedUserId();
                if (_userService.IsLoggedUserManager() && request.UserId.HasValue)
                {
                    userId = request.UserId.Value;
                }

                var log = MapCreateLogRequestToLog(userId, request);
                _repository.Add(log);

                if (await _repository.SaveChangesAsync())
                {
                    log = await _repository.GetById(log.Id);

                    var response = _mapper.Map <LogResponse>(log);
                    return(OkResponse(null, response));
                }

                return(BadRequestResponse("Erro desconhecido"));
            }
            catch (Exception ex)
            {
                return(BadRequestResponse(ex.Message));
            }
        }
        private static async Task <string> CreateLog(LoggingManagementClient client, string logGroup, string logDisplayName)
        {
            CreateLogRequest createLogRequest = new CreateLogRequest
            {
                LogGroupId = logGroup,
                // Create a createLogDetails to pass to Create Log Request
                CreateLogDetails = new CreateLogDetails
                {
                    DisplayName = logDisplayName,
                    LogType     = CreateLogDetails.LogTypeEnum.Custom
                }
            };

            // Pass createLogRequest to client to create the log
            logger.Info($"Creating Log {logDisplayName}");
            logger.Info("=============");
            CreateLogResponse createLogResponse = await client.CreateLog(createLogRequest);

            string workRequestId = createLogResponse.OpcWorkRequestId;

            logger.Info($"CreateLog work request ID is {workRequestId}");

            GetWorkRequestResponse workRequestResponse = WaitForWorkRequestFinished(client, workRequestId);
            string logId = GetLogId(workRequestResponse);

            logger.Info($"Created Log: {logDisplayName} under Log Group: {logGroup} with Log OCID:{logId}");
            return(logId);
        }
 public Response CreateLog(CreateLogRequest request)
 {
     try
     {
         var           retval      = new Response();
         string        logFilePath = @"C:\Logs\Log-" + System.DateTime.Today.ToString("MM-dd-yyyy") + " " + System.DateTime.Now.ToString("HH-mm-ss") + "." + "txt";
         FileInfo      logFileInfo = new FileInfo(logFilePath);
         DirectoryInfo logDirInfo  = new DirectoryInfo(logFileInfo.DirectoryName);
         if (!logDirInfo.Exists)
         {
             logDirInfo.Create();
         }
         using (FileStream fileStream = new FileStream(logFilePath, FileMode.Append))
         {
             using (StreamWriter log = new StreamWriter(fileStream))
             {
                 log.WriteLine(request.LogData);
                 retval = new CreateLogResponsesOK();
             }
         }
         return(retval);
     }
     catch (Exception ex)
     {
         return(new AppResponseError(ex.Message));
     }
 }
Exemple #4
0
        public async Task <IActionResult> Post(CreateLogRequest request)
        {
            var mapped   = request.MapToCoreRequest(_mapper);
            var response = await _logService.Create(mapped);

            return(StatusCode(response.Code, response));
        }
Exemple #5
0
        private Log MapCreateLogRequestToLog(int userId, CreateLogRequest request)
        {
            var log = _mapper.Map <Log>(request);

            log.UserId    = userId;
            log.Archived  = false;
            log.CreatedAt = DateTime.Now;
            return(log);
        }
        public async Task <ActionResult> CreateLogMessages([FromBody] CreateLogRequest request)
        {
            if (request == null || request.LogRequest == null || request.LogRequest.Count() < 1)
            {
                return(BadRequest());
            }

            string result = await _handler.CallAirTableCreateLogs(request);

            if (string.IsNullOrEmpty(result))
            {
                return(NotFound());
            }

            var createdLogs = _handler.ParseToPostReponse(result);

            return(Ok(createdLogs));
        }
        public async Task <IActionResult> Post([FromRoute] Request meta, [FromBody] CreateLogRequest request)
        {
            IActionResult result = null;

            var id = await Server.Save(new LogEntry()
            {
                Id          = Guid.Empty,
                Timestamp   = request.Timestamp,
                Application = meta.Application,
                Source      = request.Source,
                Event       = request.Event,
                Level       = request.Level,
                Message     = request.Message,
                Properties  = request.Properties,
                Tags        = request.Tags
            });

            result = Factory.CreateSuccessResponse(id);

            return(result);
        }
Exemple #8
0
        /// <summary>
        /// Method to invoke AirTable POST endpoint
        /// </summary>
        /// <param name="request">Create log request</param>
        /// <returns></returns>
        public async Task <string> CallAirTableCreateLogs(CreateLogRequest request)
        {
            // Read properties from appsettings.json
            string url    = _configuration["AirTablePostUri"];
            string apiKey = _configuration["AirTableApiKey"];

            // Logic to convert given request to AirTable request
            var airTableRequest = new JObject();
            var fields          = new JArray();

            foreach (var log in request.LogRequest)
            {
                var fieldItem = new JObject();
                fieldItem.Add("id", log.Id);
                fieldItem.Add("Summary", log.Title);
                fieldItem.Add("Message", log.Text);
                fieldItem.Add("receivedAt", log.ReceivedAt);

                var fieldObject = new JObject();
                fieldObject.Add("fields", fieldItem);

                fields.Add(fieldObject);
            }
            airTableRequest.Add("records", fields);

            HttpResponseMessage response = null;

            using (var httpClient = new HttpClient())
            {
                // Add API key as bearer in authorization header
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
                string jsonRequest   = JsonConvert.SerializeObject(airTableRequest);
                var    stringContent = new StringContent(jsonRequest, UnicodeEncoding.UTF8, "application/json");

                // Invoke AirTable POST endpoint to create log messages
                response = await httpClient.PostAsync(url, stringContent);
            }

            return(await response?.Content.ReadAsStringAsync());
        }
Exemple #9
0
        public async Task <IActionResult> Post([FromBody] CreateLogRequest request)
        {
            if (request == null ||
                request.VariantId == 0 ||
                string.IsNullOrEmpty(request.Action))
            {
                return(PreconditionFailed());
            }

            var email = _contextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.Email);

            if (string.IsNullOrEmpty(email))
            {
                return(BadRequest());
            }

            var student = await _db.Students.SingleOrDefaultAsync(s => s.Email == email);

            if (student == null)
            {
                return(BadRequest());
            }

            var logEntry = new TaskVariantLog
            {
                Action    = request.Action,
                DateTime  = DateTime.Now,
                StudentId = student.Id,
                VariantId = request.VariantId,
                Penalty   = request.Penalty ?? 0
            };

            await _db.TaskVariantLogs.AddAsync(logEntry);

            await _db.SaveChangesAsync();

            return(Created(logEntry));
        }
Exemple #10
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            CreateLogRequest request;

            try
            {
                request = new CreateLogRequest
                {
                    LogGroupId       = LogGroupId,
                    CreateLogDetails = CreateLogDetails,
                    OpcRetryToken    = OpcRetryToken,
                    OpcRequestId     = OpcRequestId
                };

                response = client.CreateLog(request).GetAwaiter().GetResult();
                WriteOutput(response, CreateWorkRequestObject(response.OpcWorkRequestId));
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
        public Response CreateLog(CreateLogRequest request)
        {
            try
            {
                var date    = System.DateTime.Today.ToString("yyyy-MM-dd");
                var logName = System.DateTime.Today.ToString("MM-dd-yyyy") + " " + System.DateTime.Now.ToString("HH-mm-ss") + "." + "txt";
                var ds      = _dal.CreateLog(request.LogData, date, logName);

                var tbl    = ds.Tables[0];
                var retval = new Response();
                if (tbl.Rows.Count == 1)
                {
                    if (request.LogData == (string)tbl.Rows[0][0])
                    {
                        retval = new CreateLogResponsesOK();
                    }
                }
                return(retval);
            }
            catch (Exception ex)
            {
                return(new AppResponseError(ex.Message));
            }
        }
        public Response CreateLog([FromBody] CreateLogRequest request)
        {
            var serviceCreated = _service.Create(request.LogType);

            return(serviceCreated.CreateLog(request));
        }
 public static Core.Dto.Requests.CreateLogRequest MapToCoreRequest(
     this CreateLogRequest request,
     IMapper mapper)
 {
     return(mapper.Map <Core.Dto.Requests.CreateLogRequest>(request));
 }