public OrderBusiness(DatabaseFactory df = null, UnitOfWork uow = null)
 {
     DatabaseFactory dfactory = df == null ? new DatabaseFactory() : df;
     _unitOfWork = uow == null ? new UnitOfWork(dfactory) : uow;
     _orderRepository = new OrderDetailsRepository(dfactory);
     this._formsAuthenticationFactory = new FormsAuthenticationFactory();
 }
Exemplo n.º 2
0
 public OrderDetails(int id)
 {
     _id = id;
     var orderDetailsEntity = new OrderDetailsRepository().GetById(id);
     this.Name = orderDetailsEntity.Name;
     this.Price = orderDetailsEntity.Price;
 }
        public void TestUpdate()
        {
            OrderDetails model = new OrderDetails()
            {
                OrderID   = 3,
                ProductID = 2,
                Quantity  = 3
            };
            OrderDetailsRepository ordersDetail = new OrderDetailsRepository();
            var list = ordersDetail.FindById(3);

            ordersDetail.Update(model);
            Assert.IsTrue(model.OrderID == 3);
        }
Exemplo n.º 4
0
 public UnitOfWork(IorwoodDbContext context)
 {
     _context        = context;
     Category        = new CategoryRepository(_context);
     Extra           = new ExtraRepository(_context);
     Unit            = new UnitRepository(_context);
     Product         = new ProductRepository(_context);
     OrderHeader     = new OrderHeaderRepository(_context);
     OrderDetails    = new OrderDetailsRepository(_context);
     StockRepository = new StockRepository(_context);
     RefundHeader    = new RefundHeaderRepository(_context);
     RefundDetail    = new RefundDetailRepository(_context);
     CurrentMovement = new CurrentMovementRepositroy(_context);
     AccountingBook  = new AccountingBookRepository(_context);
     UserApplication = new UserApplicationRepository(_context);
 }
Exemplo n.º 5
0
        public ItemsDTO <OrderDetail> GetOrderDetailsGridRows(Action <IGridColumnCollection <OrderDetail> > columns,
                                                              object[] keys, QueryDictionary <StringValues> query)
        {
            var repository = new OrderDetailsRepository(_context);
            var server     = new GridServer <OrderDetail>(repository.GetForOrder((int)keys[0]), new QueryCollection(query),
                                                          true, "orderDetailssGrid" + keys[0].ToString(), columns)
                             .Sortable()
                             .WithPaging(10)
                             .Filterable()
                             .WithMultipleFilters();

            // return items to displays
            var items = server.ItemsToDisplay;

            return(items);
        }
        public void OrderDetails_Update()
        {
            var          repository  = new OrderDetailsRepository();
            OrderDetails orderdetail = new OrderDetails()
            {
                OrderID         = 1,
                ProductFormatID = 1,
                Quantity        = 5,
                UnitPrice       = 470
            };

            repository.Update(orderdetail);
            var orders = repository.GetAll();

            Assert.IsTrue(orders.Count() > 0);
        }
Exemplo n.º 7
0
        public ActionResult OrderDetails(int id)
        {
            List <OrderDetails> orderdet;
            DisplayOrderDetails displayDet = new DisplayOrderDetails();

            displayDet.OrderID = id;

            using (MySqlConnection conn = DBUtils.GetConnection())
            {
                OrderDetailsRepository repo = new OrderDetailsRepository(conn);
                orderdet = repo.GetById(id).ToList <OrderDetails>();
            }

            displayDet.Details = orderdet;
            return(View(displayDet));
        }
        public async Task Update(OrderDetail item)
        {
            using (var context = new NorthwindDbContext(_options))
            {
                try
                {
                    var repository = new OrderDetailsRepository(context);
                    await repository.Update(item);

                    repository.Save();
                }
                catch (Exception e)
                {
                    throw new GridException(e);
                }
            }
        }
Exemplo n.º 9
0
        static void Main(string[] args)
        {
            ForegroundColor = ConsoleColor.Yellow;
            CustomersRepository    cr  = new CustomersRepository();
            OrderDetailsRepository odr = new OrderDetailsRepository();
            OrdersRepository       or  = new OrdersRepository();
            ProductsRepository     pr  = new ProductsRepository();
            int  vastaus;
            bool jatka = true;

            do
            {
                TulostaValikko();
                if (int.TryParse(ReadLine(), out vastaus))
                {
                    switch (vastaus)
                    {
                    case 1:
                        Hae(cr, odr);
                        break;

                    case 2:
                        Lisaa(cr);
                        break;

                    case 3:
                        Muuta(cr);
                        break;

                    case 4:
                        Poista(cr);
                        break;

                    case 5:
                        jatka = false;
                        break;

                    default:
                        WriteLine("Väärä valinta. Paina Enter.");
                        ReadLine();
                        break;
                    }
                }
            } while (jatka);
        }
