public void HandleRequestFileUpload(C2SMessageReader mr)
        {
            if (!ServerCommunicationCenter.commCenter.ClientsEndPoint.ContainsKey(mr.ClientEP()))
            {
                return;
            }
            Debug.WriteLine("SR: Received request for registration");
            ServerMessageProvider smp = new ServerMessageProvider(SocketResourcesManager.srm.ProvideBuffer());
            OutputMessage         om;
            string fileFullName = mr.ReadRegisteringFileFullName();
            string ext          = Utils.GetFileExtensionFromPath(fileFullName);
            string name         = Utils.GetFileNameFromPath(fileFullName);

            bool duplikat = File.Exists(name, ext, mr.ReadRegisteringFileSize());

            if (!duplikat)
            {
                File f = new File();
                f.ApplicationId = mr.ClientEP();
                f.FileExtension = ext;
                f.FileName      = name;
                f.FileSize      = mr.ReadRegisteringFileSize();
                int fileId = f.Add();
                om = smp.ProvidePositiveUploadFileMessage(fileId);
                HashManager shr = new HashManager(mr.ClientEP(), Sizes.GetChunksNumber(mr.ReadRegisteringFileSize()), fileId, new ServerHashManagerListener());
                Debug.WriteLine("File: " + fileId);
                Debug.WriteLine("FileSize: " + f.FileSize);
                ServerObjectGraph.sog.FileRegistrations.Add(fileId, shr);
                Debug.WriteLine("SR: Registration approved");
            }
            else
            {
                om = smp.ProvideNegativeUploadFileMessage();
            }
            ServerCommunicationCenter.commCenter.SendMessageTo(mr.ClientEP(), om);
        }