Ejemplo n.º 1
0
        /// <summary>
        /// Remove Lease contract
        /// </summary>

        private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            if (leaseContractDataGrid.SelectedItem == null)
            {
                return;
            }

            if (MessageBox.Show("Точно хотите удалить?", "Удалить?", MessageBoxButton.YesNo) == MessageBoxResult.No)
            {
                return;
            }

            MWViewContract      mWViewContract = leaseContractDataGrid.SelectedItem as MWViewContract;
            LeaseContract       leaseContract  = dataBaseAC.LeaseContracts.Find(mWViewContract.OrderId);
            List <OrderProduct> orderProducts  = dataBaseAC.OrderProducts.Where(op => op.Order_id == mWViewContract.OrderId).ToList();

            foreach (OrderProduct orderProduct in orderProducts)
            {
                dataBaseAC.Products.Find(orderProduct.Product_id).Count += orderProduct.Count;
            }
            List <Payment> payments = dataBaseAC.Payments.Where(p => p.Order_id == mWViewContract.OrderId).ToList();

            dataBaseAC.LeaseContracts.Remove(leaseContract);
            dataBaseAC.OrderProducts.RemoveRange(orderProducts);
            dataBaseAC.Payments.RemoveRange(payments);
            dataBaseAC.SaveChanges();
            GetDbToDataGrid();
        }
Ejemplo n.º 2
0
        private void returnOrder(MWViewContract mWViewContract)
        {
            ReturnOrder returnOrder = new ReturnOrder(dataBaseAC, mWViewContract);

            if (returnOrder.ShowDialog() == true)
            {
                LeaseContract leaseContract = dataBaseAC.LeaseContracts.Find(mWViewContract.OrderId);

                if (mWViewContract.Sum < 0 || !returnOrder.IsAllProductReturned)
                {
                    ReturnedLeaseContract returnedLeaseContract = new ReturnedLeaseContract();
                    returnedLeaseContract.Order_id         = leaseContract.Id;
                    returnedLeaseContract.Client_id        = leaseContract.Client_id;
                    returnedLeaseContract.Contract_id      = leaseContract.Contract_id;
                    returnedLeaseContract.Paid_amount      = leaseContract.Paid_amount;
                    returnedLeaseContract.Price_per_day    = leaseContract.Price_per_day;
                    returnedLeaseContract.Delivery_amount  = leaseContract.Delivery_amount;
                    returnedLeaseContract.Delivery_address = leaseContract.Delivery_address;
                    returnedLeaseContract.Used_days        = leaseContract.Used_days;
                    returnedLeaseContract.Create_datetime  = leaseContract.Create_datetime;
                    returnedLeaseContract.Return_datetime  = returnOrder.ReturnTimeSpan;
                    returnedLeaseContract.Close_datetime   = leaseContract.Close_datetime;
                    dataBaseAC.ReturnedLeaseContracts.Add(returnedLeaseContract);
                }
                else
                {
                    ArchiveLeaseContract archiveLeaseContract = new ArchiveLeaseContract();
                    archiveLeaseContract.Order_id         = leaseContract.Id;
                    archiveLeaseContract.Client_id        = leaseContract.Client_id;
                    archiveLeaseContract.Contract_id      = leaseContract.Contract_id;
                    archiveLeaseContract.Paid_amount      = leaseContract.Paid_amount;
                    archiveLeaseContract.Price_per_day    = leaseContract.Price_per_day;
                    archiveLeaseContract.Delivery_amount  = leaseContract.Delivery_amount;
                    archiveLeaseContract.Delivery_address = leaseContract.Delivery_address;
                    archiveLeaseContract.Used_days        = leaseContract.Used_days;
                    archiveLeaseContract.Create_datetime  = leaseContract.Create_datetime;
                    archiveLeaseContract.Return_datetime  = returnOrder.ReturnTimeSpan;
                    archiveLeaseContract.Close_datetime   = returnOrder.ReturnTimeSpan;
                    dataBaseAC.ArchiveLeaseContracts.Add(archiveLeaseContract);
                }

                foreach (ReturnProduct returnProduct in returnOrder.ReturnProducts)
                {
                    dataBaseAC.Products.Find(returnProduct.Product_id).Count += returnProduct.Count;
                }
                dataBaseAC.ReturnProducts.AddRange(returnOrder.ReturnProducts);

                dataBaseAC.LeaseContracts.Remove(leaseContract);
                dataBaseAC.SaveChanges();
                GetDbToDataGrid();
            }
        }
