예제 #1
0
        public UserApi Add(UserApi user, string password)
        {
            if (IsEmailUsed(user.Email))
            {
                return(null);
            }

            var userData = ApiToData.UserApiToData(user);
            var salt     = Crypto.GenerateSalt();
            var account  = new UserAccount()
            {
                Email    = user.Email,
                Password = Crypto.HashPassword(password + salt),
                Salt     = salt
            };

            _dbContext.UserAccount.Add(account);
            _dbContext.SaveChanges();

            userData.Id = account.Id;
            _dbContext.User.Add(userData);
            _dbContext.SaveChanges();

            return(DataToApi.UserToApi(userData));
        }
예제 #2
0
        public void AddPictures(List <ImageApi> images, int FilmId)
        {
            var pictures = images.Select(x => ApiToData.ImageApiToData(x, FilmId)).ToList();

            _dbContext.Image.AddRange(pictures);

            _dbContext.SaveChanges();
        }
예제 #3
0
        public FilmApi Create(FilmApi model)
        {
            var filmData = ApiToData.FilmApiToData(model);

            _dbContext.Film.Add(filmData);
            _dbContext.SaveChanges();

            return(DataToApi.FilmToApi(filmData));
        }
예제 #4
0
        public string AddPoster(ImageApi poster, int FilmId)
        {
            var posterData = ApiToData.ImageApiToData(poster, FilmId, true);
            var prevPoster = _dbContext.Image.FirstOrDefault(x => !x.IsDeleted && x.IsPoster && x.FilmId == FilmId);

            if (prevPoster != null)
            {
                prevPoster.IsDeleted = true;
            }

            _dbContext.Image.Add(posterData);
            _dbContext.SaveChanges();
            return(posterData.Name);
        }
예제 #5
0
        public FilmApi Update(FilmApi model)
        {
            var original = _dbContext.Film.FirstOrDefault(x => x.Id == model.Id);

            if (original == null)
            {
                return(null);
            }

            var newData = ApiToData.FilmApiToData(model);

            _dbContext.Entry(original).CurrentValues.SetValues(newData);
            _dbContext.SaveChanges();

            return(DataToApi.FilmToApi(newData));
        }
예제 #6
0
        public FilmApi Create(FilmApi model)
        {
            model.User = DataToApi.UserToApi(_dbContext.User.FirstOrDefault());
            var filmData = ApiToData.FilmApiToData(model);

            try
            {
                _dbContext.Film.Add(filmData);
                _dbContext.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(DataToApi.FilmToApi(filmData));
        }