コード例 #1
0
        public static int Registe(string firstName, string lastName, string phone, string city)
        {
            int ID = -1;

            //check if the customer already existing
            Customers.ForEach(c =>
            {
                ID = (c.FirstName == firstName && c.LastName == lastName) ? c.ID : ID;
            });

            //new customer, create record and return new ID.
            if (ID == -1)
            {
                Customer newCus = new Customer()
                {
                    FirstName = firstName,
                    LastName  = lastName,
                    Phone     = phone,
                    City      = city
                };
                try
                {
                    ID = GenericDB.GenericInsert <Customer>("Customer", newCus);
                } catch (Exception ex)
                {
                    throw new Exception(ex.Message, ex);
                }
            }


            return(ID);
        }
コード例 #2
0
        /// <summary>
        /// Find available slips
        /// </summary>
        /// <returns></returns>
        public static List <Slip> AvailSlips()
        {
            List <Lease> Leases = null;

            try
            {
                Leases = GenericDB.GenericRead <Lease>("Lease");
            }
            catch (Exception)
            {
                throw;
            }

            availSlips = new List <Slip>(Slips);
            foreach (Slip s in Slips)
            {
                foreach (Lease l in Leases)
                {
                    if (s.ID == l.SlipID)
                    {
                        availSlips.Remove(s);
                    }
                }
            }
            return(availSlips);
        }
コード例 #3
0
 private void LoadData()
 {
     //get data from DB and bound it to GridView
     Orders       = GenericDB.GenericRead <Orders>("Orders");
     OrderDetails = GenericDB.GenericRead <OrderDetails>("[Order Details]");
     ordersDataGridView.DataSource = Orders;
     ordersDataGridView.Refresh();
 }
コード例 #4
0
 static DockManager()
 {
     try
     {
         Docks = GenericDB.GenericRead <Dock>("Dock");
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #5
0
 static LeaseManager()
 {
     try
     {
         Leases = GenericDB.GenericRead <Lease>("Lease");
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #6
0
 /// <summary>
 /// get all Slips
 /// </summary>
 static SlipManager()
 {
     try
     {
         Slips = GenericDB.GenericRead <Slip>("Slip");
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #7
0
 static CustomerManager()
 {
     try
     {
         Customers = GenericDB.GenericRead <Customer>("Customer");
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #8
0
        /// <summary>
        /// add new lease to DB
        /// </summary>
        /// <param name="customerID"></param>
        /// <param name="slipId"></param>
        public static void addLease(int customerID, int slipId)
        {
            Lease newLease = new Lease()
            {
                CustomerID = customerID,
                SlipID     = slipId,
            };

            try
            {
                GenericDB.GenericInsert <Lease>("Lease", newLease);
                Leases = GenericDB.GenericRead <Lease>("Lease");//Static Leases, so need update Leases after each insert.
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
        }
コード例 #9
0
        /// <summary>
        /// DataSource for Lese History
        /// </summary>
        /// <param name="customerId"></param>
        /// <returns></returns>
        public static List <Lease> LeaseHistory(int customerId)
        {
            List <Lease> tempLeases = new List <Lease>();

            try
            {
                Leases = GenericDB.GenericRead <Lease>("Lease");//read again in case concurrency inserted
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
            foreach (Lease l in Leases)
            {
                if (l.CustomerID == customerId)
                {
                    tempLeases.Add(l);
                }
            }
            return(tempLeases);
        }
コード例 #10
0
        static void Main(string[] args)
        {
            GenericDB <Shape> .Shapes.Add(new Circle()
            {
                Id = 1, Radius = 2.5
            });

            GenericDB <Shape> .Shapes.Add(new Rectangle()
            {
                Id = 2, SideA = 3.6, SideB = 1.4
            });

            foreach (Shape shape in GenericDB <Shape> .Shapes)
            {
                shape.PrintInfo();
            }
            GenericDB <Shape> .PrintAreas();

            GenericDB <Shape> .PrintPerimeters();



            Console.ReadLine();
        }
コード例 #11
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            DateTime?newShippedDate;
            DateTime notNullShippedDate;             //notNull Date used in not null situation

            if (mtxtBoxShippedDate.Text == "  -  -") //empty input for masked textbox
            {
                newShippedDate = null;
            }
            else //user inputted Date in maskedbox
            {
                if (!DateTime.TryParse(mtxtBoxShippedDate.Text, out notNullShippedDate))
                {
                    //not valid input
                    MessageBox.Show(mtxtBoxShippedDate.Text + "Invalid Input, please input MM/DD/YYYY");
                    mtxtBoxShippedDate.Text = "";
                    return;
                }
                newShippedDate = notNullShippedDate;
                DateTime?orderDate    = selectedOrder.OrderDate;
                DateTime?requiredDate = selectedOrder.RequiredDate;
                //validate newShipped Date with orderDate
                if (orderDate != null && newShippedDate < orderDate)
                {
                    MessageBox.Show("Error! Shipped Date:" + notNullShippedDate.ToShortDateString() + " is ealier than OrderDate");
                    mtxtBoxShippedDate.Text = "";
                    mtxtBoxShippedDate.Select();
                    return;
                }
                //Validate newShipped Date with requiredDate
                if (requiredDate != null && newShippedDate > requiredDate)
                {
                    MessageBox.Show("Error! Shipped Date:" + notNullShippedDate.ToShortDateString() + " is later than Required Date");
                    mtxtBoxShippedDate.Text = "";
                    mtxtBoxShippedDate.Select();
                    return;
                }
            }


            //good date
            //Orders oldSelectedOrder = selectedOrder; This is horrible wrong, reference type!
            Orders oldSelectedOrder = new Orders(selectedOrder.OrderID, selectedOrder.CustomerID, selectedOrder.OrderDate, selectedOrder.RequiredDate, selectedOrder.ShippedDate);

            selectedOrder.ShippedDate = newShippedDate;


            //commit to DB
            try
            {
                if (GenericDB.GenericUpdate <Orders>("Orders", oldSelectedOrder, selectedOrder) != 1)
                {
                    MessageBox.Show("Data changed while you are editing, Please refresh and try again!");
                    LoadData();
                }
                else
                {
                    //succeed,refresh Data

                    LoadData();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }