public HttpResponseMessage postAnswer(int questionId) { try { var userId = HttpContext.Current.Session["id"]; //var questionId = HttpContext.Current.Request.QueryString["questionId"]; //var title = HttpContext.Current.Request.Params["title"]; var content = HttpContext.Current.Request.Params["content"]; DateTime time = DateTime.Now; answer newAnswer = new answer { content = (string)content, user_id = (int)userId, file_request_id = questionId, answer_time = time }; using (FileEntitiesFinal entity = new FileEntitiesFinal()) { file_request request = entity.file_request.Where(r => r.id == questionId).FirstOrDefault(); if (request == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, "No such question")); } entity.answer.Add(newAnswer); entity.SaveChangesAsync(); return(Request.CreateResponse(HttpStatusCode.OK, "Success")); } } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Fail to post")); } }
public string testFile(string code) { FileEntitiesFinal entity = new FileEntitiesFinal(); user_share_file temp = entity.user_share_file.Where(f => f.code.Equals(code)).FirstOrDefault(); return(temp.code); }
public HttpResponseMessage postQuestion() { Console.WriteLine("in"); try { var userId = HttpContext.Current.Session["id"]; //var questionId = HttpContext.Current.Request.QueryString["questionId"]; var title = HttpContext.Current.Request.Params["title"]; var content = HttpContext.Current.Request.Params["content"]; DateTime time = DateTime.Now; file_request newRequest = new file_request() { title = (string)title, description = (string)content, post_time = time, status = 1, user_id = (int)userId }; using (FileEntitiesFinal entity = new FileEntitiesFinal()) { entity.file_request.Add(newRequest); entity.SaveChangesAsync(); return(Request.CreateResponse(HttpStatusCode.OK, "Success")); } } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Fail to post")); } }
public user_share_file addFiles() { var newFile = new file() { name = "test222", type = 1, url = "test222", }; using (FileEntitiesFinal entities = new FileEntitiesFinal()) { entities.Entry <file>(newFile).State = System.Data.Entity.EntityState.Added; entities.SaveChanges(); entities.Entry(newFile); user_share_file newShare = new user_share_file() { user_id = 2, file_id = newFile.id, code = "1234" }; entities.user_share_file.Add(newShare); entities.SaveChanges(); return(newShare); } }
public bool isCodeExist(string code) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { user_share_file user_Share_File = entity.user_share_file.Where(f => f.code == code).FirstOrDefault(); return(user_Share_File != null); } }
// insert new use transaction public async Task registerUser(user newUser) { using (TransactionScope scope = new TransactionScope()) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { entity.user.Add(newUser); entity.SaveChanges(); } scope.Complete(); } }
// store the file into the database public async Task StoreFileToDB(file file) { // using transaction scope using (var scope = new TransactionScope()) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { entity.file.Add(file); await entity.SaveChangesAsync(); scope.Complete(); } } }
public int login(int id, String password) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { user currentUser = entity.user.Where(f => f.id == id).FirstOrDefault(); if (currentUser == null) { return(1); } else { //Here should encrypt the password and compare! byte[] psw = new byte[256]; if (getEncodeString(password, ref psw[0]) == -1) { return(2); } StringBuilder encodedPsw = new StringBuilder(); for (int i = 0; i < psw.Length; ++i) { if (psw[i] != 0) { encodedPsw.Append((char)psw[i]); } else { break; } } password = encodedPsw.ToString(); if (password.Equals(currentUser.password)) { HttpCookie cookie = new HttpCookie("user_cookie") { Value = currentUser.id.ToString(), Expires = DateTime.Now.AddHours(1) }; HttpContext.Current.Response.Cookies.Add(cookie); HttpContext.Current.Session["id"] = currentUser.id; return(3); } else { return(4); } } } }
// check whether the user existed private bool isUserExist(int userId) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { user tempUser = entity.user.Where(u => u.id == userId).FirstOrDefault(); if (tempUser == null) { return(false); } else { return(true); } } }
private bool isFileNameExisted(String name) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { file tempFile = entity.file.Where(f => f.name.Equals(name)).FirstOrDefault(); if (tempFile == null) { return(false); } else { return(true); } } }
public HttpResponseMessage getAnswerList(int id) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var answers = from a in entity.answer where a.file_request_id == id select new { a.content, a.user.name }; List <dynamic> result = new List <dynamic>(); foreach (var line in answers) { result.Add(line); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); } }
public HttpResponseMessage searchFile(string key) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var fileList = from f in entity.file where f.name.Contains(key) && f.status == 1 select new { f.time, f.name, f.id, f.download_times, f.description, f.size, f.permission, f.type, f.user_share_file.FirstOrDefault().code }; List <dynamic> result = new List <dynamic>(); foreach (var line in fileList) { result.Add(line); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); } }
public HttpResponseMessage getRequestList() { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var questionList = from q in entity.file_request where q.status == 1 select new { q.title, q.user.name, q.id, time = q.post_time }; List <dynamic> result = new List <dynamic>(); foreach (var line in questionList) { result.Add(line); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); } }
public HttpResponseMessage getDetail(int id) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var question = from q in entity.file_request where q.status == 1 && q.id == id select new { q.title, q.user.name, q.id, time = q.post_time, content = q.description }; List <dynamic> result = new List <dynamic>(); foreach (var line in question) { result.Add(line); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); } }
public String downloadFile(int fileId) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { file tempFile = entity.file.Where(f => f.id == fileId).FirstOrDefault(); if (tempFile == null) { return("FileNotExist"); } else { addUpDownloadTimes(tempFile.id); return(tempFile.url.ToString() + "?attname="); } } }
public HttpResponseMessage deleteFile(string id) { //string id = HttpContext.Current.Request.Params["fileId"].ToString(); int fileId = 0; HttpResponseMessage response = null; //response.Headers.CacheControl = new System.Net.Http.Headers.CacheControlHeaderValue() //{ // MaxAge = TimeSpan.FromMinutes(20) //}; try { fileId = Convert.ToInt32(id); } catch (Exception e) { response = Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid File"); return(response); } var userId = HttpContext.Current.Session["id"]; using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var files = from f in entity.file where f.id == fileId select f; file tempFile = files.FirstOrDefault(); if (tempFile.user_id != (int)userId) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Operation deny")); } if (tempFile.status == 100) { response = Request.CreateResponse(HttpStatusCode.BadRequest, "File had been deleted, don't delete it again."); return(response); } tempFile.status = 100; entity.Entry <file>(tempFile).State = System.Data.Entity.EntityState.Modified; entity.SaveChanges(); string message = string.Format("Delete file {0} successfully!", tempFile.name.ToString()); //response.Content = new StringContent(message, Encoding.Unicode); response = Request.CreateResponse(HttpStatusCode.OK, message); return(response); } }
private async void addUpFileNumbs(int userId) { using (TransactionScope scope = new TransactionScope()) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { user tempUser = entity.user.Where(u => u.id == userId).FirstOrDefault(); if (tempUser == null) { return; } tempUser.file_nums++; entity.user.Attach(tempUser); entity.Entry(tempUser).State = System.Data.Entity.EntityState.Modified; await entity.SaveChangesAsync(); } } }
public HttpResponseMessage getUserFileType(int type) { var userId = HttpContext.Current.Session["id"]; using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var fileList = from f in entity.file where f.user_id == (int)userId && f.type == type && f.status == 1 select new { f.time, f.name, f.id, f.download_times, f.description, f.size, f.permission, f.type, f.user_share_file.FirstOrDefault().code }; List <dynamic> result = new List <dynamic>(); foreach (var line in fileList) { result.Add(line); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); } }
public HttpResponseMessage getMyQuestion() { var userId = HttpContext.Current.Session["id"]; int id = (int)userId; using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var question = from q in entity.file_request where q.user_id == id select new { q.title, q.user.name, q.id, time = q.post_time, content = q.description }; List <dynamic> result = new List <dynamic>(); foreach (var line in question) { result.Add(line); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); } }
public HttpResponseMessage getMyAnswer() { var userId = HttpContext.Current.Session["id"]; int id = (int)userId; using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var answers = from a in entity.answer where a.user_id == id select new { a.content, title = a.file_request.title, time = a.file_request.post_time, questionId = a.file_request_id }; List <dynamic> result = new List <dynamic>(); foreach (var line in answers) { result.Add(line); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); } }
private file getFileUrl(string code) { file result = null; using (FileEntitiesFinal entity = new FileEntitiesFinal()) { user_share_file tempFile = entity.user_share_file.Where(f => f.code.Equals(code)).FirstOrDefault(); if (tempFile != null) { result = tempFile.file; } else { result = null; } } return(result); }
//private string GetRandomString(int length) //{ // const string key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; // if (length < 1) // { // return string.Empty; // } // Random random = new Random(); // byte[] buffer = new byte[8]; // ulong bit = 21; // ulong result = 0; // int index = 0; // StringBuilder stringBuilder = new StringBuilder((length / 5 + 1) * 5); // while (stringBuilder.Length <length) // { // random.NextBytes(buffer); // buffer[5] = buffer[6] = buffer[7] = 0x00; // result = BitConverter.ToUInt64(buffer, 0); // while (result >0 && stringBuilder.Length <length) // { // index = (int)(bit & result); // stringBuilder.Append(key[index]); // result = result >> 5; // } // } // return stringBuilder.ToString(); // } private async void addUpDownloadTimes(int fileId) { using (TransactionScope scope = new TransactionScope()) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { file tempFile = entity.file.Where(f => f.id == fileId).FirstOrDefault(); if (tempFile == null) { return; } else { tempFile.download_times++; entity.file.Attach(tempFile); entity.Entry(tempFile).State = System.Data.Entity.EntityState.Modified; await entity.SaveChangesAsync(); } } scope.Complete(); } }
public HttpResponseMessage getUserFiles() { // TODO: need to login first var userId = HttpContext.Current.Session["id"]; if (userId == null) { return(Request.CreateResponse(HttpStatusCode.NonAuthoritativeInformation)); } FileEntitiesFinal entity = new FileEntitiesFinal(); var fileList = from f in entity.file where f.user_id == (int)userId && f.status == 1 orderby f.time descending select new { f.time, f.name, f.id, f.download_times, f.description, f.size, f.permission, f.type, f.user_share_file.FirstOrDefault().code }; List <dynamic> result = new List <dynamic>(); foreach (var line in fileList) { result.Add(line); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result); return(response); }
public HttpResponseMessage getDownloadCode(int fileId) { using (FileEntitiesFinal entity = new FileEntitiesFinal()) { var userId = HttpContext.Current.Session["id"]; string code = ""; user_share_file user_Share_File = entity.user_share_file.Where(u => u.file_id == fileId && u.user_id == (int)userId).FirstOrDefault(); if (entity.file.Where(f => f.id == fileId).FirstOrDefault() == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, "No such file")); } RandomCodeLib.CodeClass codeClass = new CodeClass(); if (user_Share_File == null) { codeClass.getRandomCode(6, out code); while (isCodeExist(code)) { codeClass.getRandomCode(6, out code); if (code.Length < 6) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "File to get the code")); } } user_Share_File = new user_share_file { user_id = (int)userId, file_id = fileId, code = code }; entity.user_share_file.Add(user_Share_File); entity.SaveChangesAsync(); } else { code = user_Share_File.code; } return(Request.CreateResponse(HttpStatusCode.OK, code)); } }