Example #1
0
        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();
        }
Example #2
0
        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);
        }
Example #3
0
        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();
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
 public void UpdateSoftwareDataset(SoftwareDataset sd, bool deleteImage, bool deleteFile)
 {
     repository.SoftwareDatasetRepo.UpdateSoftwareDataset(sd, deleteImage, deleteFile);
 }
Example #7
0
 public void AddSoftwareDataset(SoftwareDataset sd)
 {
     repository.SoftwareDatasetRepo.AddSoftwareDataset(sd);
 }