Esempio n. 1
0
        protected void StudentDataSeeder()
        {
            var sdRep    = new RepositoryFactory().GetRepository <StudentData>();
            var userRep  = new RepositoryFactory().GetRepository <User>();
            var fieldRep = new RepositoryFactory().GetRepository <Field>();

            var field1 = fieldRep.GetDetail(p => p.Name == "Informatyka");
            var user1  = userRep.GetDetail(p => p.Login == "Student1");
            var user2  = userRep.GetDetail(p => p.Login == "Student2");

            sdRep.Add(new StudentData
            {
                Field     = field1,
                FirstName = "Janek",
                LastName  = "Kowalski",
                Index     = 12345,
                Semester  = 1,
                User      = user1,
            });

            sdRep.Add(new StudentData
            {
                Field     = field1,
                FirstName = "Andrzej",
                LastName  = "Nowak",
                Index     = 54321,
                Semester  = 1,
                User      = user2,
            });

            sdRep.SaveChanges();
        }
Esempio n. 2
0
        protected void UserSeeder()
        {
            var userRep = new RepositoryFactory().GetRepository <User>();
            var hasher  = new HasherFactory().GetHasher();

            userRep.Add(new User
            {
                Login    = "******",
                Password = hasher.Hash("haslo1234"),
                Rank     = Rank.Student,
            });

            userRep.Add(new User
            {
                Login    = "******",
                Password = hasher.Hash("haslo1234"),
                Rank     = Rank.Student,
            });

            userRep.Add(new User
            {
                Login    = "******",
                Password = hasher.Hash("haslo1234"),
                Rank     = Rank.Administrator,
            });

            userRep.SaveChanges();
        }
Esempio n. 3
0
        public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
        .ConfigureServices((hostContext, services) =>
        {
            var queueManagerFactory = new QueueManagerFactory();
            var queueManager        = queueManagerFactory.Make();
            services.AddSingleton(typeof(IQueueManager), queueManager);

            AuthSettings.RootUserPictures = hostContext.Configuration["rootUserPictures"];

            var connectionString  = hostContext.Configuration["connectionString"];
            var contextFactory    = new AuthServiceDBContextFactory(connectionString);
            var repositoryFactory = new RepositoryFactory();
            repositoryFactory.Add(typeof(IUserRepository), () => new UserRepository(contextFactory));
            repositoryFactory.Add(typeof(ITokenRepository), () => new TokenRepository(contextFactory));
            services.AddSingleton(typeof(IRepositoryFactory), repositoryFactory);

            var messageLogger = new MessageLogger(queueManager, AuthSettings.Host);
            services.AddSingleton(typeof(IMessageLogger), messageLogger);

            var processorContext = new MessageProcessorContext
            {
                QueueManager      = queueManager,
                RepositoryFactory = repositoryFactory,
                Logger            = messageLogger
            };
            var processorFactory = new MessageProcessorFactory(processorContext);
            processorFactory.AddFromAssembly(Assembly.GetExecutingAssembly());
            services.AddSingleton(typeof(IMessageProcessorFactory), processorFactory);

            var obsoleteUserPictureRemover = new ObsoleteUserPictureRemover(repositoryFactory);
            obsoleteUserPictureRemover.Remove();

            services.AddHostedService <AuthWorker>();
        });
Esempio n. 4
0
        protected void CourseGroupSeeder()
        {
            var cgRep    = new RepositoryFactory().GetRepository <CourseGroup>();
            var fieldRep = new RepositoryFactory().GetRepository <Field>();

            var field1 = fieldRep.GetDetail(p => p.Name == "Informatyka");

            cgRep.Add(new CourseGroup
            {
                Code         = "INEK00001",
                Field        = field1,
                NumberOfEcts = 15,
                Semester     = 1,
                Name         = "Podstawy programowania",
            });

            cgRep.Add(new CourseGroup
            {
                Code         = "INEK00002",
                Field        = field1,
                NumberOfEcts = 15,
                Semester     = 1,
                Name         = "Analiza matematyczna 1",
            });

            cgRep.SaveChanges();
        }
