示例#1
0
        public ActionResult <ApiResponse <DirectMessageModel> > NewMessageAdd([FromBody] CreateDirectMessageModel model)
        {
            try
            {
                var onlineId = this._userService.GetOnlineUser(this.HttpContext);

                if (onlineId == null)
                {
                    return(Json(ApiResponse.WithError("Not Authority")));
                }

                DirectMessageModel result = null;

                var newMessage = new DirectMessage();
                newMessage.Message    = model.Message;
                newMessage.SenderId   = model.SenderId;
                newMessage.ReceiverId = model.ReceiverId;
                newMessage.IsDeleted  = 0;

                this._directMessageService.AddNewMessage(newMessage);

                result = this._directMessageService.GetById(newMessage.Id);
                return(Json(ApiResponse <DirectMessageModel> .WithSuccess(result)));
            }
            catch (Exception exp)
            {
                return(Json(ApiResponse <DirectMessageModel> .WithError(exp.ToString())));
            }
        }
        public void Update(DirectMessageModel directMessage)
        {
            using (IDbConnection dbConnection = this.OpenConnection())
            {
                string sQuery = "UPDATE DirectMessage SET " +
                                "IsDeleted = 1 " +
                                "WHERE Id = @Id";

                dbConnection.Query(sQuery, directMessage);
            }
        }
示例#3
0
 public static DirectMessage ToEntity(this DirectMessageModel directMessageModel)
 {
     return(new DirectMessage()
     {
         Id = directMessageModel.Id,
         Message = directMessageModel.Message,
         SenderId = directMessageModel.SenderId,
         ReceiverId = directMessageModel.ReceiverId,
         IsDeleted = directMessageModel.IsDeleted,
     });
 }
        public IActionResult Post([FromBody] DirectMessageModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var directMessage = _mapper.Map <DataAccess.Tables.DirectMessage>(model);

            directMessage.UserId = UserId;

            var result = _directMessageRepository.Insert(directMessage);

            return(Ok(_mapper.Map <DirectMessageModel>(result)));
        }
示例#5
0
        private static Mail.Message GenerateLawMessage(UserRepresentativeQuestion question)
        {
            DirectMessageModel model = new DirectMessageModel
            {
                BaseUrl  = GetBaseUrl(),
                Question = question
            };

            return(new Mail.Message
            {
                To = GetRepEmail(question.Representative.Email),
                Bcc = GetBccDeliveryList(),
                Subject = ApplyMacros(GetLawQuesitonEmailSubject(), model),
                Body = ApplyMacros(GetLawQuesitonEmailBody(), model)
            });
        }
示例#6
0
        private static Mail.Message GenerateDirectMessage(UserRepresentativeQuestion question)
        {
            DirectMessageModel model = new DirectMessageModel
            {
                BaseUrl  = ConfigurationManager.AppSettings["BaseAddress"],
                Question = question
            };

            return(new Mail.Message
            {
                To = GetRepEmail(question.Representative.Email),
                Bcc = GetBccDeliveryList(),
                Subject = ApplyMacros(GetDirectQuesitonEmailSubject(), model),
                Body = ApplyMacros(GetDirectQuesitonEmailBody(), model)
            });
        }
        public IActionResult Put([FromRoute] int directMessageId, [FromBody] DirectMessageModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            if (!_directMessageRepository.Find(x => x.UserId == UserId && x.DirectMessageId == model.DirectMessageId).Any())
            {
                return(Forbid());
            }

            var directMessage = _mapper.Map <DataAccess.Tables.DirectMessage>(model);

            directMessage.UserId = UserId;

            var result = _directMessageRepository.Update(directMessage);

            return(Ok(_mapper.Map <DirectMessageModel>(result)));
        }
 public void UpdateMessageStatus(DirectMessageModel directMessage)
 {
     this._directMessageRepository.Update(directMessage);
     this._logRepository.Log(Enums.LogType.Info, $"Inserted New User : {directMessage.Message}");
     // this._emailService.SendEmail("fsdf", "dsfsdfsdfdsf");
 }
示例#9
0
        /// <summary>
        /// Reads the JSON representation of the object.
        /// </summary>
        /// <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader" /> to read from.</param>
        /// <param name="objectType">Type of the object.</param>
        /// <param name="existingValue">The existing value of object being read.</param>
        /// <param name="serializer">The calling serializer.</param>
        /// <returns>
        /// The object value.
        /// </returns>
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var jo  = JObject.Load(reader);
            var key = string.Empty;

            if (jo.ContainsKey("type"))
            {
                key = "type";
            }
            else if (jo.ContainsKey("Type"))
            {
                key = "Type";
            }

            if (key == string.Empty)
            {
                return(null);
            }

            var type = jo[key].Value <string>();

            if (objectType == typeof(DirectMessageModel))
            {
                var message = (DirectMessageModel)null;

                switch (type)
                {
                // message types
                case DirectActivityMessageType.Command: message = jo.ToObject <DirectCommandMessageModel>(serializer); break;

                case DirectActivityMessageType.Text: message = jo.ToObject <DirectTextMessageModel>(serializer); break;

                case DirectActivityMessageType.Contact: message = jo.ToObject <DirectContactMessageModel>(serializer); break;

                case DirectActivityMessageType.Card: message = jo.ToObject <DirectCardMessageModel>(serializer); break;

                case DirectActivityMessageType.Location: message = jo.ToObject <DirectLocationMessageModel>(serializer); break;

                case DirectActivityMessageType.Attachment: message = jo.ToObject <DirectAttachmentMessageModel>(serializer); break;

                case DirectActivityMessageType.Image: message = jo.ToObject <DirectImageMessageModel>(serializer); break;

                case DirectActivityMessageType.Carousel: message = jo.ToObject <DirectCarouselMessageModel>(serializer); break;

                case DirectActivityMessageType.List: message = jo.ToObject <DirectListMessageModel>(serializer); break;

                case DirectActivityMessageType.Youtube:
                case DirectActivityMessageType.Vimeo:
                case DirectActivityMessageType.Video:
                case DirectActivityMessageType.Audio:
                    message = jo.ToObject <DirectMediaMessageModel>(serializer);
                    break;

                default:
                    message = new DirectMessageModel {
                        Type = type
                    };
                    break;
                }

                return(message);
            }

            if (objectType == typeof(DirectAction))
            {
                var action = (DirectAction)null;

                switch (type)
                {
                case DirectActivityActionType.Link: action = jo.ToObject <DirectLinkAction>(serializer); break;

                case DirectActivityActionType.Postback:
                case DirectActivityActionType.Reply:
                    action = jo.ToObject <DirectPostbackAction>(serializer);
                    break;

                default:
                    action = new DirectAction {
                        Type = type
                    };
                    break;
                }

                return(action);
            }

            return(null);
        }