예제 #1
0
        public bool UpdateFolder(FolderEdit model) //Purge folder and replace with new images OR just add and not remove
        {
            using (var ctx = new ApplicationDbContext())
            {
                try
                {
                    var entity =
                        ctx
                        .Folders
                        .Single(e => e.FolderID == model.FolderID);
                    if (entity == null)
                    {
                        return(false);
                    }


                    var iidEntity =
                        ctx
                        .ImagesInFolder
                        .Select(e => e.FolderID == model.FolderID);

                    //foreach (var oldImages in ctx.ImagesInFolder) //Deletes Existing in Folder
                    //{
                    //    var happy = ctx.ImagesInFolder.Remove(oldImages);
                    //}
                    //ctx.SaveChanges();
                    //var succeed = ctx.ImagesInFolder.Count() == 0;

                    entity.Name = model.Name;

                    foreach (var newImages in model.ImagesInFolder) //may break if not purging system
                    {
                        var image =
                            new ImagesInFolderCreate()
                        {
                            FolderID = entity.FolderID,
                            ImageID  = newImages.Value
                        };
                        var succeeded = CreateImagesInFolder(image);
                    }
                    ctx.SaveChanges();
                }
                catch (Exception e)
                {
                    return(false);
                }
            }
            return(true);
        }
예제 #2
0
        public bool CreateImagesInFolder(ImagesInFolderCreate imageModel)
        {
            var entity =
                new ImagesInFolder()
            {
                FolderID = imageModel.FolderID,
                ImageID  = imageModel.ImageID,
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.ImagesInFolder.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
예제 #3
0
        public bool CreateFolder(FolderCreate model)
        {
            try
            {
                bool allWentWell = false;
                var  entity      =
                    new Folder()
                {
                    Name = model.Name,
                };

                using (var ctx = new ApplicationDbContext())
                {
                    ctx.Folders.Add(entity);
                    var success = ctx.SaveChanges() == 1;

                    foreach (var imageInFolder in model.ImagesInFolder)
                    {
                        if (imageInFolder.HasValue)
                        {
                            var image =
                                new ImagesInFolderCreate()
                            {
                                FolderID = entity.FolderID,
                                ImageID  = Convert.ToInt32(imageInFolder)
                            };
                            var succeeded = CreateImagesInFolder(image);
                            //break the code or decide what you'll do if succeeded == false;
                            // if succeeded is false, return allWentWell
                        }
                    }
                    allWentWell = true;
                }
                return(allWentWell);
            }
            catch (Exception e)
            {
                return(false);
            }
        }