Esempio n. 5
0
        protected void CoureSeeder()
        {
            var cRep  = new RepositoryFactory().GetRepository <Course>();
            var cgRep = new RepositoryFactory().GetRepository <CourseGroup>();

            var courseGroup1 = cgRep.GetDetail(p => p.Code == "INEK00001");
            var courseGroup2 = cgRep.GetDetail(p => p.Code == "INEK00002");

            cRep.Add(new Course
            {
                Code        = "INEK00001W",
                CourseGroup = courseGroup1,
                CourseType  = CourseType.Lecture,
            });
            cRep.Add(new Course
            {
                Code        = "INEK00001L",
                CourseGroup = courseGroup1,
                CourseType  = CourseType.Laboratory,
            });
            cRep.Add(new Course
            {
                Code        = "INEK00002W",
                CourseGroup = courseGroup2,
                CourseType  = CourseType.Lecture,
            });
            cRep.Add(new Course
            {
                Code        = "INEK00002S",
                CourseGroup = courseGroup2,
                CourseType  = CourseType.Seminar,
            });

            cRep.SaveChanges();
        }
Esempio n. 6
0
 public virtual void AddRepositoryFactory(IServiceCollection services)
 {
     services.AddSingleton <IRepositoryFactory, RepositoryFactory>((serviceProvider) =>
     {
         RepositoryFactory factoriaRepositorios = new RepositoryFactory();
         factoriaRepositorios.Add(Claves.SELECTOR_PERSISTENCIA_REDIS, serviceProvider.GetRequiredService <ICounterRedisRepository>());
         factoriaRepositorios.Add(Claves.SELECTOR_PERSISTENCIA_NEXT_COUNTER, serviceProvider.GetRequiredService <INextCounterRepository>());
         return(factoriaRepositorios);
     });
 }
Esempio n. 7
0
        protected void FieldSeeder()
        {
            var fieldRep = new RepositoryFactory().GetRepository <Field>();

            fieldRep.Add(new Field
            {
                Name = "Informatyka",
            });
            fieldRep.Add(new Field
            {
                Name = "Elektronika",
            });

            fieldRep.SaveChanges();
        }
Esempio n. 8
0
        public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
        .ConfigureServices((hostContext, services) =>
        {
            var queueManagerFactory = new QueueManagerFactory();
            var queueManager        = queueManagerFactory.Make();
            services.AddSingleton(typeof(IQueueManager), queueManager);

            var connectionString  = hostContext.Configuration["connectionString"];
            var contextFactory    = new LoggerServiceDBContextFactory(connectionString);
            var repositoryFactory = new RepositoryFactory();
            repositoryFactory.Add(typeof(ILogRepository), () => new LogRepository(contextFactory));
            services.AddSingleton(typeof(IRepositoryFactory), repositoryFactory);

            var processorContext = new MessageProcessorContext
            {
                QueueManager      = queueManager,
                RepositoryFactory = repositoryFactory
            };
            var processorFactory = new MessageProcessorFactory(processorContext);
            processorFactory.AddFromAssembly(Assembly.GetExecutingAssembly());
            services.AddSingleton(typeof(IMessageProcessorFactory), processorFactory);

            services.AddHostedService <LoggerWorker>();
        });
Esempio n. 9
0
 public void AddTest()
 {
     var clientRepo = new RepositoryFactory<IClientRepository>().ResolveRepository();
     var count = clientRepo.All().Count();
      clientRepo.Add(new Client{Name="UNITTEST",Description = "UNITTEST"});
     clientRepo.UnitOfWork.Commit();
      Assert.IsTrue(count + 1 == new RepositoryFactory<IClientRepository>().ResolveRepository().All().Count());
 }
        public void CanEnableCustomConnectionIdConfiguration()
        {
            RepositoryFactory.Add("conn_2", new ConnectionInfo("membership_db"));
            User.Init(() => new UserRepository(), true, "conn_2");

            var repo = User.Repository;

            Assert.AreEqual(repo.Database.Connection.ConnectionString, "membership_db");
            Assert.AreEqual(repo.Connection.ConnectionString, "membership_db");
            Assert.AreEqual(repo.ConnectionString, "membership_db");
        }
        public void CanEnableDefaultConfiguration()
        {
            RepositoryFactory.Add(new ConnectionInfo("conn_1"));
            User.Init(() => new UserRepository(), true);

            var repo = User.Repository;

            Assert.AreEqual(repo.Database.Connection.ConnectionString, "conn_1");
            Assert.AreEqual(repo.Connection.ConnectionString, "conn_1");
            Assert.AreEqual(repo.ConnectionString, "conn_1");
        }
