public void AddSoftwareDataset(SoftwareDataset sd) { try { var newSD = context.Software.Add(sd); if (sd.Upload != null) { var upload = context.Uploads.Add(sd.Upload); newSD.Upload = upload; } if (sd.Images != null && sd.Images.Count > 0) { foreach (var image in sd.Images) { var newImg = context.Images.Add(image); newImg.SoftwareDataset = newSD; } } } catch (Exception ex) { throw ex; } context.SaveChanges(); }
private SoftwareDataset GetSoftwareInformation(SoftwareDatasetVM sd, int userID) { var sdToAdd = new SoftwareDataset() { UserID = userID, Title = sd.Title != null?sd.Title.Trim() : null, Authors = sd.Authors != null?sd.Authors.Trim() : null, CreationDate = DateTime.Now, Type = sd.Type, Link = sd.Link != null?sd.Link.Trim() : null, LinkText = sd.LinkText != null?sd.LinkText.Trim() : null, Description = sd.Description != null?sd.Description.Trim() : null }; var image = sd.Image; if (image != null && image.ContentLength > 0) { var fileName = Path.GetFileName(image.FileName); var guid = Guid.NewGuid().ToString(); var path = Path.Combine(Server.MapPath("~/images"), guid + '-' + fileName); image.SaveAs(path); var newImage = new BE.Image() { UserID = userID, Name = guid + "-" + fileName, FileSize = image.ContentLength, FilePath = path, CreationDate = System.DateTime.Now, ImageType = image.ContentType }; sdToAdd.Images.Add(newImage); } var upload = sd.Upload; if (upload != null && upload.ContentLength > 0) { var fileName = Path.GetFileName(upload.FileName); var guid = Guid.NewGuid().ToString(); var path = Path.Combine(Server.MapPath("~/uploads"), guid + "-" + fileName); upload.SaveAs(path); var newUpload = new BE.Upload() { FileName = guid + "-" + fileName, FileSize = upload.ContentLength, FilePath = path, CreationDate = System.DateTime.Now, FileType = upload.ContentType }; sdToAdd.Upload = newUpload; } return(sdToAdd); }
public void UpdateSoftwareDataset(SoftwareDataset sd, bool deleteImage, bool deleteUpload) { var sdToUpdate = context.Software .Include(i => i.Images) .Include(i => i.Upload) .Where(i => i.ID == sd.ID) .FirstOrDefault(); var images = context.Images .Where(i => i.SoftwareDatasetID == sdToUpdate.ID) .ToList(); if (sdToUpdate != null) { sdToUpdate.Title = sd.Title; sdToUpdate.Authors = sd.Authors; sdToUpdate.Type = sd.Type; sdToUpdate.Description = sd.Description; sdToUpdate.Link = sd.Link; sdToUpdate.LinkText = sd.LinkText; if (sdToUpdate.Upload != null && deleteUpload == true) { context.Uploads.Remove(sdToUpdate.Upload); } if (sd.Upload != null) { var upload = context.Uploads.Add(sd.Upload); sdToUpdate.Upload = upload; } if (images != null && (deleteImage == true || (sd.Images != null && sd.Images.Count > 0))) { foreach (var image in images) { context.Images.Remove(image); } } if (sd.Images != null && sd.Images.Count > 0) { foreach (var pubImage in sd.Images) { var newImage = context.Images.Add(pubImage); newImage.SoftwareDataset = sdToUpdate; } } } context.SaveChanges(); }
public SoftwareDataset GetSoftwareDatasetById(int sdId) { var sd = new SoftwareDataset(); try { sd = context.Software .Include(i => i.Images) .Include(i => i.Upload) .Where(i => i.ID == sdId) .FirstOrDefault(); } catch (Exception ex) { throw ex; } return(sd); }
public SoftwareDataset DeleteSoftwareDataset(int sdId) { var deletedSD = new SoftwareDataset(); try { var sd = context.Software .Include(i => i.Upload) .Include(i => i.Images) .Where(i => i.ID == sdId) .FirstOrDefault(); if (sd != null) { if (sd.Upload != null) { context.Uploads.Remove(sd.Upload); } if (sd.Images != null) { context.Images.RemoveRange(sd.Images); } deletedSD = context.Software.Remove(sd); } context.SaveChanges(); } catch (Exception ex) { throw ex; } return(deletedSD); }
public void UpdateSoftwareDataset(SoftwareDataset sd, bool deleteImage, bool deleteFile) { repository.SoftwareDatasetRepo.UpdateSoftwareDataset(sd, deleteImage, deleteFile); }
public void AddSoftwareDataset(SoftwareDataset sd) { repository.SoftwareDatasetRepo.AddSoftwareDataset(sd); }