Beispiel #1
0
 public static void Main(string[] args)
 {
     using (FuelContext db = new FuelContext())
     {
         DbInitializer.Initialize(db);
         //Выполняем разные методы, содержащие операции выборки и изменения данных
         Console.WriteLine("====== Будет выполнена выборка данных (нажмите любую клавишу) ========");
         Console.ReadKey();
         Select(db);
         Console.WriteLine("====== Будет выполнена вставка данных (нажмите любую клавишу) ========");
         Console.ReadKey();
         Insert(db);
         Console.WriteLine("====== Выборка после вставки ========");
         Select(db);
         Console.WriteLine("====== Будет выполнено обновление данных (нажмите любую клавишу) ========");
         Console.ReadKey();
         Update(db);
         Console.WriteLine("====== Выборка после обновления ========");
         Select(db);
         Console.WriteLine("====== Будет выполнено удаление данных (нажмите любую клавишу) ========");
         Console.ReadKey();
         Delete(db);
         Console.WriteLine("====== Выборка после удаления ========");
         Select(db);
     }
     Console.Read();
 }
Beispiel #2
0
        static void Delete(FuelContext db)
        {
            //подлежащие удалению записи в таблице Tanks
            string nametank = "Бочка1";
            var    tank     = db.Tanks.Where(c => c.TankType == nametank);

            //подлежащие удалению записи в таблице Fuels
            string namefuel = "Нитроглицерин1";
            var    fuel     = db.Fuels
                              .Where(c => c.FuelType == namefuel);

            //подлежащие удалению записи в связанной таблице Operations
            var someOperations = db.Operations
                                 .Include("Tank")
                                 .Include("Fuel")
                                 .Where(o => ((o.Tank.TankType == nametank)) && (o.Fuel.FuelType == namefuel));

            //Удаление нескольких записей в таблице Operations
            db.Operations.RemoveRange(someOperations);
            // сохранить изменения в базе данных
            db.SaveChanges();

            //Удаление нескольких записей в таблице Tanks и в таблице Fuels
            db.Tanks.RemoveRange(tank);
            db.Fuels.RemoveRange(fuel);

            // сохранить изменения в базе данных
            db.SaveChanges();
        }
        private void GetDriverTransportDatas()
        {
            try
            {
                ChargeDataModels = new List <ChargeDataModel>();
                using (var context = new FuelContext())
                {
                    ChargeDataModels = (from wayBill in context.WayBills
                                        join driverTransport in context.DriverTransports on wayBill.Id equals driverTransport.WayBillId
                                        join drivers in context.Drivers on driverTransport.DriverId equals drivers.Id
                                        join transport in context.TransportVehicles on driverTransport.TransportId equals transport.Id
                                        join fuels in context.Fuels on driverTransport.FuelId equals fuels.Id

                                        where wayBill.IsRegistered != true

                                        select new ChargeDataModel
                    {
                        DepartmentDate = wayBill.DepartmentDate,
                        DepartmentPlace = wayBill.DepartmentPlace,
                        Driver = drivers.Surname + " " + drivers.Name + " " + drivers.MiddleName,
                        FuelForCharge = wayBill.FuelLimit,
                        FuelMark = fuels.FuelMark,
                        Price = fuels.Price,
                        ServiceNamber = drivers.ServiceNumber,
                        Transport = transport.Transport,
                        TransportNamber = transport.TransportNumber,
                        WayBillId = wayBill.Id,
                        WayBillNumber = wayBill.WayBillNumber
                    }).ToList();
                }
                RaisePropertyChanged(nameof(ChargeDataModels));
            }
            catch (Exception ex) { ShowMessageWindow("Ошибка", ex.Message, MessageEnums.Error); }
        }
Beispiel #4
0
        public MainPresenter(IMainView view)
        {
            _db     = new PaymentContext();
            _fuelDb = new FuelContext();

            _view = view;

            _view.ButtonAddClicked += ButtonAddClicked;
            _view.ComboBoxFuelsSelectedIndexChanged += ComboBoxFuelsSelectedIndexChanged;
            _view.RadioButtonLiterCheckedChanged    += RadioButtonLiterCheckedChanged;
            _view.RadioButtonPriceCheckedChanged    += RadioButtonPriceCheckedChanged;
            _view.ButtonClearClicked          += ButtonClearClicked;
            _view.ButtonLoadClicked           += ButtonLoadClicked;
            _view.TextBoxFuelLiterTextChanged += TextBoxFuelLiterTextChanged;
            _view.TextBoxFuelPriceTextChanged += TextBoxFuelPriceTextChanged;
            _view.PanelFormTopMouseDown       += PanelFormTopMouseDown;
            _view.PanelFormTopMouseMove       += PanelFormTopMouseMove;
            _view.PanelFormTopMouseUp         += PanelFormTopMouseUp;
            _view.PictureBoxCloseMouseEnter   += PictureBoxCloseMouseEnter;
            _view.PictureBoxCloseMouseLeave   += PictureBoxCloseMouseLeave;
            _view.PictureBoxCloseMouseClick   += PictureBoxCloseMouseClick;
            _view.ButtonRemoveClicked         += ButtonRemoveClicked;
            _view.TextBoxKeyPress             += TextBoxKeyPress;
            _view.TextBoxHandleText           += TextBoxHandleText;

            _view.Fuels = _fuelDb.Fuels.ToList();
        }
