Example #1
0
        public async void AddDeleteNewPilotTest_Returns_CreatedResult_And_Pilot_ShoudBe_AddedTo_Database_And_Then_ShouldBe_Deleted()
        {
            // Arrange
            MSSQLContext           context                = new MSSQLContext();
            CrewsRepository        crewsRepository        = new CrewsRepository();
            PilotsRepository       pilotsRepository       = new PilotsRepository();
            StewardessesRepository stewardessesRepository = new StewardessesRepository();
            CrewingUnitOfWork      uow        = new CrewingUnitOfWork(crewsRepository, pilotsRepository, stewardessesRepository, context);
            CrewingService         service    = new CrewingService(uow, mapper.GetDefaultMapper());
            PilotsController       controller = new PilotsController(mapper.GetDefaultMapper(), service);

            // add act
            var newPilotDTO = new PilotDTO()
            {
                Birth           = new DateTime(1985, 5, 12, 0, 0, 0),
                ExperienceYears = 15,
                Name            = "Grisha",
                Surname         = "Kramer"
            };

            var addResult = await controller.AddPilot(newPilotDTO);

            // add assert
            Assert.IsInstanceOf <CreatedResult>(addResult);
            Assert.IsInstanceOf <PilotDTO>((addResult as CreatedResult).Value);

            // delete act
            var addedPilotDTO = (addResult as CreatedResult).Value as PilotDTO;
            var deleteResult  = controller.DeletePilot(addedPilotDTO.Id);

            // delete assert
            Assert.IsInstanceOf <OkResult>(deleteResult);
            Assert.IsInstanceOf <NotFoundObjectResult>(controller.GetPilot(addedPilotDTO.Id));
        }
        private static void AddSaleToDatabase(
            int rowsCount,
            DataRowCollection rows,
            MSSQLContext context,
            Supermarket supermarket,
            DateTime saleDate)
        {
            const int startRow = 3;

            for (int i = startRow; i < rowsCount - 1; i++)
            {
                string productName = rows[i][1].ToString();
                int quantity = int.Parse(rows[i][2].ToString());
                decimal price = decimal.Parse(rows[i][3].ToString());

                Product product = context.Products.FirstOrDefault(p => p.Name == productName);

                var sale = new Sale()
                {
                    Supermarket = supermarket,
                    Product = product,
                    SaleDate = saleDate,
                    SalePrice = price,
                    Quantity = quantity
                };

                context.Sales.Add(sale);
                context.SaveChanges();
            }
        }
        public static List<VendorSalesReport> GetSalesByVendor(DateTime startDate, DateTime endDate)
        {
            var context = new MSSQLContext();

            var expenseGroups = context.Expenses
                .Where(e => e.ExpenseDate > startDate && e.ExpenseDate < endDate)
                .OrderBy(e => e.Vendor.Name)
                .GroupBy(e => e.Vendor)
                .Select(eg => new VendorReport
                {
                    VendorName = eg.Key.Name,
                    Sales = eg
                        .GroupBy(s => DbFunctions.TruncateTime(s.ExpenseDate))
                        .Select(sg => new SaleReport
                        {
                            SaleDate = sg.Key,
                            TotalSum = sg.Sum(s => s.ExpenseSum)
                        }).ToList()
                });

            var vendorsSalesReport = new List<VendorSalesReport>();
            vendorsSalesReport.AddRange(expenseGroups
                .Select(@group => new VendorSalesReport
                {
                    Vendor = @group.VendorName,
                    VendorReports = @group.Sales
                }));

            return vendorsSalesReport;
        }
