public string GetLink(int id) { Log.Debug("GETLink Request private using objectid:" + id); try { using (TuneWorldDBEntities entities = new TuneWorldDBEntities()) { var entity = entities.Objects.Where(e => e.ObjectId.Equals(id)); if (entity.Count() == 1) { string objectFinal = entity.First().ObjectUploadLink; string urlString = ""; using (client = new AmazonS3Client(awskey, awssecret, new AmazonS3Config { RegionEndpoint = regionep, UseAccelerateEndpoint = true })) { urlString = GeneratePreSignedDownloadURL(objectFinal); Log.Debug("GETLink Request urlstring:" + urlString); } return(urlString); } return(null); } } catch (Exception ex) { Log.Debug("GETLink Request exception:" + ex.StackTrace); return(null); } }
public IEnumerable <Object> Get() { string userid = User.Identity.GetUserId(); Log.Debug("GET Request private using userid:" + userid); using (TuneWorldDBEntities entities = new TuneWorldDBEntities()) { return(entities.Objects.Where(obj => obj.UserId.Equals(userid)).ToList()); } }
//delete related private bool DeleteObject(int id) { Log.Debug("Entered delete object"); //delete from s3 using (TuneWorldDBEntities entities = new TuneWorldDBEntities()) { var entity = entities.Objects.Where(e => e.ObjectId.Equals(id)); if (entity.Count() == 1) { using (client = new AmazonS3Client(awskey, awssecret, new AmazonS3Config { RegionEndpoint = regionep, UseAccelerateEndpoint = true })) { try { // Delete the object DeleteObjectRequest request = new DeleteObjectRequest { BucketName = bucketName, Key = entity.First().ObjectUploadLink, //VersionId = versionID }; Console.WriteLine("Deleting an object"); DeleteObjectResponse resp = client.DeleteObject(request); } catch (AmazonS3Exception s3Exception) { Log.Debug("Delete S3 Exception exception " + s3Exception.Message + s3Exception.StackTrace); Console.WriteLine(s3Exception.Message, s3Exception.InnerException); return(false); } //delete from rds try { Log.Debug("Delete S3 success updating RDS "); ObjectModel obj = new ObjectModel(id); string cmdstr = obj.ObjectDeleteDB("Objects", id); DBAccess.DBAccess.InsertUpdateDeleteIntoDB(cmdstr); } catch (Exception e) { Log.Debug("Delete updating RDS excepton" + e.Message + e.StackTrace); return(false); } return(true); } } return(false); } }
public IEnumerable <Object> Get(string searchterm, string category) { Log.Debug("GET Request public using searchterm:" + searchterm); using (TuneWorldDBEntities entities = new TuneWorldDBEntities()) { entities.Configuration.ProxyCreationEnabled = false; switch (category) { case "Filename": return(entities.Objects.Where(e => (e.ObjectName.Contains(searchterm) || e.ObjectName.Contains(searchterm.ToLower()) || e.ObjectName.Contains(searchterm.ToUpper())) && e.MakePublic.Equals(true)).ToList()); case "Songname": return(entities.Objects.Where(e => (e.SongName.Contains(searchterm) || e.SongName.Contains(searchterm.ToLower()) || e.SongName.Contains(searchterm.ToUpper())) && e.MakePublic.Equals(true)).ToList()); case "Genre": return(entities.Objects.Where(e => (e.Genre.Contains(searchterm) || e.Genre.Contains(searchterm.ToLower()) || e.Genre.Contains(searchterm.ToUpper())) && e.MakePublic.Equals(true)).ToList()); case "Language": return(entities.Objects.Where(e => (e.Language.Contains(searchterm) || e.Language.Contains(searchterm.ToLower()) || e.Language.Contains(searchterm.ToUpper())) && e.MakePublic.Equals(true)).ToList()); } return(entities.Objects.Where(e => e.ObjectName.Contains(searchterm) && e.MakePublic.Equals(true)).ToList()); } }
//rds related private bool UpdateRDS(IPrincipal user, MultipartFileData file, MultipartFormDataStreamProvider provider) { string filename = file.Headers.ContentDisposition.FileName.Replace("\"", ""); string objectFinal = keyName + "/" + user.Identity.GetUserName() + "/" + filename; string uploadtime = DateTime.Now.ToString(); string userid = user.Identity.GetUserId(); string objectDesc = provider.FormData.GetValues("filedescription")[0]; string objectSongname = provider.FormData.GetValues("filesong")[0]; string objectLanguage = provider.FormData.GetValues("filelanguage")[0]; string objectGenre = provider.FormData.GetValues("filegenre")[0]; int iPublic = provider.FormData.GetValues("filepublic")[0] == "true" ? 1 : 0; //check if entry already exists based on objectFinal (update or insert) bool bInsert = true; int objid = 0; using (TuneWorldDBEntities entities = new TuneWorldDBEntities()) { var entity = entities.Objects.Where(e => e.UserId.Equals(userid) && e.ObjectUploadLink.Equals(objectFinal)); if (entity.Count() > 0) { bInsert = false; objid = entity.First().ObjectId; } } string urlString = ""; if (iPublic == 1) { //here it might not work for other region objects edit later because of region endpoint //https://s3.amazonaws.com/tuneworldmain/TuneWorldFolder/bcd%40xyz/Happy+Birthday+Tune.txt //urlString = "https://s3.amazonaws.com/" + bucketName + "/" + HttpUtility.UrlEncode(objectFinal); string cloudfrontobjectFinal = user.Identity.GetUserName() + "/" + filename; urlString = cloudfrontlink + HttpUtility.UrlEncode(cloudfrontobjectFinal); } else { using (client = new AmazonS3Client(awskey, awssecret, new AmazonS3Config { RegionEndpoint = regionep, UseAccelerateEndpoint = true })) { urlString = GeneratePreSignedDownloadURL(objectFinal); } } ObjectModel obj = new ObjectModel(userid, filename, objectDesc, objectFinal, urlString, uploadtime, iPublic, objectSongname, objectLanguage, objectGenre); string cmdstr = ""; if (bInsert) { cmdstr = obj.ObjectInsertDB("Objects"); } else { cmdstr = obj.ObjjectUpdateDB("Objects", objid); } DBAccess.DBAccess.InsertUpdateDeleteIntoDB(cmdstr); return(true); }