Beispiel #5
0
        static void Update(FuelContext db)
        {
            //подлежащие обновлению записи в таблице Tanks
            string nametank = "Бочка";
            var    tank     = db.Tanks.Where(c => c.TankType == nametank).FirstOrDefault();

            //обновление
            if (tank != null)
            {
                tank.TankType     = "Бочка1";
                tank.TankMaterial = "Дерево1";
            }
            ;

            //подлежащие обновлению записи в таблице Fuels
            string namefuel = "Нитроглицерин";
            var    fuel     = db.Fuels.Where(c => c.FuelType == namefuel).FirstOrDefault();

            //обновление
            if (fuel != null)
            {
                fuel.FuelType = "Нитроглицерин1";
            }
            ;

            //подлежащие обновлению записи в связанной таблице Operations
            var someOperations = db.Operations.Include("Tank").Include("Fuel")
                                 .Where(o => ((o.Tank.TankType == nametank)) && (o.Fuel.FuelType == namefuel));

            //обновление
            if (someOperations != null)
            {
                foreach (var op in someOperations)
                {
                    op.Inc_Exp = 0;
                }
                ;
            }

            // сохранить изменения в базе данных
            db.SaveChanges();
        }
Beispiel #6
0
        static void Insert(FuelContext db)
        {
            // Создать новую емкость
            Tank tank = new Tank
            {
                TankType     = "Бочка",
                TankMaterial = "Дерево",
                TankVolume   = 30,
                TankWeight   = 100
            };
            // Создать новый вид топлива
            Fuel fuel = new Fuel
            {
                FuelType    = "Нитроглицерин",
                FuelDensity = 3
            };

            // Добавить в DbSet
            db.Tanks.Add(tank);
            db.Fuels.Add(fuel);
            // Сохранить изменения в базе данных
            db.SaveChanges();

            // Создать новую операцию
            Operation operation = new Operation
            {
                TankID  = tank.TankID,
                FuelID  = fuel.FuelID,
                Inc_Exp = 1000,
                Date    = DateTime.Now
            };

            // Добавить в DbSet
            db.Operations.Add(operation);
            // Сохранить изменения в базе данных
            db.SaveChanges();
        }
Beispiel #7
0
        static void Select(FuelContext db)
        {
            // Определение LINQ запроса 1
            var queryLINQ1 = from f in db.Operations
                             join t in db.Fuels
                             on f.FuelID equals t.FuelID
                             where (f.Inc_Exp > 0 && f.Date.Year == 2016)
                             orderby f.FuelID descending
                             select new
            {
                Код_операции     = f.OperationID,
                Название_топлива = t.FuelType,
                Приход_Расход    = f.Inc_Exp,
                Месяц            = f.Date.Month
            };

            //то же, используя методы расширений
            //var queryLINQ1 = db.Operations.Where(f => (f.Inc_Exp > 0 && f.Date.Value.Year == 2016))
            //.OrderBy(f => f.FuelID)
            //.Join(db.Fuels, f => f.FuelID, t => t.FuelID, (f, t) => new { f.OperationID, t.FuelType, f.Inc_Exp, f.Date.Value.Month });

            string comment = "1. Результат выполнения запроса на выборку отсортированных записей из двух таблиц, удовлетворяющих заданному условию : \r\n";

            //для наглядности выводим не более 5 записей
            Print(comment, queryLINQ1.Take(5).ToList());

            // Определение LINQ запроса 2
            var queryLINQ2 = from o in db.Operations
                             where (o.Inc_Exp > 0 && o.Date.Year == 2016)
                             group o.Inc_Exp by o.FuelID into gr
                             select new
            {
                Код_топлива        = gr.Key,
                Количество_топлива = gr.Sum()
            };

            //то же, используя методы расширений:
            //var queryLINQ2 = db.Operations.Where(o => ((o.Inc_Exp > (Single?)0) && (o.Date.Value.Year == 2016)))
            //    .GroupBy(o => o.FuelID, o => o.Inc_Exp)
            //    .Select(gr => new
            //    {
            //        Код_топлива = gr.Key,
            //        Количества_топлива = gr.Sum()
            //    }
            //     );

            comment = "2. Результат выполнения запроса на выборку сгруппированных записей из одной таблицы, удовлетворяющих заданному условию, с выполнением групповой операции суммирования : \r\n";
            //для наглядности выводим не более 5 записей
            Print(comment, queryLINQ2.Take(5).ToList());

            // Определение LINQ запроса 3
            var queryLINQ3 = from t in db.Tanks
                             orderby t.TankID descending
                             select new
            {
                Название_Емкости = t.TankType,
                Материал_Емкости = t.TankMaterial,
                Объем_Емкости    = t.TankVolume,
                Вес = t.TankWeight
            };

            comment = "3. Результат выполнения запроса на выборку записей из одной таблицы с выводом определенных полей: \r\n";
            //для наглядности выводим не более 5 записей
            Print(comment, queryLINQ3.Take(5).ToList());
        }
Beispiel #8
0
 public UnitOfWork(FuelContext context)
 {
     _context = context;
 }
Beispiel #9
0
 public FuelService(FuelContext context)
 {
     _context = context;
 }
Beispiel #10
0
 public CostService(FuelContext context)
 {
     _context = context;
 }