Example #4
0
        public void CreatingDeleteCrew_When_Pilot_And_Stewardess_Exist_In_Db_Then_Successfuly_And_Returns_Created_Crew_And_Then_ShouldBe_Deleted()
        {
            // Arrange
            MSSQLContext           context                = new MSSQLContext();
            CrewsRepository        crewsRepository        = new CrewsRepository();
            PilotsRepository       pilotsRepository       = new PilotsRepository();
            StewardessesRepository stewardessesRepository = new StewardessesRepository();
            CrewingUnitOfWork      uow        = new CrewingUnitOfWork(crewsRepository, pilotsRepository, stewardessesRepository, context);
            CrewingService         service    = new CrewingService(uow);
            CrewsController        controller = new CrewsController(mapper.GetDefaultMapper(), service);

            // act (pilots and stewardesses from db seed)
            var createCrewResult = controller.CreateCrew(1, new List <long> {
                1, 2, 3, 4
            });

            // add assert
            Assert.IsInstanceOf <CreatedResult>(createCrewResult);
            Assert.IsInstanceOf <CrewDTO>((createCrewResult as CreatedResult).Value);

            // delete act
            var createdCrewDTO = (createCrewResult as CreatedResult).Value as CrewDTO;
            var deleteResult   = controller.DeleteCrew(createdCrewDTO.Id);

            // delete assert
            Assert.IsInstanceOf <OkResult>(deleteResult);
            Assert.IsInstanceOf <NotFoundObjectResult>(controller.GetCrew(createdCrewDTO.Id));
        }
        public static void ImportSalesReports(string file)
        {
            MSSQLContext context = new MSSQLContext();

            using (ZipArchive zip = ZipFile.OpenRead(file))
            {
                foreach (var entry in zip.Entries)
                {
                    if (entry.Name != "")
                    {
                        string[] fileData = entry.FullName.Split('/');
                        DateTime saleDate = DateTime.Parse(fileData[0]);

                        using (MemoryStream memoryStream = new MemoryStream())
                        {
                            CopyStream(entry, memoryStream);

                            IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(memoryStream);
                            DataSet result = excelReader.AsDataSet();

                            var rows = result.Tables[0].Rows;
                            int rowsCount = rows.Count;

                            string supermarketName = rows[1][1].ToString();
                            Supermarket supermarket = GetSupermarket(context, supermarketName);

                            AddSaleToDatabase(rowsCount, rows, context, supermarket, saleDate);
                        }
                    }
                }
            }
        }
