public static void HandleIt(TcpClient client)
        {
            Console.WriteLine("Connected to a client");
            ReturnDto returnDto = new ReturnDto(false, "Something went really wrong");

            using (NetworkStream stream = client.GetStream())
            {
                XmlSerializer reader = new XmlSerializer(typeof(FileDto));
                FileDto       file   = (FileDto)reader.Deserialize(stream);

                using (SmartShareContext db = new SmartShareContext())
                {
                    Dao dao = new Dao(db, file);

                    if (file.Data != null)
                    {
                        returnDto = dao.Upload();
                    }
                    else if (file.View)
                    {
                        returnDto = dao.View();
                    }
                    else
                    {
                        returnDto = dao.Download();
                    }
                }

                XmlSerializer serializer = new XmlSerializer(typeof(ReturnDto));
                serializer.Serialize(stream, returnDto);
                client.Client.Shutdown(SocketShutdown.Both);
            }
        }
        public static void HandleClientRequest(TcpClient client)
        {
            Response response = new Response(false, "Failed response.");

            using (NetworkStream stream = client.GetStream())
            {
                //Deserialize the file from the stream.
                XmlSerializer reader = new XmlSerializer(typeof(FileObject));
                FileObject    file   = (FileObject)reader.Deserialize(stream);

                using (SmartShareContext db = new SmartShareContext())
                {
                    DataAccessObject.DataAccessObject data = new DataAccessObject.DataAccessObject(db, file);

                    //Check file to determine how to handle.
                    if (!(file.Data == null))
                    {
                        response = data.UploadResponse();
                    }
                    else if (file.View)
                    {
                        response = data.ViewResponse();
                    }
                    else
                    {
                        response = data.DownloadResponse();
                    }
                }
                //Respond to client and shutdown.
                XmlSerializer serializer = new XmlSerializer(typeof(Response));
                serializer.Serialize(stream, response);
                client.Client.Shutdown(SocketShutdown.Both);
            }
        }
 public DataAccessObject(SmartShareContext db, FileObject file)
 {
     this.Db   = db;
     this.File = file;
 }
示例#4
0
 public Dao(SmartShareContext db, FileDto file)
 {
     this.Db   = db;
     this.File = file;
 }