public FileResult Get(OaiVerb verb, string identifier = "", string metadataPrefix = "", string from = "", string until = "", string set = "", string resumptionToken = "")
        {
            //CONFIG OAI-PMH
            _configOAI.BaseUrl = () =>
            {
                Uri baseUri = new Uri(_configOAI_PMH_CVN.GetConfigUrl());
                return(baseUri.AbsoluteUri);
            };


            //MetadataFormatRepository
            MetadataFormatRepository metadataFormatRepository = new MetadataFormatRepository();

            RecordRepository recordRepository = new RecordRepository(_configOAI, _configOAI_PMH_CVN);

            //SetRepository
            SetRepository setRepository = new SetRepository(_configOAI);

            DataProvider provider = new DataProvider(_configOAI, metadataFormatRepository, recordRepository, setRepository);

            ArgumentContainer arguments = new ArgumentContainer(verb.ToString(), metadataPrefix, resumptionToken, identifier, from, until, set);
            XDocument         document  = provider.ToXDocument(DateTime.Now.AddMinutes(100), arguments);

            var memoryStream = new MemoryStream();
            var xmlWriter    = XmlWriter.Create(memoryStream);

            document.WriteTo(xmlWriter);
            xmlWriter.Flush();
            byte[] array = memoryStream.ToArray();
            return(File(array, "application/xml"));
        }
示例#2
0
        public object Get()
        {
            var _repo = new SetRepository();

            var set = _repo.GetSet();

            return(set);
        }
示例#3
0
        public void Test()
        {
            SessionFactory.Init("Server=localhost;port=5432;Database=tronix;User Id=postgres;Password=postgres;");

            var repository = new SetRepository();

            /*var set = new Set(new Name("ТЗ по 303"));
             * set.AddGroup(new Name("НПКБ"), 1);
             * set.AddGroup(new Name("Контрагенты"), 2);
             * var saveTask = repository.Save(set);
             * saveTask.Wait();*/
            var setTask = repository.GetByIdAsync(2);

            setTask.Wait();
            var set = setTask.Result;
        }
示例#4
0
        private void Fill(int?setId, int setStatus, IQueryable <Admin> teacherList, PaginationDataList <AdminDto> paginaList)
        {
            var studentQueryable = teacherList.SelectMany(e => e.Classes.SelectMany(x => x.Students));

            foreach (var teacher in teacherList)
            {
                var dto = ObjectMapper.Map <AdminDto>(teacher);

                dto.Password = null;
                teacher.Classes.ForEach(e =>
                {
                    dto.StudentCount = dto.StudentCount + studentQueryable.Count(x => x.ClassId == e.Id);
                    dto.ClassName.Add(e.Name);
                });
                if (setId.HasValue && setId.Value != 0)
                {
                    if (HasTeacherAllocation(teacher, setId.Value))
                    {
                        continue;
                    }
                }
                if (setStatus != 0)
                {
                    if (isFilteredBySetStatus(teacher, setStatus))
                    {
                        continue;
                    }
                }
                if (teacher.TeacherAllocations.Count == 0)
                {
                    dto.SetName.Add(HintInfo.UnAllocated);
                }
                else
                {
                    foreach (var teacherAllocation in teacher.TeacherAllocations)
                    {
                        var set   = SetRepository.Single(e => e.Id == teacherAllocation.SetId);
                        var count = StudentAllocationRepository.Count(e => e.TeacherAllocationId == teacherAllocation.Id);
                        dto.SetName.Add(set.SetName + "----" + count + "/" + teacherAllocation.Credit);
                    }
                }
                paginaList.ListData.Add(dto);
            }
        }
示例#5
0
        static void LoadSets(MTGToolboxContext context)
        {
            SetRepository setRepository = new SetRepository(context);

            SetService setService = new SetService();

            var setResults = setService.All();

            if (setResults.IsSuccess)
            {
                foreach (var item in setResults.Value)
                {
                    Set set = new Set();
                    set.Code = item.Code;
                    set.Name = item.Name;

                    setRepository.AddSet(set);
                }
                setRepository.Save();
            }
        }
示例#6
0
        public static void UpdateDatabase()
        {
            var apiSets = MtgApi.GetAllSets();
            var dbSets  = SetRepository.GetAllSets();

            var count = 1;
            var total = apiSets.Count(a => dbSets.All(d => d.Id != a.Id));

            foreach (var set in apiSets.Where(a => dbSets.All(d => d.Id != a.Id)))
            {
                SetRepository.InsertSet(set);

                Console.WriteLine();
                Console.WriteLine($"Retreiving all cards for the set {set.Name}({set.Id}): {count}/{total}");

                var cards = MtgApi.GetAllCardsForSet(set.Id);
                CardRepository.InsertCards(cards, set.Id);

                count++;
            }
        }
示例#7
0
        static void LoadCards(MTGToolboxContext context, string setCode)
        {
            CardRepository cardRepository = new CardRepository(context);
            SetRepository  setRepository  = new SetRepository(context);

            CardService cardService = new CardService();

            Set set = setRepository.GetSetByCode(setCode);

            int cardResultsPage = 1;
            var cardResults     = cardService.Where(x => x.Set, setCode).Where(x => x.Page, cardResultsPage).All();

            do
            {
                foreach (var item in cardResults.Value)
                {
                    Card card = new Card();
                    card.Name = item.Name;

                    card.ImageFile = item.ImageUrl?.ToString();

                    card.SetCards = new List <SetCards> {
                        new SetCards {
                            Set = set, Card = card, Rarity = item.Rarity, ImageFile = item.ImageUrl?.ToString()
                        }
                    };

                    cardRepository.AddCard(card);
                }

                cardResultsPage += 1;
                cardResults      = cardService.Where(x => x.Set, setCode).Where(x => x.Page, cardResultsPage).All();
            } while (cardResults.Value.Count > 1);

            cardRepository.Save();
        }
示例#8
0
 public SetsController(SetRepository sr)
 {
     _sr = sr;
 }