Esempio n. 12
0
        protected void LessonSeeder()
        {
            var lessonRep = new RepositoryFactory().GetRepository <Lesson>();
            var cRep      = new RepositoryFactory().GetRepository <Course>();

            var course1 = cRep.GetDetail(p => p.Code == "INEK00001W");
            var course2 = cRep.GetDetail(p => p.Code == "INEK00001L");
            var course3 = cRep.GetDetail(p => p.Code == "INEK00002W");
            var course4 = cRep.GetDetail(p => p.Code == "INEK00002S");

            lessonRep.Add(new Lesson {
                Classroom = "C1",
                Tutor     = "Jan Mikołajczyk",
                Course    = course1,
                Space     = 1,
                Date      = new DateTime(2021, 3, 1, 10, 15, 00),
            });
            lessonRep.Add(new Lesson
            {
                Classroom = "C2",
                Tutor     = "Andrzej Jankowski",
                Course    = course1,
                Space     = 1,
                Date      = new DateTime(2021, 3, 1, 10, 15, 00),
            });
            lessonRep.Add(new Lesson
            {
                Classroom = "C12",
                Tutor     = "Maciej Wagon",
                Course    = course2,
                Space     = 2,
                Date      = new DateTime(2021, 3, 1, 10, 15, 00),
            });
            lessonRep.Add(new Lesson
            {
                Classroom = "C4",
                Tutor     = "Jan Mikołajczyk",
                Course    = course2,
                Space     = 2,
                Date      = new DateTime(2021, 3, 1, 10, 15, 15),
            });
            lessonRep.Add(new Lesson
            {
                Classroom = "C5",
                Tutor     = "Jan Mikołajczyk",
                Course    = course3,
                Space     = 1,
                Date      = new DateTime(2021, 3, 1, 10, 15, 15),
            });
            lessonRep.Add(new Lesson
            {
                Classroom = "C6",
                Tutor     = "Jan Mikołajczyk",
                Course    = course4,
                Space     = 2,
                Date      = new DateTime(2021, 3, 1, 10, 15, 15),
            });

            lessonRep.SaveChanges();
        }
        public void CanDisableConfiguration()
        {
            // Default connection.
            RepositoryFactory.Add(new ConnectionInfo("conn_1"));

            User.Init(() => new UserRepository(), false);

            var repo = User.Repository;

            Assert.AreNotEqual(repo.Database.Connection.ConnectionString, "conn_1");
            Assert.AreNotEqual(repo.Connection.ConnectionString, "conn_1");
            Assert.AreNotEqual(repo.ConnectionString, "conn_1");
        }
Esempio n. 14
0
        public void Can_Save_New_Customer_With_Orders_And_Details()
        {
            var customer = GetCustomer();

            using (var repo = new RepositoryFactory().Create())
            {
                repo.Add(customer);
                repo.Save();
            }

            using (var repo = new RepositoryFactory().Create())
            {
                var cust = repo.All<Customer>().SingleOrDefault(c => c.Email == "*****@*****.**");
                Assert.IsNotNull(cust);
                CollectionAssert.IsNotEmpty(cust.Orders);
                Assert.IsNotNull(cust.Orders.First(o => o.OrderDetail != null).OrderDetail);
            }
        }
Esempio n. 15
0
        public void Can_Save_New_Customer_With_Orders_And_Details()
        {
            var customer = GetCustomer();

            using (var repo = new RepositoryFactory().Create())
            {
                repo.Add(customer);
                repo.Save();
            }

            using (var repo = new RepositoryFactory().Create())
            {
                var cust = repo.All <Customer>().SingleOrDefault(c => c.Email == "*****@*****.**");
                Assert.IsNotNull(cust);
                CollectionAssert.IsNotEmpty(cust.Orders);
                Assert.IsNotNull(cust.Orders.First(o => o.OrderDetail != null).OrderDetail);
            }
        }
Esempio n. 16
0
        public void Start()
        {
            logger.Info($"{Star} Begin Program {Star}");
            var customer = new Customer
            {
                Id      = 1,
                Name    = "Avinash",
                Address = "Hyderabad"
            };

            Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity("Administrator"),
                                                           new[] { "Avi" });
            var customerRepository = new RepositoryFactory().Create <Customer>(CreateType.PerformanceProxy);

            customerRepository.Add(customer);
            customerRepository.Delete(customer);
            customerRepository.Update(customer);
            logger.Info($"{Star} End Program {Star}");
        }
Esempio n. 17
0
        public void Can_Use_UoW_To_Remove_And_Add_Customer_In_A_Transaction()
        {
            using (var uow = new MegaEntityFrameworkUnitOfWorkFactory().Create())
            {
                var repo = new RepositoryFactory().Create(uow);
                var c1   = repo.All <Customer>().Single(c => c.Email == "*****@*****.**");
                repo.Delete(c1);
                var c2 = GetCustomer();
                repo.Add(c2);
                uow.Commit();
            }

            using (var repo = new RepositoryFactory().Create())
            {
                var x = repo.All <Customer>().SingleOrDefault(c => c.Email == "*****@*****.**");
                Assert.IsNull(x);
                var y = repo.All <Customer>().Any(c => c.Country == "Italy");
                Assert.IsTrue(y);
            }
        }
