Esempio n. 1
0
        public IHttpActionResult AddMessage(SecureClassifiedMessage jsMsgForm)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.WithoutFormName()));
            }

            /*
             * if (!Captcha.VerifyResponse(jsMsgForm.Captcha))
             * {
             *  ModelState.AddModelError("jsMsgForm.Captcha", "Captcha failed.");
             *  return BadRequest(ModelState.WithoutFormName());
             * }
             */

            try
            {
                ClaimsPrincipal principal  = (ClaimsPrincipal)Request.GetRequestContext().Principal;
                Classified      classified = new Classified(jsMsgForm.ClassifiedId);
                classified.ValidOrBreak();

                ClassifiedMessage message = new ClassifiedMessage()
                {
                    Id           = 0,
                    Message      = jsMsgForm.Message,
                    ClassifiedId = jsMsgForm.ClassifiedId,
                    From         = principal.Identity.GetUserId(),
                    To           = classified.CreatedBy
                };
                message.ValidOrBreak();
                message.Save();
                //return BadRequest("Error saving message. Try again later.");

                // Send message to JustShare creator if ConsentToContact
                classified.NotifyMessage(message);

                return(Ok());
            }
            catch (InvalidModelException e)
            {
                return(BadRequest(e.Message));
            }
            catch (Exception e)
            {
                return(BadRequest("Error saving message. Try again later."));
            }
        }