Exemplo n.º 10
0
        public ActionResult DeleteOrderDetails(int orderId, int productId)
        {
            try
            {
                // TODO: Add delete logic here
                using (MySqlConnection conn = DBUtils.GetConnection())
                {
                    OrderDetailsRepository orderRepo = new OrderDetailsRepository(conn);
                    orderRepo.Delete(orderId, productId);
                }

                return(RedirectToAction("OrderDetails", new { id = orderId }));
            }
            catch
            {
                return(RedirectToAction("OrderDetails", new { id = orderId }));
            }
        }
        public async Task Delete(params object[] keys)
        {
            using (var context = new NorthwindDbContext(_options))
            {
                try
                {
                    var order = await Get(keys);

                    var repository = new OrderDetailsRepository(context);
                    repository.Delete(order);
                    repository.Save();
                }
                catch (Exception)
                {
                    throw new GridException("Error deleting the order detail");
                }
            }
        }
 public void Get(DbContextOptions <OrderContext> options, OrderDetailsFilter <int> filter, int expectedResult)
 {
     try
     {
         using (var db = new OrderContext(options))
         {
             var repository =
                 new OrderDetailsRepository(db);
             IEnumerable <OrderDetail> result = null;
             Assert.DoesNotThrow(() => result = repository.Get(filter));
             Assert.True(result != null && result.Count() == expectedResult);
         }
     }
     catch (Exception ex)
     {
         LogEventManager.Logger.Error(ex.Message, ex);
         throw;
     }
 }
        public void GetById()
        {
            try
            {
                var   options = CreateNewContextOptions();
                Order order;
                var   obj = new
                {
                    Id    = 1,
                    Name  = "Hat",
                    Price = 200
                };
                using (var db = new OrderContext(options))
                {
                    var contact = ProcessingTestHelper.GenerateContact();
                    ProcessingTestHelper.PopulateDefaultOrderCtx(db);
                    var orderState = db.OrderStates.First();
                    var payment    = db.PaymentMethods.First();
                    var delivery   = db.DeliveryMethods.First();
                    var zone       = db.DeliveryZones.First();
                    order = ProcessingTestHelper.GenerateOrder(contact, orderState, payment, delivery, zone);
                    db.Orders.Add(order);
                    db.SaveChanges();
                }
                using (var db = new OrderContext(options))
                {
                    var repository = new OrderDetailsRepository(db);

                    var item = ProcessingTestHelper.GenerateOrderDetail(order, obj);
                    Assert.DoesNotThrow(() => repository.Save(item));

                    Assert.DoesNotThrow(() => item = repository.GetById(item.Id));
                    Assert.DoesNotThrow(() => repository.Delete(item));
                    Assert.NotNull(item);
                    Assert.Greater(item.Id, 0);
                }
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex);
                throw;
            }
        }
        public void GetByOrder()
        {
            try
            {
                var   options = CreateNewContextOptions();
                var   contact = ProcessingTestHelper.GenerateContact();
                Order order1;
                using (var db = new OrderContext(options))
                {
                    db.Contacts.Add(contact);
                    ProcessingTestHelper.PopulateDefaultOrderCtx(db);
                    var orderState = db.OrderStates.First();
                    var payment    = db.PaymentMethods.First();
                    var delivery   = db.DeliveryMethods.First();
                    var zone       = db.DeliveryZones.First();
                    order1 = ProcessingTestHelper.GenerateOrder(contact, orderState, payment, delivery, zone);

                    db.Set <Order>().AddRange(order1);
                    var detailsOrder = ProcessingTestHelper.GenerateOrderDetail(order1,
                                                                                new { Id = 1, Name = "Hat", Cost = 200 });
                    var detailsOrder2 = ProcessingTestHelper.GenerateOrderDetail(order1,
                                                                                 new { Id = 2, Name = "Hat", Cost = 200 });
                    var detailsOrder3 = ProcessingTestHelper.GenerateOrderDetail(order1,
                                                                                 new { Id = 3, Name = "Hat", Cost = 200 });
                    db.Set <OrderDetail>().AddRange(detailsOrder, detailsOrder2, detailsOrder3);
                    db.SaveChanges();
                }
                using (var db = new OrderContext(options))
                {
                    var repository =
                        new OrderDetailsRepository(db);
                    IEnumerable <OrderDetail> result = null;
                    Assert.DoesNotThrow(() => result = repository.GetByOrder(order1.Id));
                    Assert.True(result != null && result.Count() == 3);
                }
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex.Message, ex);
                throw;
            }
        }