Example #6
0
        public void AddDeleteNewStewardessTest_Returns_CreatedResult_And_Stewardess_ShoudBe_AddedTo_Database_And_Then_ShouldBe_Deleted()
        {
            // Arrange
            MSSQLContext           context                = new MSSQLContext();
            CrewsRepository        crewsRepository        = new CrewsRepository();
            PilotsRepository       pilotsRepository       = new PilotsRepository();
            StewardessesRepository stewardessesRepository = new StewardessesRepository();
            CrewingUnitOfWork      uow        = new CrewingUnitOfWork(crewsRepository, pilotsRepository, stewardessesRepository, context);
            CrewingService         service    = new CrewingService(uow);
            StewardessesController controller = new StewardessesController(mapper.GetDefaultMapper(), service);

            // add act
            var newStewardessDTO = new StewardessDTO()
            {
                Birth   = new DateTime(1985, 5, 12, 0, 0, 0),
                Name    = "Masha",
                Surname = "Ivanova"
            };

            var addResult = controller.AddStewardess(newStewardessDTO);

            // add assert
            Assert.IsInstanceOf <CreatedResult>(addResult);
            Assert.IsInstanceOf <StewardessDTO>((addResult as CreatedResult).Value);

            // delete act
            var addedStewardessDTO = (addResult as CreatedResult).Value as StewardessDTO;
            var deleteResult       = controller.DeleteStewardess(addedStewardessDTO.Id);

            // delete assert
            Assert.IsInstanceOf <OkResult>(deleteResult);
            Assert.IsInstanceOf <NotFoundObjectResult>(controller.GetStewardess(addedStewardessDTO.Id));
        }
        public void AddDeletePlaneType_Returns_CreatedResult_And_PlaneType_ShoudBe_AddedTo_Database_And_Then_ShouldBe_Deleted()
        {
            // Arrange
            MSSQLContext         context = new MSSQLContext();
            PlaneTypesRepository planeTypesRepository = new PlaneTypesRepository();
            PlanesRepository     planesRepository     = new PlanesRepository();
            AircraftUnitOfWork   uow        = new AircraftUnitOfWork(planesRepository, planeTypesRepository, context);
            AircraftService      service    = new AircraftService(uow);
            PlaneTypesController controller = new PlaneTypesController(mapper.GetDefaultMapper(), service);

            // add act
            var newPlaneTypeDTO = new PlaneTypeDTO()
            {
                Capacity      = 100,
                CargoCapacity = 5000,
                Model         = "Hurricane"
            };

            var addResult = controller.AddPlaneType(newPlaneTypeDTO);

            // add assert
            Assert.IsInstanceOf <CreatedResult>(addResult);
            Assert.IsInstanceOf <PlaneTypeDTO>((addResult as CreatedResult).Value);

            // delete act
            var addedPlaneTypeDTO = (addResult as CreatedResult).Value as PlaneTypeDTO;
            var deleteResult      = controller.DeletePlaneType(addedPlaneTypeDTO.Id);

            // delete assert
            Assert.IsInstanceOf <OkResult>(deleteResult);
            Assert.IsInstanceOf <NotFoundObjectResult>(controller.GetPlaneType(addedPlaneTypeDTO.Id));
        }
        public void AddDeletePlane_Returns_CreatedResult_And_Plane_ShoudBe_AddedTo_Database_And_Then_ShouldBe_Deleted()
        {
            // Arrange
            MSSQLContext         context = new MSSQLContext();
            PlaneTypesRepository planeTypesRepository = new PlaneTypesRepository();
            PlanesRepository     planesRepository     = new PlanesRepository();
            AircraftUnitOfWork   uow        = new AircraftUnitOfWork(planesRepository, planeTypesRepository, context);
            AircraftService      service    = new AircraftService(uow);
            PlanesController     controller = new PlanesController(mapper.GetDefaultMapper(), service);

            // add act
            var newPlaneDTO = new PlaneDTO()
            {
                Lifetime             = new TimeSpan(200, 0, 0, 0, 0),
                Name                 = "Bf-109g",
                ReleaseDate          = new DateTime(1941, 1, 1, 0, 0, 0),
                FlightHours          = 560,
                LastHeavyMaintenance = DateTime.Now,
                PlaneTypeId          = 1
            };

            var addResult = controller.AddPlane(newPlaneDTO);

            // add assert
            Assert.IsInstanceOf <CreatedResult>(addResult);
            Assert.IsInstanceOf <PlaneDTO>((addResult as CreatedResult).Value);

            // delete act
            var addedPlaneDTO = (addResult as CreatedResult).Value as PlaneDTO;
            var deleteResult  = controller.DeletePlane(addedPlaneDTO.Id);

            // delete assert
            Assert.IsInstanceOf <OkResult>(deleteResult);
            Assert.IsInstanceOf <NotFoundObjectResult>(controller.GetPlane(addedPlaneDTO.Id));
        }
        public static IList<SalesReport> GetSalesByProduct(DateTime startDate, DateTime endDate)
        {
            var context = new MSSQLContext();

            var reports = context.Sales
                .Where(s => s.SaleDate >= startDate && s.SaleDate <= endDate)
                .GroupBy(s => new
                {
                    productId = s.ProductId,
                    productName = s.Product.Name,
                    vendorName = s.Product.Vendor.Name
                })
                .Select(s => new SalesReport
                {
                    ProductId = s.Key.productId,
                    ProductName = s.Key.productName,
                    VendorName = s.Key.vendorName,
                    TotalQuantitySold = s.Sum(tqs => tqs.Quantity),
                    TotalIncomes = s.Sum(ti => ti.Quantity * ti.SalePrice)
                });

            var vendorsSalesReport = new List<SalesReport>();
            vendorsSalesReport.AddRange(reports);

            return vendorsSalesReport;
        }
