public override void OnNavigatedTo(NavigationParameters parameters)
        {
            var messageId = parameters["id"]?.ToString();

            Message = getMessageUC.Execute(messageId);
            Title   = Message.Subject;
        }
Beispiel #2
0
        /// <summary>
        /// Direct access to message pane.
        /// </summary>
        /// <param name="message">The message to display.</param>

        public void ReportMessage(Database.Message message)
        {
            Color color = Color.Empty;

            switch (message.Type)
            {
            case Database.Message.MessageType.Error:
                color = FontsAndColors.MessageErrorForeground;
                break;

            case Database.Message.MessageType.Info:
                color = FontsAndColors.MessageInfoForeground;
                break;

            case Database.Message.MessageType.State:
                color = FontsAndColors.MessageStatusForeground;
                break;

            case Database.Message.MessageType.User:
                color = FontsAndColors.MessageUserForeground;
                break;
            }

            var savecolor = msgpad.ForeColor;

            msgpad.ForeColor = color;
            msgpad.WriteLine(">> " + message.Text);
            msgpad.ForeColor = savecolor;
        }
 void MarkAsRead(Database.Message message)
 {
     if (!message.ReadAt.HasValue)
     {
         realm.Write(() => message.ReadAt = DateTimeOffset.UtcNow);
     }
 }
 private void DeleteFromDatabase()
 {
     using (SampleDataContext db = new SampleDataContext())
     {
         Database.Message message = db.Messages.Where(m => m.MessageId == selectedMessage.MessageId).FirstOrDefault();
         db.Messages.DeleteOnSubmit(message);
         db.SubmitChanges();
     }
 }
Beispiel #5
0
        public void ReportMessage(Database.Message message)
        {
            if (splitContainer.Panel2Collapsed)
            {
                splitContainer.Panel2Collapsed = false;
            }

            resultsView.MoveToMessageTab();
            resultsView.ReportMessage(message);
        }
 private void DGVMessage_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0)
     {
         DataGridViewRow row = DGVMessage.Rows[e.RowIndex];
         using (SampleDataContext db = new SampleDataContext())
         {
             selectedMessage = db.Messages.Where(m => m.MessageId == Convert.ToInt32(row.Cells["MessageId"].Value.ToString())).FirstOrDefault();
         }
     }
 }
Beispiel #7
0
        public static Message ConvertToMessage(this Database.Message msg)
        {
            var msgModel = new Message();

            msgModel.Text           = msg.Text;
            msgModel.Time           = msg.Time;
            msgModel.ChatId         = msg.ChatId;
            msgModel.ImageSender    = msg.ImageSender;
            msgModel.MsgId          = msg.MsgId;
            msgModel.NameSender     = msg.NameSender;
            msgModel.RecieverId     = msg.RecieverId;
            msgModel.SenderId       = msg.SenderId;
            msgModel.UsersReaded    = msg.UsersReaded;
            msgModel.Attach         = msg.Attach;
            msgModel.ServiceMessage = msg.ServiceMessage;

            return(msgModel);
        }
Beispiel #8
0
        public ResponseCommand Execute(object data, User user, ILoggerService logger)
        {
            var response = new ResponseCommand();

            if (!(data is Shared.Models.Messages.Send))
            {
                response.Data     = 5;
                response.TypeData = "error";
                return(response);
            }

            var msg = (Shared.Models.Messages.Send)data;

            if (msg.ChatId > 0)
            {
                //Отправка сообщения пользователю.

                using (var db = new ServerData())
                {
                    try
                    {
                        //Проверка есть ли такой пользователь вообще.

                        if (db.Users.Any(u => u.UserId == msg.ChatId))
                        {
                            //Пользователь есть
                            var usr = db.Users.Single(u => u.UserId == msg.ChatId);

                            //Проверяем есть ли чат с этим пользователем.
                            if (db.UsersChats.Any(c => c.Owner == user.UserId && c.ChatId == usr.UserId))
                            {
                                //ничего не делаем
                            }
                            else
                            {
                                //Создавать чат для отправителя.

                                var usrChat = new UsersChat();
                                usrChat.Messages    = "";
                                usrChat.Owner       = user.UserId;
                                usrChat.ChatId      = usr.UserId;
                                usrChat.LastMessage = 0;
                                usrChat.LocalId     = db.UsersChats.Count() + 1;
                                db.UsersChats.Add(usrChat);

                                db.SaveChanges();


                                //Создание чата для принимающего.

                                var usrChat2 = new UsersChat();
                                usrChat2.Messages    = "";
                                usrChat2.Owner       = usr.UserId;
                                usrChat2.LastMessage = 0;
                                usrChat2.ChatId      = user.UserId;
                                usrChat2.LocalId     = db.UsersChats.Count() + 1;
                                db.UsersChats.Add(usrChat2);
                            }


                            //Отправляем ему сообщение

                            var msgObj = new Database.Message()
                            {
                                MsgId      = db.Messages.Count() + 1,
                                ChatId     = 0,
                                RecieverId = usr.UserId,
                                SenderId   = user.UserId,
                                Text       = msg.Text,
                                Time       = (long)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds
                            };

                            //Добавление сообщения в бд
                            db.Messages.Add(msgObj);

                            //Добавление id сообщения в список.

                            var chats1 = db.UsersChats.Single(c => c.Owner == user.UserId && c.ChatId == usr.UserId);
                            chats1.Messages   += $",{msgObj}";
                            chats1.LastMessage = msgObj.Time;

                            var chats2 = db.UsersChats.Single(c => c.Owner == usr.UserId && c.ChatId == user.UserId);
                            chats2.Messages   += $",{msgObj}";
                            chats2.LastMessage = msgObj.Time;


                            db.SaveChanges();
                            var rsp = new SendResponse();
                            rsp.MsgId = msgObj.MsgId;

                            response.Data     = rsp;
                            response.TypeData = "msg.snd";
                            return(response);
                            //Todo: сделать оповещение юзера.
                        }
                        else
                        {
                            //Пользователя с таким Id не существует.
                            response.Data     = 8;
                            response.TypeData = "error";
                            return(response);
                        }
                    }
                    catch (Exception e)
                    {
                        logger.Error("Произошла ошибка при отправке сообщения", e);
                        response.Data     = e.Message;
                        response.TypeData = "exception";
                        return(response);
                    }
                }
            }
            else
            {
                return(null);
            }
        }
Beispiel #9
0
 public override void OnNavigatedTo(NavigationParameters parameters)
 {
     SelectedItem = null;
 }
Beispiel #10
0
 async void ItemTapped(Database.Message message)
 {
     await NavigationService.NavigateAsync($"{MessageModule.DetailPageUri}?id={message.Id}");
 }
Beispiel #11
0
 public FrMessageDetail(Database.Message message)
 {
     InitializeComponent();
     this.message = message;
 }