Esempio n. 18
0
        public void Can_Save_New_Customer()
        {
            var customer = new Customer
            {
                ContactName = "johnny",
                Email       = "*****@*****.**"
            };

            using (var repo = new RepositoryFactory().Create())
            {
                repo.Add(customer);
                repo.Save();
            }

            using (var repo = new RepositoryFactory().Create())
            {
                var cust = repo.All <Customer>().SingleOrDefault(c => c.Email == "*****@*****.**");
                Assert.IsNotNull(cust);
            }
        }
Esempio n. 19
0
        public void Can_Save_New_Customer()
        {
            var customer = new Customer
            {
                ContactName = "johnny",
                Email = "*****@*****.**"
            };

            using (var repo = new RepositoryFactory().Create())
            {
                repo.Add(customer);
                repo.Save();
            }

            using (var repo = new RepositoryFactory().Create())
            {
                var cust = repo.All<Customer>().SingleOrDefault(c => c.Email == "*****@*****.**");
                Assert.IsNotNull(cust);
            }
        }
Esempio n. 20
0
        public void Can_Use_UoW_To_Remove_And_Add_Customer_In_A_Transaction()
        {
            using (var uow = new MegaEntityFrameworkUnitOfWorkFactory().Create())
            {
                var repo = new RepositoryFactory().Create(uow);
                var c1 = repo.All<Customer>().Single(c => c.Email == "*****@*****.**");
                repo.Delete(c1);
                var c2 = GetCustomer();
                repo.Add(c2);
                uow.Commit();
            }

            using (var repo = new RepositoryFactory().Create())
            {
                var x = repo.All<Customer>().SingleOrDefault(c => c.Email == "*****@*****.**");
                Assert.IsNull(x);
                var y = repo.All<Customer>().Any(c => c.Country == "Italy");
                Assert.IsTrue(y);
            }
        }
Esempio n. 21
0
        public void TestMethod1()
        {
            GlobalInstance.Instance.DatabaseServerType = DBType.MSSQL2012;
            GlobalInstance.Instance.Server             = "CHUCKIE";
            GlobalInstance.Instance.DBName             = "ALPALAND_NEW_DB";
            GlobalInstance.Instance.DBUName            = "sa";
            GlobalInstance.Instance.DBPword            = "jsi@111";
            GlobalInstance.Instance.UName = "manager";
            GlobalInstance.Instance.Pword = "5555";

            GlobalInstance.Instance.InitializeSboComObject();
            GlobalInstance.Instance.InitializeSqlObject();

            //IItemRepository repo = new RepositoryFactory().ItemRepository();

            //repo.InitRepository(GlobalInstance.Instance.SqlObject);
            //repo.InitRepository(GlobalInstance.Instance.SboComObject);


            //oItem itm = new oItem
            //{
            //    ItemCode = "SEQL001-DUP",
            //    SellPrice = 600,
            //    ItemCost = 900,
            //    Barcode = "84938439938",
            //    Description = "HYUNDAI GRAND STAREX GLS CRDI VGT (10S) ABN 2617",
            //    ItemGroup = 114,
            //    UoMGroup = 3,
            //    Series = 3,
            //    InventoryItem = "Y",
            //    SalesItem = "Y",
            //    PurchaseItem = "Y"
            //};

            //repo.Add(itm);


            //IBusinessPartnerRepository repo = new RepositoryFactory().BusinessPartnerRepository();

            //repo.InitRepository(GlobalInstance.Instance.SqlObject);
            //repo.InitRepository(GlobalInstance.Instance.SboComObject);

            //oBusinessPartner bp = new oBusinessPartner
            //{
            //    Series = 1,
            //    CardCode = "SUP-001",
            //    CardName = "John Macasero",
            //    GroupCode = 101,
            //    CardType = "S",
            //    LicTradNum = "11928923"
            //};

            //repo.Add(bp);

            //IJournalRepository repo = new RepositoryFactory().JournalRepository();

            //repo.InitRepository(GlobalInstance.Instance.SqlObject);
            //repo.InitRepository(GlobalInstance.Instance.SboComObject);

            //List<oJournalLine> lines = new List<oJournalLine>();
            //lines.Add(new oJournalLine {
            //    GLCode = "SDORM000002",
            //    LineType = "C",
            //    LineMemo = "from api",
            //    Segment = 3,
            //    Debit = 0,
            //    Credit = 8000
            //});

            //lines.Add(new oJournalLine
            //{
            //    GLCode = "_SYS00000000045",
            //    LineType = "D",
            //    LineMemo = "from api",
            //    Segment = 3,
            //    Debit = 6500,
            //    Credit = 0
            //});

            //lines.Add(new oJournalLine
            //{
            //    GLCode = "_SYS00000000157",
            //    LineType = "D",
            //    LineMemo = "from api",
            //    Segment = 3,
            //    Debit = 1500,
            //    Credit = 0
            //});

            //oJournal j = new oJournal {
            //    JdtNumber = 20002968,//supply if update
            //    Series = 102,
            //    DocDate = DateTime.Now,
            //    DocDueDate = DateTime.Now,
            //    CreateDate = DateTime.Now,
            //    JournalMemo = "TEst",
            //    Reference1 = "from api",
            //    Reference2 = "Test",
            //    Reference3 = "Test",
            //    JournalLines = lines
            //};

            //repo.Update(j);


            IInventoryTransactionRepository repo = new RepositoryFactory().InventoryTransactionRepository();

            repo.InitRepository(GlobalInstance.Instance.SboComObject);

            List <oInventoryTransactionLine> invLines = new List <oInventoryTransactionLine>();

            invLines.Add(new oInventoryTransactionLine {
                ItemCode      = "CIPITB020",
                GLAccountCode = "_SYS00000001044",
                WarehouseId   = "01",
                Quantity      = 5,
                Price         = 200
            });

            oInventoryTransaction inv = new oInventoryTransaction();

            inv.BranchId = 1;
            //inv.Series = 141;
            inv.Series                   = 149;
            inv.DocDate                  = DateTime.Now;
            inv.TaxDate                  = DateTime.Now;
            inv.ReferenceNo              = "Test";
            inv.Remarks                  = "Test from sbo.fx";
            inv.JournalRemarks           = "Test";
            inv.TransactionLines         = invLines;
            inv.InventoryTransactionType = InventoryType.Out;

            repo.Add(inv);
        }
