public void AddUserToDataBaseIdwhenIdIsContain()
        {
            UsersDataBase uDataBase = new UsersDataBase();
            User          user1     = new User(1, -1, "qwerty", "Иванов Иван Иванович", "Генеральный директор");

            uDataBase.Add(user1);
            User user2 = new User(1, 1, "qwerty", "Петров Иван Иванович", "Главный инженер");

            Assert.AreEqual(true, uDataBase.Add(user2));
            User user3 = new User(1, 1, "qwerty", "Петров Иван Иванович", "Главный конструктор");

            Assert.AreEqual(true, uDataBase.Add(user2));
        }
Exemple #2
0
        private static void M_Tcp_Receive(object sender, SocketData m)
        {
            NetworkTransferObjects e = (NetworkTransferObjects)sender;

            if (e.ProtocolMessage == ProtocolOfExchange.CheckConnection)
            {
                NetworkTransferObjects obj = new NetworkTransferObjects();
                obj.ProtocolMessage = ProtocolOfExchange.CheckConnectionOK;
                m_Tcp.Send(m.Socket, obj);
            }
            if (e.ProtocolMessage == ProtocolOfExchange.AskUserInfoList)
            {
                NetworkTransferObjects obj = new NetworkTransferObjects();
                obj.ListUserInfo    = m_UserDataBase.GetListUserInfo();
                obj.ProtocolMessage = ProtocolOfExchange.UserInfoListOk;
                m_Tcp.Send(m.Socket, obj);
            }
            if (e.ProtocolMessage == ProtocolOfExchange.AddUser)
            {
                if (m_UserDataBase.Add(e.User))
                {
                    Func.SaveConfig(m_UserDataBase, "usersdb.bin");
                    NetworkTransferObjects obj = new NetworkTransferObjects();
                    obj.ListUserInfo    = m_UserDataBase.GetListUserInfo();
                    obj.ProtocolMessage = ProtocolOfExchange.AddUserOK;
                    m_Tcp.Send(m.Socket, obj);
                }
            }
            if (e.ProtocolMessage == ProtocolOfExchange.TryAuth)
            {
                AuthInfo authinfo = e.AuthInfo;
                if (m_UserDataBase.IsUserAuth(authinfo.UserId, authinfo.Password))
                {
                    NetworkTransferObjects obj = new NetworkTransferObjects();
                    obj.User            = (m_UserDataBase.GetUserObject(authinfo.UserId));
                    obj.AuthInfo        = authinfo;
                    obj.ProtocolMessage = ProtocolOfExchange.AuthOk;
                    m_Tcp.Send(m.Socket, obj);
                }
                else
                {
                    NetworkTransferObjects obj = new NetworkTransferObjects();
                    obj.ProtocolMessage = ProtocolOfExchange.AuthFail;
                    m_Tcp.Send(m.Socket, obj);
                }
            }
            if (e.ProtocolMessage == ProtocolOfExchange.NewMessages)
            {
                //object[] obj = (object[])e.NetDataObj
                List <CoreLib.Message> toList = e.ListMessages;

                foreach (CoreLib.Message to in toList)
                {
                    //UserInfo userFrom = new UserInfo(((User)e.sendInfo.InfoObject).Id, ((User)e.sendInfo.InfoObject).IdParent, ((User)e.sendInfo.InfoObject).FullName, ((User)e.sendInfo.InfoObject).PostName);
                    m_MessageDataBase.NewMessage(to);
                    Console.WriteLine("Получено сообщение от " + to.FromId + "для" + to.ToId);
                }

                //m_MessageDataBase.NewMessage(new Message())
            }
            if (e.ProtocolMessage == ProtocolOfExchange.SyncMessages)
            {
                if (m_UserDataBase.IsUserAuth(e.AuthInfo))
                {
                    NetworkTransferObjects obj   = new NetworkTransferObjects();
                    List <CoreLib.Message> inbox = m_MessageDataBase.SyncMessages(e.UserInfo, e.MessageUids, false);


                    obj.AuthInfo        = e.AuthInfo;
                    obj.ProtocolMessage = ProtocolOfExchange.SyncMessages;
                    foreach (CoreLib.Message msg in inbox)
                    {
                        obj.Message = msg;
                        m_Tcp.Send(m.Socket, obj);
                        Thread.Sleep(20);
                    }
                    List <CoreLib.Message> outbox = m_MessageDataBase.SyncMessages(e.UserInfo, e.MessageUids_1, true);
                    obj.Message = null;
                    foreach (CoreLib.Message msg in outbox)
                    {
                        obj.Message_1 = msg;
                        m_Tcp.Send(m.Socket, obj);
                        Thread.Sleep(20);
                    }
                }
            }
            if (e.ProtocolMessage == ProtocolOfExchange.MessageRead)
            {
                m_MessageDataBase.MessageReaded(e.UserInfo, e.MessageUids[0]);
            }

            /*if (e.sendInfo.message == "File")
             * {
             *  UserFile uf = (UserFile)e.Object;
             *  if(System.IO.Directory.Exists(System.Windows.Forms.Application.StartupPath + @"\" + "FileDataBase"))
             *  uf.SaveToLocal(System.Windows.Forms.Application.StartupPath + @"\" + "FileDataBase" + @"\" + uf.FileName);
             *  else
             *  {
             *      System.IO.Directory.CreateDirectory(System.Windows.Forms.Application.StartupPath + @"\" + "FileDataBase");
             *      uf.SaveToLocal(System.Windows.Forms.Application.StartupPath + @"\" + "FileDataBase" + @"\" + uf.FileName);
             *  }
             * }*/

            if (e.ProtocolMessage == ProtocolOfExchange.AskNewVersionClient)
            {
                NetworkTransferObjects obj = new NetworkTransferObjects();
                if (m_UpdateExist)
                {
                    obj.ProtocolMessage = ProtocolOfExchange.NewVersionClientOk;
                    //obj.Data = Func.LoadFile("ClientPanel.exe");
                    m_Tcp.Send(m.Socket, obj);
                }
                else
                {
                    obj.ProtocolMessage = ProtocolOfExchange.NewVersionClientNone;
                    m_Tcp.Send(m.Socket, obj);
                }
            }
            if (e.ProtocolMessage == ProtocolOfExchange.GetNewVersionClient)
            {
                NetworkTransferObjects obj = new NetworkTransferObjects();
                obj.ProtocolMessage = ProtocolOfExchange.GetNewVersionClient;
                obj.Data            = Func.LoadFile("ClientPanel.exe");
                m_Tcp.Send(m.Socket, obj);
            }
        }