Ejemplo n.º 1
0
        public static IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log)
        {
            try
            {
                log.LogTrace("started");

                //string name = req.Query["name"];


                string  requestBody = new StreamReader(req.Body).ReadToEnd();
                ChatLog chat        = JsonConvert.DeserializeObject <ChatLog>(requestBody);

                Response response = new Response();


                using (var db = new PowerChatDB())
                {
                    db.ChatLogs.Add(chat);
                    db.SaveChanges();
                }

                return((ActionResult) new OkObjectResult(""));
            }
            catch (System.Exception E)
            {
                log.LogTrace(E.InnerException.ToString());
                throw;
            }
        }
Ejemplo n.º 2
0
        public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, ILogger log)
        {
            Response response = new Response();


            try
            {
                //Get request body and from date
                string requestBody = new StreamReader(req.Body).ReadToEnd();
                string quertyDate  = req.Query["from"];

                //if date exists use it else set default
                DateTime dateFrom = !string.IsNullOrEmpty(quertyDate) ? DateTime.Parse(quertyDate) : DateTime.UtcNow.AddHours(-5);

                using (var db = new PowerChatDB())
                {
                    //post chat message if there is one
                    ChatLog chat = JsonConvert.DeserializeObject <ChatLog>(requestBody) ?? new ChatLog();

                    if (!string.IsNullOrEmpty(chat.Message))
                    {
                        chat.TimeStamp = DateTime.UtcNow;
                        db.ChatLogs.Add(chat);
                        db.SaveChanges();
                    }
                    //get messages from db, using date from
                    response = new Response(db.GetChatLogs(dateFrom));
                }
            }
            catch (Exception e)
            {
                response = new Response(error: true, errorMessage: e.Message);
            }


            //return response
            return(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(JsonConvert.SerializeObject(response), Encoding.UTF8, JsonMediaTypeFormatter.DefaultMediaType.MediaType)
            });
        }