Example #10
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            MSSQLContext context = new MSSQLContext();

            context.Tickets.Add(new ProjectStructure.Domain.Ticket()
            {
                Price = 1000
            });
            Console.ReadLine();
        }
        public static IList<Product> GetAllData(MSSQLContext context)
        {
            var data = context.Products
                .Include(p => p.Measure)
                .Include(p => p.Sales)
                .Include(p => p.Sales.Select(s => s.Supermarket))
                .Include(p => p.Vendor)
                .Include(p => p.Vendor.Expenses)
                .ToList();

            return data;
        }
        public void SheduleDeleteDeparture_When_All_Args_IsOk_When_Should_Return_CreatedResult_And_Add_Departure_To_dB_And_Then_Delete()
        {
            // Arrange

            #region ControllerInit

            MSSQLContext         context = new MSSQLContext();
            PlaneTypesRepository planeTypesRepository = new PlaneTypesRepository();
            PlanesRepository     planesRepository     = new PlanesRepository();
            AircraftUnitOfWork   uow     = new AircraftUnitOfWork(planesRepository, planeTypesRepository, context);
            AircraftService      service = new AircraftService(uow);

            CrewsRepository        crewsRepository        = new CrewsRepository();
            PilotsRepository       pilotsRepository       = new PilotsRepository();
            StewardessesRepository stewardessesRepository = new StewardessesRepository();
            CrewingUnitOfWork      cuow           = new CrewingUnitOfWork(crewsRepository, pilotsRepository, stewardessesRepository, context);
            CrewingService         crewingService = new CrewingService(cuow);

            FlightsRepository          flightRepository     = new FlightsRepository();
            DeparturesRepository       departuresRepository = new DeparturesRepository();
            TicketsRepository          ticketsRepository    = new TicketsRepository();
            FlightOperationsUnitOfWork flightOpUow          = new FlightOperationsUnitOfWork(flightRepository, ticketsRepository, departuresRepository, context);
            FlightOperationsService    flightOpeService     = new FlightOperationsService(flightOpUow);

            AiroportService   airportService = new AiroportService(service, crewingService, flightOpeService);
            AirportController controller     = new AirportController(mapper.GetDefaultMapper(), airportService);

            #endregion

            var departureDto = new DepartureDTO()
            {
                CrewId        = crewId,
                DepartureTime = new DateTime(2018, 8, 10, 11, 0, 0),
                PlaneId       = 2,
                FlightId      = 1
            };

            var addResult = controller.SheduleDeparture(departureDto);

            // add assert
            Assert.IsInstanceOf <CreatedResult>(addResult);
            Assert.IsInstanceOf <DepartureDTO>((addResult as CreatedResult).Value);

            // delete act
            var addedDepartureDTO = (addResult as CreatedResult).Value as DepartureDTO;
            var deleteResult      = controller.DeleteDeparture(addedDepartureDTO.Id);
            // delete assert
            Assert.IsInstanceOf <OkResult>(deleteResult);

            Assert.IsNull(departuresRepository.Get(addedDepartureDTO.Id));
        }
        public static IList<AgregatedSalesReport> GetSalesBetweenDates(DateTime startDate, DateTime endDate)
        {
            var context = new MSSQLContext();

            var salesQuery = context.Sales.Where(n => n.SaleDate >= startDate && n.SaleDate < endDate)
                     .Select(s => new AgregatedSalesReport()
                         {
                             ProductName = s.Product.Name,
                             TotalQuantitySold = s.Quantity,
                             UnitPrice = s.Product.Price,
                             Supermaket = s.Supermarket.Name,
                             TotalIncomes = s.Quantity * s.Product.Price
                         }).ToList();

            return salesQuery;
        }
        public void AddingCrew()
        {
            MSSQLContext           context         = new MSSQLContext();
            CrewsRepository        crewsRepository = new CrewsRepository();
            PilotsRepository       pRepository     = new PilotsRepository();
            StewardessesRepository sRepository     = new StewardessesRepository();
            CrewingUnitOfWork      uow             = new CrewingUnitOfWork(crewsRepository, pRepository, sRepository, context);

            var crew = uow.Crews.Update(new Crew()
            {
                Pilot        = pRepository.Get(1),
                Stewardesses = sRepository.GetAll().Take(3).ToList()
            });

            uow.SaveChanges();
            crewId = crew.Id;
        }
Example #15
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            IContext context;
            string   config = ConfigurationManager.AppSettings["ContextType"];

            if (config == "SQL")
            {
                context = new MSSQLContext();
            }
            else
            {
                throw new Exception("Fout bij het inlezen van de app.config");
            }

            Form1 form = new Form1(context);

            Application.Run(form);
        }
        public static void ReplicateMssqlData(MSSQLContext data)
        {
            MySQLContext context = new MySQLContext();
            var vendors = data.Vendors;
            var measures = data.Measures;
            var supermarkets = data.Supermarkets;
            var products = data.Products;
            var sales = data.Sales;
            var expenses = data.Expenses;

            ReplicateVendor(context, vendors);

            ReplicateMeasure(context, measures);

            ReplicateSupermarket(context, supermarkets);

            ReplicateProduct(context, products);

            ReplicateSales(sales, context);

            ReplicateExpenses(expenses, context);
        }
Example #17
0
 public void SetDbContext(MSSQLContext pContext)
 {
     context = pContext;
 }
        private static Measure GetProductMeasure(MSSQLContext context, ProductDTO product)
        {
            if (!context.Measures.Any(v => v.Name == product.Measure.Name))
            {
                var measure = new Measure()
                {
                    Name = product.Measure.Name
                };

                context.Measures.Add(measure);
                return measure;
            }

            return context.Measures.First(v => v.Name == product.Measure.Name);
        }