Ejemplo n.º 3
0
        public LeaseContractEditor(LeaseContract lc, ApplicationContext dbAC)
        {
            InitializeComponent();
            LeaseContract = lc;
            dataBaseAC    = dbAC;
            int maxContId = 1;

            //LeaseContract.Contract_id = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + 'N' + (dataBaseAC.LeaseContracts.Local.Max(l => l.Id) + 1).ToString();
            if (dataBaseAC.LeaseContracts.Count() > 0)
            {
                maxContId = Math.Max((dataBaseAC.LeaseContracts.Max(c => c.Id) + 1), maxContId);
            }
            if (dataBaseAC.ArchiveLeaseContracts.Count() > 0)
            {
                maxContId = Math.Max((dataBaseAC.ArchiveLeaseContracts.Max(c => c.Order_id) + 1), maxContId);
            }
            if (dataBaseAC.ReturnedLeaseContracts.Count() > 0)
            {
                maxContId = Math.Max((dataBaseAC.ReturnedLeaseContracts.Max(c => c.Order_id) + 1), maxContId);
            }

            LeaseContract.Contract_id = maxContId.ToString();

            this.DataContext = LeaseContract;


            //Height = SystemParameters.PrimaryScreenHeight / 1.5;
            //Width = SystemParameters.PrimaryScreenWidth / 3.84;

            foreach (LeaseContract leaseContract in dataBaseAC.LeaseContracts.ToList())
            {
                if (leaseContract.Delivery_address != null)
                {
                    _addressSuggestions.Add(leaseContract.Delivery_address);
                }
            }
            foreach (ArchiveLeaseContract archiveLeaseContract in dataBaseAC.ArchiveLeaseContracts.ToList())
            {
                if (archiveLeaseContract.Delivery_address != null)
                {
                    _addressSuggestions.Add(archiveLeaseContract.Delivery_address);
                }
            }
            foreach (ReturnedLeaseContract returnedLeaseContract in dataBaseAC.ReturnedLeaseContracts.ToList())
            {
                if (returnedLeaseContract.Delivery_address != null)
                {
                    _addressSuggestions.Add(returnedLeaseContract.Delivery_address);
                }
            }
        }
Ejemplo n.º 4
0
        /// Make payment
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            if (leaseContractDataGrid.SelectedItem == null)
            {
                return;
            }
            MWViewContract mWViewContract = leaseContractDataGrid.SelectedItem as MWViewContract;
            MakePayment    makePayment    = new MakePayment(mWViewContract.OrderId);

            if (makePayment.ShowDialog() == true)
            {
                Payment payment = makePayment.Payment;
                dataBaseAC.Payments.Add(payment);
                LeaseContract leaseContract = dataBaseAC.LeaseContracts.Find(mWViewContract.OrderId);
                leaseContract.Paid_amount            += payment.Amount;
                dataBaseAC.Entry(leaseContract).State = EntityState.Modified;
                dataBaseAC.SaveChanges();
            }
            GetDbToDataGrid();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Add new Lease contract
        /// </summary>

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //if (dataBaseAC.LeaseContracts.Count() == 0)
            //    dataBaseAC.LeaseContracts.Add(new LeaseContract() { Contract_id = "0", Client_id = 0 });
            LeaseContractEditor leaseContractEditor = new LeaseContractEditor(new LeaseContract(), dataBaseAC);

            if (leaseContractEditor.ShowDialog() == true)
            {
                LeaseContract leaseContract = leaseContractEditor.LeaseContract;
                dataBaseAC.LeaseContracts.Add(leaseContract);
                dataBaseAC.SaveChanges();

                foreach (OrderProduct op in leaseContractEditor.NewOrderProducts)
                {
                    op.Order_id = leaseContract.Id;
                    dataBaseAC.OrderProducts.Add(op);
                }

                dataBaseAC.SaveChanges();
            }

            GetDbToDataGrid();
        }
