Exemple #1
0
 public async Task<IActionResult> Create([Bind("ID,Title,MediaType,Format,Duration,Genre,Year,Rating,Location,Notes")] Media media)
 {
     if (ModelState.IsValid)
     {
         _context.Add(media);
         await _context.SaveChangesAsync();
         return RedirectToAction(nameof(Index));
     }
     return View(media);
 }
Exemple #2
0
        public async Task <IActionResult> Create([Bind("Format,LengthTime,Id,Name,Path,Width,Height")] Video video)
        {
            if (ModelState.IsValid)
            {
                _context.Add(video);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(video));
        }
Exemple #3
0
        public async Task <bool> DeleteLibrary(int id)
        {
            var result = false;

            using (var mediaContext = new MediaContext())
            {
                using (var transaction = mediaContext.Database.BeginTransaction())
                {
                    try
                    {
                        var library = await mediaContext.Libraries.FirstOrDefaultAsync(x => x.Id == id);

                        library.IsDeleted = true;
                        mediaContext.Libraries.Add(library);
                        await mediaContext.SaveChangesAsync();

                        result = true;
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            return(result);
        }
Exemple #4
0
        public async Task <int> AddLibrary(LibraryViewModel entity)
        {
            var result = 0;

            using (var mediaContext = new MediaContext())
            {
                using (var transaction = mediaContext.Database.BeginTransaction())
                {
                    try
                    {
                        var library = new Library
                        {
                            Name = entity.Name
                        };
                        mediaContext.Libraries.Add(library);
                        await mediaContext.SaveChangesAsync();

                        result = library.Id;
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            return(result);
        }
        public async Task <bool> RemoveMaterialType(int id)
        {
            var result = false;

            using (var mediaContext = new MediaContext())
            {
                using (var transaction = mediaContext.Database.BeginTransaction())
                {
                    try
                    {
                        var materialType = await mediaContext.MaterialTypes.FirstOrDefaultAsync(x => x.Id == id);

                        materialType.IsDeleted = true;
                        mediaContext.MaterialTypes.Add(materialType);
                        await mediaContext.SaveChangesAsync();

                        result = true;
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            return(result);
        }
        public async Task <int> AddMaterialType(MaterialTypeViewModel entity)
        {
            var result = 0;

            using (var mediaContext = new MediaContext())
            {
                using (var transaction = mediaContext.Database.BeginTransaction())
                {
                    try
                    {
                        var materialType = new MaterialType
                        {
                            Name = entity.Name
                        };
                        mediaContext.MaterialTypes.Add(materialType);
                        await mediaContext.SaveChangesAsync();

                        result = materialType.Id;
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            return(result);
        }
        public async Task <bool> UpdateDepartment(DepartmentViewModel entity)
        {
            var result = false;

            using (var mediaContext = new MediaContext())
            {
                using (var transaction = mediaContext.Database.BeginTransaction())
                {
                    try
                    {
                        var department = await mediaContext.Departments.FirstOrDefaultAsync(x => x.Id == entity.Id);

                        department.LibraryId = entity.LibraryId;
                        department.Name      = entity.Name;

                        mediaContext.Departments.Add(department);
                        await mediaContext.SaveChangesAsync();

                        result = true;
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            return(result);
        }
        public async Task <int> AddDepartment(DepartmentViewModel entity)
        {
            var result = 0;

            using (var mediaContext = new MediaContext())
            {
                using (var transaction = mediaContext.Database.BeginTransaction())
                {
                    try
                    {
                        var department = new Department
                        {
                            Name      = entity.Name,
                            LibraryId = entity.LibraryId
                        };
                        mediaContext.Departments.Add(department);
                        await mediaContext.SaveChangesAsync();

                        result = department.Id;
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            return(result);
        }
Exemple #9
0
        public async Task <bool> UpdateCategory(CategoryViewModel entity)
        {
            var result = false;

            using (var mediaContext = new MediaContext())
            {
                using (var transaction = mediaContext.Database.BeginTransaction())
                {
                    try
                    {
                        var category = new Category
                        {
                            Name             = entity.Name,
                            ParentCategoryId = entity.ParentCategoryId,
                            MaterialTypeId   = entity.MaterialTypeId,
                            Id = entity.Id.Value
                        };
                        mediaContext.Categories.Add(category);
                        await mediaContext.SaveChangesAsync();

                        result = true;
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }
            return(result);
        }
        public async Task <IActionResult> AddLanguage(long movieId, int languageId)
        {
            var language = await db.Languages
                           .Where(x => x.Id == languageId)
                           .SingleOrDefaultAsync();

            if (language == null)
            {
                return(NotFound(new ResWrapper {
                    args = new { movieId, languageId }, Status = "NotFound:Language"
                }));
            }

            var movie = await db.Movies
                        .Where(x => x.Id == movieId)
                        .SingleOrDefaultAsync();

            if (movie == null)
            {
                return(NotFound(new ResWrapper {
                    args = new { movieId, languageId }, Status = "NotFound:Movie"
                }));
            }

            var movieLanguage = await db.MovieLanguages
                                .Where(x => x.MovieId == movieId && x.LanguageId == languageId)
                                .SingleOrDefaultAsync();

            if (movieLanguage != null)
            {
                return(Ok(new ResWrapper {
                    args = new { movieId, languageId }, Status = "OK", Data = new { movie, language }
                }));
            }

            movieLanguage = new MovieLanguage {
                Movie = movie, Language = language, LanguageId = languageId, MovieId = movieId
            };
            await db.AddAsync(movieLanguage);

            await db.SaveChangesAsync();

            return(Ok(new ResWrapper {
                args = new { movieId, languageId }, Status = "OK", Data = new { movie, language }
            }));
        }
Exemple #11
0
 /// <summary>
 /// Represents the _UnitOfWork_ `Commit` method
 /// </summary>
 /// <returns></returns>
 public async Task <int> CommitAsync() => await _context.SaveChangesAsync();