Example #19
0
 public CreateController(MSSQLContext db)
 {
     _db = db;
 }
Example #20
0
 public OrderJourneyController(MSSQLContext context)
 {
     _context       = context;
     journeyManager = new JourneyManager();
     journeyManager.SetDbContext(_context);
 }
Example #21
0
 public BusinessCheckingController(MSSQLContext db)
 {
     _db = db;
 }
Example #22
0
 public BBCTListViewComponent(MSSQLContext db)
 {
     _db = db;
 }
        private void PopulateMySql_Click(object sender, EventArgs e)
        {
            const string successfullyPopulatedMessage = "Successfully populated from MySql Database";

            MSSQLContext context = new MSSQLContext();
            MySqlRepository.ReplicateMssqlData(context);
            MessageBox.Show(successfullyPopulatedMessage);
        }
 public GenericRepository(MSSQLContext context)
 {
     _context = context;
     dataset  = _context.Set <T>();
 }
 public LoginController(MSSQLContext context)
 {
     _context      = context;
     _loginManager = new LoginManager();
     _loginManager.SetDbContext(_context);
 }
 public ReportController(MSSQLContext context)
 {
     _context      = context;
     reportManager = new ReportManager();
     reportManager.SetDbContext(_context);
 }
        private static Supermarket GetSupermarket(MSSQLContext context, string supermarketName)
        {
            var supermarket = context.Supermarkets.FirstOrDefault(s => s.Name == supermarketName);
            if (supermarket == null)
            {
                supermarket = new Supermarket()
                {
                    Name = supermarketName
                };

                context.Supermarkets.Add(supermarket);
            }

            return supermarket;
        }
 public PessoaController(MSSQLContext context)
 {
     this.context   = context;
     this.pessoaCtx = this.context.Set <Pessoa>();
 }
Example #29
0
 public BanUserController(MSSQLContext context)
 {
     _context     = context;
     loginManager = new LoginManager();
     loginManager.SetDbContext(_context);
 }
        private static Vendor GetProductVendor(MSSQLContext context, ProductDTO product)
        {
            if (!context.Vendors.Any(v => v.Name == product.Vendor.Name))
            {
                var vendor = new Vendor()
                {
                    Name = product.Vendor.Name
                };

                context.Vendors.Add(vendor);
                return vendor;
            }

            return context.Vendors.First(v => v.Name == product.Vendor.Name);
        }
 public PersonalBalanceController(MSSQLContext context)
 {
     _context = context;
     personalBalanceManager = new PersonalBalanceManager();
     personalBalanceManager.SetDbContext(_context);
 }
Example #32
0
 public PersonalCheckingController(MSSQLContext db)
 {
     _db = db;
 }
Example #33
0
 public UserRepository(MSSQLContext context)
 {
     _context = context;
 }
Example #34
0
 public LoanController(MSSQLContext db)
 {
     _db = db;
 }
 public GenericDataController(ILogger <GenericDataController> logger, MSSQLContext dbContext)
 {
     _logger    = logger;
     _dbcontext = dbContext;
 }
Example #36
0
 public HomeController()
 {
     SQLContext = new MSSQLContext(context);
 }
Example #37
0
 public ProdutoController(MSSQLContext context)
 {
     this.context    = context;
     this.produtoCTX = this.context.set <Produto>();
 }
Example #38
0
 public PersonServiceImpl(MSSQLContext context)
 {
     _context = context;
 }
Example #39
0
 public IndexModel(MySQLContext mysqlcontext, MariaDBContext mariadbcontext, MSSQLContext mssqlcontext)
 {
     MySQLContext   = mysqlcontext;
     MariaDBContext = mariadbcontext;
     MSSQLContext   = mssqlcontext;
 }
Example #40
0
 public PersonRepository(MSSQLContext context) : base(context)
 {
 }
Example #41
0
 public abstract void passDb(MSSQLContext context);
        public static void ReplicateOracleData(IList<ProductDTO> data)
        {
            var context = new MSSQLContext();

            foreach (var product in data)
            {
                if (!context.Products.Any(p => p.Name == product.Name))
                {
                    Vendor vendor = GetProductVendor(context, product);

                    Measure measure = GetProductMeasure(context, product);

                    var newProduct = new Product()
                    {
                        Name = product.Name,
                        Measure = measure,
                        Vendor = vendor,
                        Price = product.Price
                    };

                    context.Products.Add(newProduct);
                    context.SaveChanges();
                }
            }
        }