Ejemplo n.º 6
0
        private void FillData()
        {
            Client client = new Client();

            List <OrderProduct>         orderProducts         = new List <OrderProduct>();
            OrderProduct                orderProduct          = new OrderProduct();
            List <OtherProductListItem> otherProductListItems = new List <OtherProductListItem>();
            OtherProductListItem        otherProductListItem  = new OtherProductListItem();

            List <Payment>         payments         = new List <Payment>();
            List <PaymentListItem> paymentListItems = new List <PaymentListItem>();
            PaymentListItem        paymentListItem;

            switch (selectedContract.OrderStatus)
            {
            case 0:    /// New contracts
                LeaseContract selectedLeaseContract = dataBaseAC.LeaseContracts.Find(selectedContract.OrderId);
                client   = dataBaseAC.Clients.Find(selectedLeaseContract.Client_id);
                payments = dataBaseAC.Payments.Where(p => p.Order_id == selectedLeaseContract.Id).ToList();

                creationDateTimeLbl.Content = UnixTimeStampToDateTime(selectedLeaseContract.Create_datetime).ToShortDateString();
                if (selectedLeaseContract.Return_datetime > 0)
                {
                    returnDateTimeLbl.Content = UnixTimeStampToDateTime(selectedLeaseContract.Return_datetime).ToShortDateString();
                }

                this.DataContext = selectedLeaseContract;
                break;

            case 1:    /// Returned lease contracts
                ReturnedLeaseContract returnedLeaseContract = dataBaseAC.ReturnedLeaseContracts.Where(r => r.Order_id == selectedContract.OrderId).FirstOrDefault();
                client   = dataBaseAC.Clients.Find(returnedLeaseContract.Client_id);
                payments = dataBaseAC.Payments.Where(p => p.Order_id == returnedLeaseContract.Order_id).ToList();

                creationDateTimeLbl.Content = UnixTimeStampToDateTime(returnedLeaseContract.Create_datetime).ToShortDateString();
                if (returnedLeaseContract.Return_datetime > 0)
                {
                    returnDateTimeLbl.Content = UnixTimeStampToDateTime(returnedLeaseContract.Return_datetime).ToShortDateString();
                }

                this.DataContext = returnedLeaseContract;
                break;

            case 2:    /// Closed contracts
                ArchiveLeaseContract archiveLeaseContract = dataBaseAC.ArchiveLeaseContracts.Where(c => c.Order_id == selectedContract.OrderId).FirstOrDefault();
                client   = dataBaseAC.Clients.Find(archiveLeaseContract.Client_id);
                payments = dataBaseAC.Payments.Where(p => p.Order_id == archiveLeaseContract.Order_id).ToList();


                creationDateTimeLbl.Content = UnixTimeStampToDateTime(archiveLeaseContract.Create_datetime).ToShortDateString();
                if (archiveLeaseContract.Return_datetime > 0)
                {
                    returnDateTimeLbl.Content = UnixTimeStampToDateTime(archiveLeaseContract.Return_datetime).ToShortDateString();
                }

                this.DataContext = archiveLeaseContract;
                break;
            }

            clientFIOLbl.Content          = client.Surname + " " + client.Name + " " + client.Middle_name;
            clientPhoneNumberLbl.Content  = client.Phone_number;
            clientPassNumberLbl.Content   = client.Pass_number;
            clientPhoneNumber2Lbl.Content = client.Phone_number2;
            clientAddressLbl.Content      = client.Address;
            orderDaysLbl.Content          = selectedContract.UsedDays;

            orderProducts = dataBaseAC.OrderProducts.Where(op => op.Order_id == selectedContract.OrderId).ToList();
            foreach (OrderProduct op in orderProducts)
            {
                otherProductListItem       = new OtherProductListItem();
                otherProductListItem.Name  = dataBaseAC.Products.Find(op.Product_id).Name;
                otherProductListItem.Count = op.Count;
                otherProductListItem.Price = op.Count * op.Price;
                if (dataBaseAC.ReturnProducts.Where(rp => rp.Order_id == op.Order_id && rp.Product_id == op.Product_id).FirstOrDefault() != null)
                {
                    otherProductListItem.Return_count = dataBaseAC.ReturnProducts.Where(rp => rp.Order_id == op.Order_id && rp.Product_id == op.Product_id).FirstOrDefault().Count;
                }
                otherProductListItems.Add(otherProductListItem);
            }
            otherProductListBox.ItemsSource = otherProductListItems;


            foreach (Payment payment in payments)
            {
                paymentListItem             = new PaymentListItem();
                paymentListItem.Amount      = payment.Amount;
                paymentListItem.DateTime    = UnixTimeStampToDateTime(payment.Datetime).ToShortDateString();
                paymentListItem.PaymentType = payment.Payment_type;
                paymentListItems.Add(paymentListItem);
            }
            paymentListBox.ItemsSource = paymentListItems;
        }