示例#1
0
        public async Task <IActionResult> SendMessage(string messageBody, int requestId)
        {
            var name    = this.HttpContext.Session.GetString("user_name");
            var request = await _requestService.GetRequestById(requestId);

            var rid = request.AdminId;

            try
            {
                if (ModelState.IsValid)
                {
                    var requestBody = new Message
                    {
                        RequestId   = requestId,
                        SenderName  = name,
                        MessageBody = messageBody,
                        created_at  = DateTime.Now
                    };

                    _messageService.SendMessage(requestBody);
                    var notify = new Notification
                    {
                        RequestId  = requestId,
                        SenderName = name,
                        created_at = DateTime.Now,
                        RId        = rid
                    };
                    _messageService.AddNotification(notify);
                    var isRequested = _messageService.SaveChanges();
                    if (isRequested != true)
                    {
                        Console.WriteLine("Not sent");
                    }
                    //	return BadRequest(new { message = "could not make request" });

                    //return RedirectToAction("Messages", "Users", requestId);
                }
            }
            catch (DbUpdateException /* ex */)
            {
                //Log the error (uncomment ex variable name and write a log.
                ModelState.AddModelError("", "Unable to save changes. " +
                                         "Try again, and if the problem persists " +
                                         "see your system administrator.");
            }

            return(RedirectToAction("Messages", new { Id = requestId }));
            //return RedirectToAction("Messages");
        }