Exemplo n.º 1
0
        public Task <bool> AddAsync(params object[] objectsToAdd)
        {
            return(Task.Factory.StartNew(() =>
            {
                List <Book> books = new List <Book>();
                List <Magazine> mags = new List <Magazine>();
                List <Movie> movies = new List <Movie>();
                List <Music> music = new List <Music>();
                List <Person> people = new List <Person>();
                List <ModelCopy> mc = new List <ModelCopy>();
                List <Log> log = new List <Log>();
                foreach (var item in objectsToAdd)
                {
                    switch (GetTypeNum(item.GetType()))
                    {
                    case TypeEnum.Book:
                        {
                            books.Add((Book)item);
                            break;
                        }

                    case TypeEnum.Magazine:
                        {
                            mags.Add((Magazine)item);
                            break;
                        }

                    case TypeEnum.Movie:
                        {
                            movies.Add((Movie)item);
                            break;
                        }

                    case TypeEnum.Music:
                        {
                            music.Add((Music)item);
                            break;
                        }

                    case TypeEnum.Person:
                        {
                            people.Add((Person)item);
                            break;
                        }

                    case TypeEnum.ModelCopy:
                        {
                            mc.Add((ModelCopy)item);
                            break;
                        }

                    case TypeEnum.Log:
                        {
                            log.Add((Log)item);
                            break;
                        }

                    default:
                        {
                            return false;
                        }
                    }
                }
                try
                {
                    if (books.Count > 0)
                    {
                        _db.CreateBooks(books.ToArray());
                    }
                    if (mags.Count > 0)
                    {
                        _db.CreateMagazines(mags.ToArray());
                    }
                    if (movies.Count > 0)
                    {
                        _db.CreateMovies(movies.ToArray());
                    }
                    if (music.Count > 0)
                    {
                        _db.CreateMusic(music.ToArray());
                    }
                    if (people.Count > 0)
                    {
                        _db.CreatePeople(people.ToArray());
                    }
                    if (mc.Count > 0)
                    {
                        _db.CreateModelCopies(mc.ToArray());
                    }
                    if (log.Count > 0)
                    {
                        _db.AddLogs(log.ToArray());
                    }
                    return true;
                }
                catch
                {
                    return false;
                }
            }));
        }