Esempio n. 1
0
        //Actuall outgoing msg
        //Gets sent to "listenForClientMsg" here all types currentely needs to manually added
        private void sendMsg(OutMsg msg)
        {
            ByteMessage bMsg = new ByteMessage()
            {
                msg = msg.msg
            };

            connectionToServer.Send(msg.msgType, bMsg);
        }
Esempio n. 2
0
        public DeliveryResponse(IPEndPoint EndPoint, byte code, string Data)
        {
            this.EndPoint = EndPoint;
            OutMsg        = MediatorMain.MediatorServer.CreateMessage();

            OutMsg.Write(code);
            OutMsg.Write(Data);
            MediatorMain.ClientResponseList.Enqueue(this);
            if (MediatorSettings.ShowLog)
            {
                Log.ColorBorder("Sent to: " + EndPoint.ToString(), code.ToString() + Data, ConsoleColor.Cyan);
            }
        }
        public OutMsg ExistsUserNickName(string name, int userId)
        {
            var message = new OutMsg
            {
                Status = false,
                Msg    = @"不存在该用户"
            };
            var currentUser = _userRepository.FirstOrDefault(e => e.UserName.Equals(name));

            if (currentUser != null && currentUser.UserId != userId)
            {
                message.Status = true;
                message.Msg    = @"该用户名已被占用";
            }

            return(message);
        }
        OutMsg UpdateUser(User currentUser, User updatedUser)
        {
            var message = new OutMsg {
                Status = false, Msg = "修改信息失败"
            };
            var entityValidator = EntityValidatorFactory.CreateValidator();

            if (entityValidator.IsValid(updatedUser))
            {
                _userRepository.Merge(currentUser, updatedUser);
                _userRepository.UnitOfWork.Commit();
                message.Msg    = "成功修改信息";
                message.Status = true;
                return(message);
            }
            else
            {
                throw new ApplicationValidationErrorsException(entityValidator.GetInvalidMessages(updatedUser));
            }
        }
        public OutMsg UpdateFeedbackDetail(int id, FeedbackDto feedbackDto)
        {
            if (feedbackDto == null)
            {
                throw new ArgumentNullException();
            }

            var message = new OutMsg {
                Status = false, Msg = "修改信息失败"
            };

            var currentFeedback = _feedbackRepository.Get(id);
            var updateFeedback  = QsMapper.CreateMap <FeedbackDto, Feedback>(feedbackDto);

            _feedbackRepository.Merge(currentFeedback, updateFeedback);
            _feedbackRepository.UnitOfWork.Commit();
            message.Msg    = "成功修改信息";
            message.Status = true;
            return(message);
        }
        public OutMsg AlterReservationState(int id, int state)
        {
            var message = new OutMsg {
                Status = false, Msg = "修改信息失败"
            };
            var current = _repository.Get(id);

            if (current == null)
            {
                message.Msg = string.Format("找不到编号为{0}的对象", id);
                return(message);
            }
            var change = new Reservation(current)
            {
                State = state
            };

            _repository.Merge(current, change);
            _repository.UnitOfWork.Commit();
            message.Status = true;
            return(message);
        }
Esempio n. 7
0
        //Create a generic type of this
        public void sendServerMsg(object objMsg, short msgType)
        {
            if (canSendServerMsg == false)
            {
                return;
            }

            byte[] bytes;
            using (MemoryStream stream = new MemoryStream()){
                new BinaryFormatter().Serialize(stream, objMsg);
                bytes = stream.ToArray();
            }
            if (bytes.Length == 0)
            {
                return;
            }

            OutMsg serverMsg = new OutMsg(bytes, msgType);

            try{ sendMsg(serverMsg); }
            catch { networkMsgQueue.Add(serverMsg); }
        }
        public void requestTransfer(long tag, Watermark watermark)
        {
            //t2 Imitere at tlf er lagt på bordet:(kommer fra TAGVisualizer object)
                    OutMsg outMsg = new OutMsg();
                    User dest_user = null;
                    for (int i = 0; i < users.Count; i++)
                    {
                        if (users.ElementAt(i).tag_value == tag)
                        {
                            dest_user = users.ElementAt(i);
                        }
                    }
                    bool userHasImage = false;
                    for (int i = 0; i < watermark.owners.Count; i++)
                    {
                        if (watermark.owners.ElementAt(i).ip == dest_user.ip)
                        {
                            userHasImage = true;
                        }
                    }
                    if (userHasImage) { Console.WriteLine("The phone already ownes this picture!"); }
                        if (dest_user != null && !userHasImage)
                        {
                            outMsg.dest_ip = dest_user.ip;//Telefonen der er collission med's ips
                            outMsg.file_name = watermark.name;
                            outMsg.method = "transfer";
                            string src_ip = watermark.owners.First().ip;

                            if (src_ip != null)
                            {

                                if (src_ip != dest_user.ip)
                                {
                                    Thread t2 = new Thread(() => client(15123, src_ip, JsonConvert.SerializeObject(outMsg)));
                                    //Console.WriteLine(src_ip + ": " + JsonConvert.SerializeObject(outMsg));
                                    t2.Start();
                                }
                                else Console.WriteLine("The phone already ownes this picture!");
                            }
                        }
        }