public void Setup()
        {
            _dbSetUpHelper     = new DatabaseSetUpHelper();
            _context           = _dbSetUpHelper.GetContext();
            _httpContextHelper = new HttpContextHelper();

            _choresRepository = new ChoresRepository(_context);
            _flatRepository   = new FlatRepository(_context);
            _userRepository   = new UserRepository(_context);

            _mapperHelper = new MapperHelper();
            var mapper = _mapperHelper.GetMapper();

            var httpContext = _httpContextHelper.GetHttpContext();
            var objClaim    = _httpContextHelper.GetClaimsIdentity();

            _choreController = new ChoreController(_choresRepository, _flatRepository, _userRepository, mapper)
            {
                ControllerContext = new ControllerContext
                {
                    HttpContext = httpContext
                }
            };
            httpContext.User = new ClaimsPrincipal(objClaim);
        }
        public void Setup()
        {
            _dbSetUpHelper = new DatabaseSetUpHelper();
            _context       = _dbSetUpHelper.GetContext();

            _paymentsRepository     = new PaymentsRepository(_context);
            _userPaymentsRepository = new UserPaymentsRepository(_context);
            _flatRepository         = new FlatRepository(_context);
            _userRepository         = new UserRepository(_context);

            _mapperHelper = new MapperHelper();
            var mapper = _mapperHelper.GetMapper();

            DefaultHttpContext httpContext = new DefaultHttpContext();
            GenericIdentity    MyIdentity  = new GenericIdentity("User");
            ClaimsIdentity     objClaim    = new ClaimsIdentity(new List <Claim> {
                new Claim(ClaimTypes.NameIdentifier, "1")
            });

            _paymentsController = new PaymentsController(_paymentsRepository, _userPaymentsRepository, _flatRepository, _userRepository, mapper)
            {
                ControllerContext = new ControllerContext()
            };
            _paymentsController.ControllerContext.HttpContext = httpContext;
            httpContext.User = new ClaimsPrincipal(objClaim);
        }
예제 #3
0
 public ChoreController(ChoresRepository choresRepository, FlatRepository flatRepository, UserRepository userRepository, IMapper mapper
                        ) : base(choresRepository, mapper)
 {
     this._choresRepository = choresRepository;
     this._flatRepository   = flatRepository;
     this._userRepository   = userRepository;
     this._mapper           = mapper;
 }
예제 #4
0
 public PaymentsController(PaymentsRepository paymentsRepository, UserPaymentsRepository userPaymentsRepository, FlatRepository flatRepository, UserRepository userRepository, IMapper mapper
                           ) : base(paymentsRepository, mapper)
 {
     this._userPaymentsRepository = userPaymentsRepository;
     this._paymentsRepository     = paymentsRepository;
     this._flatRepository         = flatRepository;
     this._userRepository         = userRepository;
     this._mapper = mapper;
 }
예제 #5
0
        public void Setup()
        {
            _dbSetUpHelper   = new DatabaseSetUpHelper();
            _serviceProvider = _dbSetUpHelper.GetServiceDependencyResolver();
            _context         = _dbSetUpHelper.GetContext();

            _paymentsRepository     = new PaymentsRepository(_context);
            _userPaymentsRepository = new UserPaymentsRepository(_context);
            _flatRepository         = new FlatRepository(_context);
            _userRepository         = new UserRepository(_context);

            // ISSUE: controller takes in IMapper, but no way of instantiating
            _paymentsController = new PaymentsController(_paymentsRepository, _userPaymentsRepository, _flatRepository, _userRepository, null);
        }
예제 #6
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("Zondervan Library Patron Translation Utility.");
            System.Console.WriteLine();

            if (args.Length != 1)
            {
                System.Console.WriteLine("Error: Expected argument of either 'Production' or 'Test'");
                return;
            }

            Destination destination;

            switch (args[0])
            {
            case "Production":
                destination = Destination.Production;
                break;

            case "Test":
                destination = Destination.Test;
                break;

            default:
                System.Console.WriteLine("Error: Expected argument of either 'Production' or 'Test'");
                return;
            }

            String[] lisFiles = Directory.GetFiles("./", "*.lis");

            if (lisFiles.Length != 1)
            {
                System.Console.WriteLine("Error: Expected exactly one *.lis file in the directory to convert.");
                return;
            }

            String[] xmlFiles = Directory.GetFiles("./", "*-*-*.xml");

            if (xmlFiles.Length > 1)
            {
                System.Console.WriteLine("Error: Expected exactly zero or one *.xml file in the directory to compare to.");
                return;
            }

            // Load existing *.lis file and convert to persona
            System.Console.Write("Converting {0}: ", lisFiles[0]);

            // Convert patrons to personas
            FileStreamFactory            newFileStreamFactory = new FileStreamFactory(lisFiles[0]);
            IRepository <Patron>         newRepository        = new FlatRepository <Patron>(newFileStreamFactory);
            IConverter <Patron, Persona> converter            = new PatronToPersonaConverter(DateTime.Now);
            IEnumerable <Persona>        newPersonas          = newRepository.AsQueryable().Select(patron => converter.Convert(patron));

            System.Console.WriteLine("{0} records converted.", newPersonas.Count());
            System.Console.WriteLine();

            // Do comparison if old personas file present
            if (xmlFiles.Length == 1)
            {
                // Load old persona repo to diffentiate against
                FileStreamFactory     oldStreamFactory = new FileStreamFactory(xmlFiles[0]);
                IRepository <Persona> oldRepository    = new XmlRepository <Persona, OclcPersonas>(oldStreamFactory);
                IEnumerable <Persona> oldPersonas      = oldRepository.AsQueryable();

                System.Console.Write("Computing difference between persona files: ");

                // Compute difference
                IEnumerableDiff <Persona, Persona> differentiator = new PersonaEnumerableDiff();
                IEnumerable <Persona> differentiatedResult        = differentiator.ComputeDiff(oldPersonas, newPersonas).ToList();

                System.Console.WriteLine("{0} changes recorded.", differentiatedResult.Count());
                System.Console.WriteLine();

                // Build path to save to
                String path = (destination == Destination.Production) ? "wms/in/patron/" : "wms/test/in/patron/";
                String destinationFileName = $"itu_patrons_{DateTime.Now:\\dyyyyMMdd_\\tHHss}.xml";
                Uri    uri = new Uri($@"ftp://ftp2.oclc.org/{path}{destinationFileName}");

                System.Console.WriteLine("Uploading to {0}", uri.OriginalString);

                NetworkCredential credentials = new NetworkCredential("[Username]", "[Password]");

                SFTPStreamFactory     destinationFactory    = new SFTPStreamFactory(uri, credentials);
                IRepository <Persona> destinationRepository = new XmlRepository <Persona, OclcPersonas>(destinationFactory, new List <Persona>());

                destinationRepository.InsertAllOnSubmit(differentiatedResult);
                destinationRepository.SubmitChanges();

                File.Delete(xmlFiles[0]);
            }

            // Output translated personas to file
            String                transferFileName      = $"{DateTime.Now.ToShortDateString().Replace('/', '-')}.xml";
            FileStreamFactory     transferStreamFactory = new FileStreamFactory(transferFileName);
            IRepository <Persona> transferRepository    = new XmlRepository <Persona, OclcPersonas>(transferStreamFactory, new List <Persona>());

            transferRepository.InsertAllOnSubmit(newPersonas);
            transferRepository.SubmitChanges();

            System.Console.WriteLine("New Persona file saved to {0}", transferFileName);
            File.Delete(lisFiles[0]);
        }