예제 #1
0
        public void FindPurchaseTest()
        {
            Vehicle v1 = new Vehicle();

            VehicleControl.AddVehicle(v1);
            int      key = v1.PrimaryKey;
            Purchase p1  = PurchaseControl.FindPurchase(key);

            Assert.IsNull(p1);
            p1           = new Purchase();
            p1.VehicleID = key;
            Customer c1 = DBController.GetAllRecords <Customer>().FirstOrDefault();

            p1.CustomerID = c1.PrimaryKey;
            PurchaseControl.AddPurchase(p1);
            Purchase p2 = PurchaseControl.FindPurchase(key);

            Assert.IsNotNull(p2);
        }
예제 #2
0
        /// <summary>
        /// Enter button <seealso cref="Admin"/> presses after entering
        /// <seealso cref="Vehicle"/> ID.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            errorLabel.Visible   = false;
            errorLabel.ForeColor = Color.Crimson;
            int     vehicleID = (Int32)returnCarID.Value;
            Vehicle vehicle   = DBController.GetByPrimaryKey <Vehicle>(vehicleID);

            if (vehicle != null)
            {
                if (vehicle.IsRented)
                {
                    Purchase p = PurchaseControl.FindPurchase(vehicleID);
                    if (p != null)
                    {
                        setLabel(LabelType.Purchase);
                        return;
                    }
                    vehicle.IsRented = false;
                    DBController.Save(vehicle, DBObject.SaveTypes.Update);
                    Rental r = DBController.GetAllRecords <Rental>().Where(rent =>
                                                                           rent.VehicleID == vehicle.VehicleID &&
                                                                           rent.Active == true).FirstOrDefault();
                    if (r == null)
                    {
                        setLabel(LabelType.Return);
                    }
                    r.Active  = false;
                    r.Comment = commentTB.Text;
                    DBController.Save(r, DBObject.SaveTypes.Update);
                    setLabel(LabelType.Success);
                }
                else
                {
                    setLabel(LabelType.NoRent);
                }
            }
            else
            {
                setLabel(LabelType.NoData);
            }
        }