Exemplo n.º 15
0
        private static void Hae(CustomersRepository cr, OrderDetailsRepository odr)
        {
            Clear();
            WriteLine(String.Format("{0," + WindowWidth / 2 + "}", "Northwind-asiakkaat"));
            WriteLine("Asiakastietojen haku");
            WriteLine("Valitse hakukriteeri");
            WriteLine("1. Nimi");
            WriteLine("2. Kaupunki");
            WriteLine("3. Maa");
            WriteLine("4. Palaa takaisin");
            Write("Valitse: ");
            int valinta;

            if (int.TryParse(ReadLine(), out valinta))
            {
                if (valinta == 1)
                {
                    Write("Anna haettavien alku: ");
                    string           aloitus   = ReadLine();
                    List <Customers> asiakkaat = cr.HaeKaikkiNimenmukaan(aloitus);
                    Haku(odr, asiakkaat);
                }
                else if (valinta == 2)
                {
                    Write("Anna haettavien alku: ");
                    string           aloitus   = ReadLine();
                    List <Customers> asiakkaat = cr.HaeKaikkiKaupungingmukaan(aloitus);
                    Haku(odr, asiakkaat);
                }
                else if (valinta == 3)
                {
                    Write("Anna haettavien alku: ");
                    string           aloitus   = ReadLine();
                    List <Customers> asiakkaat = cr.HaeKaikkiMaanmukaan(aloitus);
                    Haku(odr, asiakkaat);
                }
                else if (valinta == 4)
                {
                    return;
                }
            }
        }
Exemplo n.º 16
0
 public UnitOfWork(CorpCommDbContext db)
 {
     _db          = db;
     Brand        = new BrandRepository(_db);
     StationType  = new StationTypeRepository(_db);
     Unit         = new UnitRepository(_db);
     Department   = new DepartmentRepository(_db);
     Status       = new StatusRepository(_db);
     Size         = new SizeRepository(_db);
     Email        = new EmailRepository(_db);
     Location     = new LocationRepository(_db);
     Event        = new EventRepository(_db);
     Station      = new StationRepository(_db);
     Collateral   = new CollateralRepository(_db);
     OrderDetails = new OrderDetailsRepository(_db);
     OrderHeader  = new OrderHeaderRepository(_db);
     ShoppingCart = new ShoppingCartRepository(_db);
     History      = new HistoryRepository(_db);
     SP_Call      = new SP_Call(_db);
 }
Exemplo n.º 17
0
        public ItemsDTO <OrderDetail> GetOrderDetailsGridRows(Action <IGridColumnCollection <OrderDetail> > columns,
                                                              object[] keys, QueryDictionary <StringValues> query)
        {
            using (var context = new NorthwindDbContext(_options))
            {
                int orderId;
                int.TryParse(keys[0].ToString(), out orderId);
                var repository = new OrderDetailsRepository(context);
                var server     = new GridCoreServer <OrderDetail>(repository.GetForOrder(orderId), query, true, "orderDetailssGrid" + keys[0].ToString(), columns)
                                 .Sortable()
                                 .WithPaging(10)
                                 .Filterable()
                                 .WithMultipleFilters()
                                 .SetRemoveDiacritics <NorthwindDbContext>("RemoveDiacritics");

                // return items to displays
                var items = server.ItemsToDisplay;
                return(items);
            }
        }
        // GET api/<controller>/5
        public HttpResponseMessage Get(int id)
        {
            try
            {
                Orders order = new Orders();
                using (MySqlConnection conn = DBUtils.GetConnection())
                {
                    OrderRepository repo = new OrderRepository(conn);
                    order = repo.GetById(id);

                    OrderDetailsRepository detailsRepo = new OrderDetailsRepository(conn);
                    order.Details = detailsRepo.GetById(id).ToList <OrderDetails>();
                }

                return(Request.CreateResponse(HttpStatusCode.OK, order));
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, ex.Message));
            }
        }