Esempio n. 22
0
        public (bool, string) AddAccount(Dictionary <string, string> data, string token)
        {
            if (CheckRank(token) != Rank.Administrator)
            {
                return(false, "Tylko administrator może dodać nowe konto");
            }

            if (!Enum.TryParse <Rank>(data["rank"], out var newUserRank) || newUserRank == Rank.None
                ) // parsowanie stringa na enuma
            {
                return(false, "Niepoprawna ranga nowego użytkownika");
            }

            var newLogin    = data["login"];
            var isLoginUsed = new RepositoryFactory().GetRepository <User>().GetDetail(u => u.Login == newLogin) != null;

            if (isLoginUsed)
            {
                return(false, "Wpisany login jest już zajęty");
            }
            string password;

            using (RandomNumberGenerator rng = new RNGCryptoServiceProvider())
            {
                byte[] randomBytes = new byte[32];
                rng.GetBytes(randomBytes);

                password = Convert.ToBase64String(randomBytes);
            }

            var newUser = new User
            {
                Login    = newLogin,
                Password = new Hasher().Hash(password),
            };
            var userRepo = new RepositoryFactory().GetRepository <User>();

            userRepo.Add(newUser);
            if (newUserRank == Rank.Student)
            {
                string firstName;
                string lastName;
                int    index, fieldId, semester;
                try
                {
                    firstName = data["firstName"];
                    lastName  = data["lastName"];
                    index     = int.Parse(data["index"]);
                    fieldId   = int.Parse(data["fieldId"]);
                    semester  = int.Parse(data["semester"]);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    return(false, e.Message);
                }

                var isFieldCorrect = new RepositoryFactory().GetRepository <Field>().GetDetail(f => f.Id == fieldId) != null;
                if (!isFieldCorrect)
                {
                    return(false, "Niepoprawne ID kierunku");
                }

                var studentData = new StudentData
                {
                    FieldId   = fieldId,
                    FirstName = firstName,
                    LastName  = lastName,
                    Index     = index,
                    Semester  = semester,
                    User      = newUser
                };
                var dataRepo = new RepositoryFactory().GetRepository <StudentData>();
                dataRepo.Add(studentData);
            }

            return(true, $"Stworzono nowego użytkownika o randze {newUserRank}");
        }