Exemplo n.º 19
0
        public bool Cancelorder(int orderid)//取消訂單
        {
            var productsRepository     = new ProductsRepository();
            var orderRepository        = new OrderRepository();
            var orderDetailsRepository = new OrderDetailsRepository();

            try
            {
                //更改status狀態
                var status = orderRepository.FindById(orderid).Status;

                if (status == "申請取消")
                {
                    orderRepository.UpdateStatus(new Order {
                        OrderID = orderid, Status = "訂單已取消"
                    });
                }
                if (status == "申請退貨")
                {
                    orderRepository.UpdateStatus(new Order {
                        OrderID = orderid, Status = "退貨已完成"
                    });
                }

                //庫存數量調整
                var orderDetails = orderDetailsRepository.FindById(orderid);
                foreach (var item in orderDetails)
                {
                    productsRepository.UpdateStockPplus(new Products {
                        ProductID = item.ProductID
                    }, item.Quantity);
                }
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Exemplo n.º 20
0
        public JsonResult Index(OrderViewModel objOrderViewModel)
        {
            OrderRepository orderRepository = new OrderRepository();
            var             order           = new Order();

            order.OrderDate     = DateTime.Now;
            order.CustomerId    = objOrderViewModel.CustomerId;
            order.FinalTotal    = objOrderViewModel.FinalTotal;
            order.OrderNumber   = string.Format("{0:ddmmyyyyhhmmss}", DateTime.Now);
            order.PaymentTypeId = objOrderViewModel.PaymentTypeId;
            orderRepository.Insert(order);

            int OrderId = order.ID;

            foreach (var item in objOrderViewModel.ListOfOrderDetailsViewModel)
            {
                OrderDetailsRepository orderDetailsRepository = new OrderDetailsRepository();
                var OrderDetails = new OrderDetail();
                OrderDetails.OrderId   = OrderId;
                OrderDetails.Quantity  = item.Quantity;
                OrderDetails.ItemId    = item.ItemId;
                OrderDetails.UnitPrice = item.UnitPrice;
                OrderDetails.Discount  = item.Discount;
                OrderDetails.Total     = item.Total;
                orderDetailsRepository.Insert(OrderDetails);

                TransactionRepository transactionRepository = new TransactionRepository();
                Transaction           transaction           = new Transaction();
                transaction.ItemId          = item.ItemId;
                transaction.Quantity        = item.Quantity;
                transaction.TransactionDate = DateTime.Now;
                transaction.TypeId          = 2;
                transactionRepository.Insert(transaction);
            }
            return(Json("Order has been Successfully placed", JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 21
0
        private bool OrderDetailExists(int orderID, int productID)
        {
            var repository = new OrderDetailsRepository(_context);

            return(repository.GetAll().Any(x => x.OrderID == orderID && x.ProductID == productID));
        }
Exemplo n.º 22
0
 public OrdersController(IRepository <Order, int> orderRepository, OrderDetailsRepository orderDetailsRepository, IHostingEnvironment hostingEnvironment)
 {
     this.orderRepository        = orderRepository;
     this.hostingEnvironment     = hostingEnvironment;
     this.orderDetailsRepository = orderDetailsRepository;
 }
        public ActionResult Shopping5()
        {
            List <Shopping>      shopping;
            User                 user;
            ShipData             ship;
            JavaScriptSerializer JSONSerializer = new JavaScriptSerializer();

            if (Request.Cookies["shoppingcar"] != null && Request.Cookies["user"] != null && Request.Cookies["ShipData"] != null)
            {
                string json = HttpUtility.UrlDecode(Request.Cookies["shoppingcar"].Value);
                shopping = JSONSerializer.Deserialize <List <Shopping> >(json);
                string json1 = HttpUtility.UrlDecode(Request.Cookies["user"].Value);
                user = JSONSerializer.Deserialize <User>(json1);
                string json2 = HttpUtility.UrlDecode(Request.Cookies["ShipData"].Value);
                ship = JSONSerializer.Deserialize <ShipData>(json2);
                SqlConnection connection = new SqlConnection("data source=.; database=Commerce; integrated security=true");
                connection.Open();
                using (var transaction = connection.BeginTransaction())
                {
                    try
                    {
                        var order = new Orders()
                        {
                            MemberID      = user.UserID,
                            EmployeeID    = 1,
                            OrderDate     = DateTime.Now,
                            Discount      = 1,
                            ReceiptedDate = null,
                            ShipName      = ship.ShipName,
                            ShipPhone     = ship.ShipPhone,
                            ShipAddress   = ship.ShipAddress,
                            ShippedDate   = null,
                            Status        = "未出貨"
                        };
                        var orderrepository = new OrdersRepository();
                        orderrepository.Create(order, connection, transaction);
                        var memberrepository      = new MemberRepository();
                        var memberorder           = memberrepository.GetBuyerOrder(user.UserID, connection, transaction);
                        var lastordeer            = memberorder.First();
                        var orderdetailrepository = new OrderDetailsRepository();
                        foreach (var item in shopping)
                        {
                            OrderDetails od = new OrderDetails()
                            {
                                OrderID         = lastordeer.OrderID,
                                ProductFormatID = item.ProductFormatID,
                                Quantity        = item.Quantity,
                                UnitPrice       = item.UnitPrice
                            };
                            orderdetailrepository.Create(od, connection, transaction);
                        }
                        transaction.Commit();
                        return(RedirectToAction("Shopping6", "Shopping"));
                    }
                    catch (Exception)
                    {
                        transaction.Rollback();
                        return(RedirectToAction("", "Shopping"));
                    }
                }
            }
            else
            {
                return(RedirectToAction("", "Shopping"));
            }
            //做order跟orderdetail
        }
Exemplo n.º 24
0
        public RetrieveResponse <OrdersPerStatusResponse> OrdersPerStatus(IDbConnection connection)
        {
            var response = new OrdersPerStatusResponse();

            for (int i = 0; i < 12; i++)
            {
                response.labels.Add(DateTime.Now.AddMonths(-i).ToString("MMMM"));
            }


            var orderStatuses = new OrderStatusesRepository().List(connection, new ListRequest()).Entities;

            foreach (var orderStatus in orderStatuses)
            {
                var dataset = new OrdersPerStatusResponse.Dataset();

                dataset.backgroundColor = orderStatus.BackgroundColor;

                dataset.borderColor = orderStatus.BackgroundColor;

                dataset.label = orderStatus.Name;
                for (int j = 0; j < 12; j++)
                {
                    var firstDayOfMonth = new DateTime(DateTime.Now.AddMonths(-j).Year,
                                                       DateTime.Now.AddMonths(-j).Month, 1);
                    var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1);

                    var orderFields   = OrdersRow.Fields;
                    var ordersRequest = new OrderListRequest();
                    ordersRequest.ColumnSelection = ColumnSelection.KeyOnly;
                    ordersRequest.Criteria        = (new Criteria(orderFields.OrderDate.Name) >= firstDayOfMonth
                                                     & new Criteria(orderFields.OrderDate.Name) <= lastDayOfMonth
                                                     & new Criteria(orderFields.OrderStatusId.Name) == orderStatus.OrderStatusId.Value
                                                     & new Criteria(orderFields.IsActive.Name) == 1
                                                     & new Criteria(orderFields.NotReal.Name) == 0

                                                     );

                    var orders = new OrdersRepository().List(connection, ordersRequest).Entities;
                    if (!orders.Any())
                    {
                        dataset.data.Add(Decimal.Zero);
                        continue;
                    }

                    var orderDetailsFields      = OrderDetailsRow.Fields;
                    var orderDetailsListRequest = new ListRequest();
                    orderDetailsListRequest.ColumnSelection = ColumnSelection.Details;

                    orderDetailsListRequest.Criteria =
                        (new Criteria(orderDetailsFields.OrderId.Name).In(orders.Select(o => o.OrderId)));

                    var orderDetails = new OrderDetailsRepository().List(connection, orderDetailsListRequest)
                                       .Entities;

                    var totalForMonth = Decimal.Zero;
                    if (orderDetails.Any())
                    {
                        totalForMonth = orderDetails.Select(od => od.LineTotal).Aggregate((a, b) => a + b) ?? Decimal.Zero;
                    }

                    dataset.data.Add(totalForMonth);
                }

                response.datasets.Add(dataset);
            }



            return(new RetrieveResponse <OrdersPerStatusResponse> {
                Entity = response
            });
        }
Exemplo n.º 25
0
 public OrderDetailsController()
 {
     _orderDetailsRepository = new OrderDetailsRepository();
 }
Exemplo n.º 26
0
 public CloseOrderController()
 {
     _closeOrderRepository   = new CloseOrderRepository();
     _orderDetailsRepository = new OrderDetailsRepository();
 }
Exemplo n.º 27
0
 public OrderDetailsBusiness(OrderDetailsRepository orderDetailsRepository)
 {
     this._orderDetailsRepository = orderDetailsRepository;
 }
Exemplo n.º 28
0
 public OrderDetailService()
 {
     repository = new OrderDetailsRepository();
 }
Exemplo n.º 29
0
 public OrderDetailsController(IBaseRepository <OrderDetail> repo) : base(repo)
 {
     _convertedRepo = (OrderDetailsRepository)_repository;
 }
Exemplo n.º 30
0
        // public PatientDTO a;
        // public DoctorDTO b;
        // public SecretaryDTO c;

        public App()
        {
            // HCI

            medicalRoles = new List <string> {
                "Svi", "Opšte Prakse", "Hirurg", "Dermatolog", "Očni lekar", "Stomatolog"
            };
            roomTypes = new List <string> {
                "Bolnička Soba", "Operaciona Sala", "Soba za preglede"
            };
            medicalAppointmentTypes = new List <string> {
                "Pregled", "Operacija", "Ležanje"
            };
            AddressDTO address = new AddressDTO("1", "Bulevar despota Stefan 7A", "Novi Sad", "Srbija", "21000");

            director     = new DirectorDTO(address, "Dusan", "Urosevic", "1231231231231", "021021", "Male", new DateTime(1990, 5, 5), 123, new TimeInterval(new DateTime(2020, 12, 12), new DateTime(2020, 12, 12)), new TimeInterval(new DateTime(2020, 12, 12), new DateTime(2020, 12, 12)), "[email protected]", "pass", "Klinicki Centar Vojvodina");
            SelectedDate = DateTime.Now;


            // Converters
            var addressConverter           = new AddressConverter();
            var patientConverter           = new PatientConverter(addressConverter);
            var medicineConverter          = new MedicineConverter();
            var questionConverter          = new QuestionConverter(patientConverter);
            var prescriptionConverter      = new PrescriptionConverter(patientConverter, medicineConverter);
            var medicalConsumableConverter = new MedicalConsumableConverter();
            var roomConverter                = new RoomConverter();
            var equipmentConverter           = new EquipmentConverter(roomConverter);
            var guestConverter               = new GuestConverter(addressConverter);
            var hospitalConverter            = new HospitalConverter();
            var doctorConverter              = new DoctorConverter(addressConverter);
            var medicalAppointmentConverter  = new MedicalAppointmentConverter(roomConverter, guestConverter, doctorConverter);
            var renovationConverter          = new RenovationConverter(roomConverter);
            var feedbackConverter            = new FeedbackConverter();
            var reviewConverter              = new ReviewConverter(doctorConverter);
            var anamnesisConvertor           = new AnamnesisConvertor();
            var secretaryConverter           = new SecretaryConverter(questionConverter, addressConverter);
            var inventoryManagementConverter = new InventoryManagementConverter(equipmentConverter, roomConverter);
            var orderConverter               = new OrderConverter(medicalConsumableConverter, medicineConverter, equipmentConverter);
            var reportConverter              = new ReportConverter();
            var approvalConverter            = new ApprovalConverter(doctorConverter);
            var propositionConverter         = new PropositionConverter(medicineConverter, approvalConverter, doctorConverter);


            var referralConverter = new ReferralConverter(medicalAppointmentConverter);


            // Repositories
            // Many to Many
            var medicalAppointmentToDoctorRepository = new MedicalAppointmentToDoctorRepository(
                new CSVStream <MedicalAppointmentToDoctor>(
                    MEDICAL_APPOINTMENT_TO_DOCTOR_FILEPATH,
                    new MedicalAppointmentToDoctorCSVConverter(DELIMITER)),
                new LongSequencer()
                );
            var inventoryManagementToEquipmentRepository = new InventoryManagementToEquipmentRepository(
                new CSVStream <InventoryManagementToEquipment>(
                    INVENTORY_EQUIPMENT_FILEPATH,
                    new InventoryManagementToEquipmentCSVConverter(DELIMITER)),
                new LongSequencer()
                );

            var addressRepository = new AddressRepository(new CSVStream <Address>(ADDRESS_FILEPATH, new AddressCSVConverter(DELIMITER)), new LongSequencer());
            var patientRepository = new PatientRepository(
                new CSVStream <Patient>(PATIENT_FILEPATH, new PatientCSVConverter(DELIMITER, DATETIME_FORMAT)),
                new CSVStream <Patient>(PATIENT_FILEPATH, new PatientCSVConverter(DELIMITER, DATETIME_FORMAT)),
                new CSVStream <Doctor>(DOCTOR_FILEPATH, new DoctorCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)),
                new CSVStream <Secretary>(SECRETARY_FILEPATH, new SecretaryCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)),
                addressRepository, new LongSequencer());
            var doctorRepository = new DoctorRepository(
                new CSVStream <Doctor>(DOCTOR_FILEPATH, new DoctorCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)),
                new CSVStream <Patient>(PATIENT_FILEPATH, new PatientCSVConverter(DELIMITER, DATETIME_FORMAT)),
                new CSVStream <Doctor>(DOCTOR_FILEPATH, new DoctorCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)),
                new CSVStream <Secretary>(SECRETARY_FILEPATH, new SecretaryCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)),
                addressRepository,
                new LongSequencer());
            var secretaryRepository = new SecretaryRepository(
                new CSVStream <Secretary>(SECRETARY_FILEPATH, new SecretaryCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)),
                new CSVStream <Patient>(PATIENT_FILEPATH, new PatientCSVConverter(DELIMITER, DATETIME_FORMAT)),
                new CSVStream <Doctor>(DOCTOR_FILEPATH, new DoctorCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)),
                new CSVStream <Secretary>(SECRETARY_FILEPATH, new SecretaryCSVConverter(DELIMITER, DATETIME_FORMAT, TIME_FORMAT)),
                addressRepository,
                new LongSequencer());


            var inventoryManagementRepository = new InventoryManagementRepository(new CSVStream <InventoryManagement>(INVENTORY_FILEPATH, new InventoryManagementCSVConverter(DELIMITER, DATETIME_FORMAT)), inventoryManagementToEquipmentRepository, new LongSequencer());
            var orderDetailsRepository        = new OrderDetailsRepository(new CSVStream <OrderDetails>(ORDER_DETAILS_FILEPATH, new OrderDetailsCSVConverter(DELIMITER)), new LongSequencer());
            var questionRepository            = new QuestionRepository(new CSVStream <Question>(QUESTION_FILEPATH, new QuestionCSVConverter(DELIMITER, DATETIME_FORMAT)), new LongSequencer());


            var medicalConsumableRepository = new MedicalConsumableRepository(
                new CSVStream <MedicalConsumables>(MEDICAL_CONSUMABLE_FILEPATH, new MedicalConsumableCSVConverter(DELIMITER)),
                new CSVStream <Equipment>(EQUIPMENT_FILEPATH, new EquipmentCSVConverter(DELIMITER)),
                new CSVStream <MedicalConsumables>(MEDICAL_CONSUMABLE_FILEPATH, new MedicalConsumableCSVConverter(DELIMITER)),
                new CSVStream <Medicine>(MEDICINE_FILEPATH, new MedicineCSVConverter(DELIMITER)),
                new LongSequencer());

            var equipmentRepository = new EquipmentRepository(
                new CSVStream <Equipment>(EQUIPMENT_FILEPATH, new EquipmentCSVConverter(DELIMITER)),
                new CSVStream <Equipment>(EQUIPMENT_FILEPATH, new EquipmentCSVConverter(DELIMITER)),
                new CSVStream <MedicalConsumables>(MEDICAL_CONSUMABLE_FILEPATH, new MedicalConsumableCSVConverter(DELIMITER)),
                new CSVStream <Medicine>(MEDICINE_FILEPATH, new MedicineCSVConverter(DELIMITER)),
                new LongSequencer());
            var medicineRepository = new MedicineRepository(
                new CSVStream <Medicine>(MEDICINE_FILEPATH, new MedicineCSVConverter(DELIMITER)),
                new CSVStream <Equipment>(EQUIPMENT_FILEPATH, new EquipmentCSVConverter(DELIMITER)),
                new CSVStream <MedicalConsumables>(MEDICAL_CONSUMABLE_FILEPATH, new MedicalConsumableCSVConverter(DELIMITER)),
                new CSVStream <Medicine>(MEDICINE_FILEPATH, new MedicineCSVConverter(DELIMITER)),
                new LongSequencer());

            var prescriptionRepository = new PrescriptionRepository(new CSVStream <Prescription>(PRESCRIPTION_FILEPATH, new PrescriptionCSVConverter(DELIMITER, DATETIME_FORMAT)), medicineRepository, patientRepository, new LongSequencer());


            var medicalAppointmentRepository = new MedicalAppointmentRepository(
                new CSVStream <MedicalAppointment>(MEDICAL_APPOINTMENT_FILEPATH,
                                                   new MedicalAppointmentCSVConverter(DELIMITER, DATETIME_DETAIL_FORMAT)),
                medicalAppointmentToDoctorRepository,
                patientRepository,
                doctorRepository,
                new LongSequencer());
            var roomRepository = new RoomRepository(new CSVStream <Room>(ROOM_FILEPATH, new RoomCSVConverter(DELIMITER)), new LongSequencer(), equipmentRepository);

            var orderRepository = new OrderRepository(new CSVStream <Order>(ORDER_FILEPATH, new OrderCSVConverter(DELIMITER, DATETIME_FORMAT)), medicineRepository, equipmentRepository, medicalConsumableRepository, orderDetailsRepository, new LongSequencer());

            var renovationRepository  = new RenovationRepository(new CSVStream <Renovation>(RENOVATION_FILEPATH, new RenovationCSVConverter(DELIMITER, DATETIME_FORMAT)), new LongSequencer());
            var feedbackRepository    = new FeedbackRepository(new CSVStream <Feedback>(FEEDBACK_FILEPATH, new FeedbackCSVConverter(DELIMITER)), new LongSequencer());
            var reviewRepository      = new ReviewRepository(new CSVStream <Review>(REVIEW_FILEPATH, new ReviewCSVConverter(DELIMITER)), new LongSequencer());
            var anamnesisRepository   = new AnamnesisRepository(new CSVStream <Anamnesis>(ANAMNESIS_FILEPATH, new AnamnesisCSVConverter(DELIMITER)), new LongSequencer());
            var propositionRepository = new PropositionRepository(new CSVStream <Proposition>(PROPOSITION_FILEPATH, new PropositionCSVConverter(DELIMITER, DATETIME_FORMAT)), new LongSequencer(), medicineRepository);

            // Referral
            var admitionReferralRepository = new AdmitionReferralRepository(
                new CSVStream <Referral>(ADMITION_REFERRAL_FILEPATH, new ReferralCSVConventer(DELIMITER, DATETIME_FORMAT)),
                new LongSequencer()
                );
            var operationReferralRepository = new OperationReferralRepository(
                new CSVStream <Referral>(OPERATION_REFERRAL_FILEPATH, new ReferralCSVConventer(DELIMITER, DATETIME_FORMAT)),
                new LongSequencer());

            var examReferralRepository = new ExamReferralRepository(
                new CSVStream <Referral>(EXAM_REFERRAL_FILEPATH, new ReferralCSVConventer(DELIMITER, DATETIME_FORMAT)),
                new LongSequencer());

            var approvalRepository = new ApprovalRepository(new CSVStream <Approval>(APPROVAL_FILEPATH, new ApprovalCSVConverter(DELIMITER)), new LongSequencer());

            // Services

            var patientService            = new PatientService(patientRepository);
            var questionService           = new QuestionService(questionRepository);
            var addressService            = new AddressService(addressRepository);
            var medicineService           = new MedicineService(medicineRepository);
            var medicalConsumableService  = new MedicalConsumableService(medicalConsumableRepository);
            var prescriptionService       = new PrescriptionService(prescriptionRepository, medicineService, patientService);
            var reportService             = new ReportService();
            var guestService              = new GuestService(patientRepository);
            var equipmentService          = new EquipmentService(equipmentRepository);
            var doctorService             = new DoctorService(doctorRepository);
            var medicalAppointmentService = new MedicalAppointmentService(medicalAppointmentRepository, doctorService);
            var roomService                = new RoomService(roomRepository);
            var renovationService          = new RenovationService(renovationRepository, roomRepository);
            var feedbackService            = new FeedbackService(feedbackRepository);
            var reviewService              = new ReviewService(reviewRepository);
            var employeeService            = new EmployeeService(secretaryRepository, doctorRepository);
            var authenticationService      = new AuthenticationService(employeeService, patientService);
            var secretaryService           = new SecretaryService(secretaryRepository);
            var inventoryManagementService = new InventoryManagementService(inventoryManagementRepository);
            var orderService               = new OrderService(orderRepository);
            var anamnesisService           = new AnamnesisService(anamnesisRepository);
            var propositionService         = new PropositionService(propositionRepository);
            var approvalService            = new ApprovalService(approvalRepository);

            // Controllers
            PatientController           = new PatientController(patientService, patientConverter, guestConverter);
            GuestController             = new GuestController(guestService, guestConverter);
            AddressController           = new AddressController(addressService, addressConverter);
            MedicineController          = new MedicineController(medicineService, medicineConverter);
            QuestionController          = new QuestionController(questionService, questionConverter, patientConverter);
            MedicalConsumableController = new MedicalConsumableController(medicalConsumableService, medicalConsumableConverter);
            AuthenticationController    = new AuthenticationController();
            ReportController            = new ReportController(reportConverter);
            PrescriptionController      = new PrescriptionController(prescriptionService, prescriptionConverter);
            EquipmentController         = new EquipmentController(equipmentService, equipmentConverter);

            MedicalAppointmentController = new MedicalAppointmentController(
                medicalAppointmentService,
                medicalAppointmentConverter,
                doctorConverter,
                roomConverter
                );

            RoomController                = new RoomController(roomService, roomConverter);
            RenovationController          = new RenovationController(renovationService, renovationConverter);
            FeedbackController            = new FeedbackController(feedbackService, feedbackConverter);
            ReviewController              = new ReviewController(reviewService, reviewConverter);
            SecretaryController           = new SecretaryController(secretaryService, secretaryConverter);
            InventoryManagementController = new InventoryManagementController(inventoryManagementService, inventoryManagementConverter);
            OrderController               = new OrderController(orderService, orderConverter);
            DoctorController              = new DoctorController(doctorService, doctorConverter);
            AnamnesisController           = new AnamnesisController(anamnesisService, anamnesisConvertor);
            PropositionController         = new PropositionController(propositionService, propositionConverter);

            // Generators
            SecretaryAppointmentReportGenerator = new SecretaryAppointmentReportGenerator(REPORT_APPOINTMENT_FILEPATH);
            PatientAppointmentReportGenerator   = new PatientAppointmentReportGenerator(REPORT_APPOINTMENT_FILEPATH);
            PrescriptionReportGenerator         = new PrescriptionReportGenerator(REPORT_PRESCRIPTION_FILEPATH);
            DoctorsAppointmentReport            = new DirectorReportGenerator(REPORT_DOCTOR_APPOINTMENTS_FILEPATH, doctorRepository, medicalAppointmentRepository);
            MedicineReportGenerator             = new MedicineReportGenerator(REPORT_MEDICINE_FILEPATH, medicineRepository);


            Synchronise(RenovationController);
        }
Exemplo n.º 31
0
 public HomeController(NorthwindDbContext context, ICompositeViewEngine compositeViewEngine) : base(compositeViewEngine)
 {
     _orderRepository        = new OrdersRepository(context);
     _orderDetailsRepository = new OrderDetailsRepository(context);
     _customersRepository    = new CustomersRepository(context);
 }
 public OrderRepository()
 {
     orderDetailsRepository = new OrderDetailsRepository();
     productRepository      = new ProductRepository();
     shoppingCartRepository = new ShoppingCartRepository();
 }