示例#1
0
        public List <int> GetAvailableSlipIDs(int dockID)
        {
            var db     = new MarinaEntities();
            var result = new List <int>();
            var myList = new List <int>();

            using (db)
            {
                var query = from slips in db.Slips
                            join docks in db.Docks
                            on slips.DockID equals dockID
                            where !(from l in db.Leases
                                    select l.SlipID)
                            .Contains(slips.ID)
                            select slips.ID;
                foreach (var slip in query)
                {
                    myList.Add(slip);
                }
            }
            result = myList.GroupBy(slip => slip)
                     .Select(grp => grp.First())
                     .ToList();
            return(result);
        }
示例#2
0
        public int GetSlipWidth(int slipID)
        {
            var db    = new MarinaEntities();
            var query = (from slip in db.Slips
                         where slip.ID == slipID
                         select slip.Width).Single();
            int result = Convert.ToInt32(query);

            return(result);
        }
示例#3
0
        public IList GetDocks()
        {
            var db     = new MarinaEntities();
            var result = new List <int>();

            using (db)
            {
                var query = from d in db.Docks
                            select d.ID;
                foreach (var dock in query)
                {
                    result.Add(dock);
                }
            }
            return(result);
        }
示例#4
0
        public void AddLeaseToCust(int custID, int slipID)
        {
            var db    = new MarinaEntities();
            var lease = new Lease();

            lease.CustomerID = custID;
            lease.SlipID     = slipID;
            db.Leases.Add(lease);
            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw e;
            }
        }
        public static Customer Authenticate(string firstName, string lastName)
        {
            Customer sessionCustomer = null;
            var      db       = new MarinaEntities();
            var      customer = db.Customers.SingleOrDefault(cust => cust.FirstName == firstName && cust.LastName == lastName);

            if (customer != null)
            {
                sessionCustomer = new Customer
                {
                    ID        = customer.ID,
                    FirstName = customer.FirstName,
                    LastName  = customer.LastName,
                    City      = customer.City,
                    Phone     = customer.Phone
                };
            }
            return(sessionCustomer);
        }
示例#6
0
        public Slip GetSlip(int dockID, int slipID)
        {
            var db   = new MarinaEntities();
            var slip = new Slip();

            using (db)
            {
                var query = from s in db.Slips
                            where s.ID == slipID && s.DockID == dockID
                            select s;
                foreach (var slip1 in query)
                {
                    slip.Width  = slip1.Width;
                    slip.Length = slip1.Length;
                    slip.DockID = slip1.DockID;
                }
            }
            return(slip);
        }
示例#7
0
        public IList GetLeasesByCustomer(int custID)
        {
            var db     = new MarinaEntities();
            var result = new List <Lease>();

            using (db)
            {
                var query = from c in db.Customers
                            join l in db.Leases
                            on c.ID equals l.CustomerID
                            where c.ID == custID
                            select l;
                foreach (var lease in query)
                {
                    result.Add(lease);
                }
            }
            return(result);
        }
示例#8
0
        public Customer GetCustomerByID(int id)
        {
            var db       = new MarinaEntities();
            var customer = new Customer();

            using (db)
            {
                var query = from c in db.Customers
                            where c.ID == id
                            select c;
                foreach (var cust in query)
                {
                    customer.FirstName = cust.FirstName;
                    customer.LastName  = cust.LastName;
                    customer.City      = cust.City;
                    customer.Phone     = cust.Phone;
                }
            }
            return(customer);
        }
示例#9
0
        public List <int> GetSlipIDs(int dockID)
        {
            var db     = new MarinaEntities();
            var result = new List <int>();

            using (db)
            {
                var query = from slips in db.Slips
                            join docks in db.Docks
                            on slips.DockID equals dockID
                            //where !(from l in db.Leases
                            //        select l.SlipID)
                            //        .Contains(slips.ID)
                            select slips.ID;
                foreach (var slip in query)
                {
                    result.Add(slip);
                }
            }
            return(result);
        }
示例#10
0
        public IList GetAvailableSlips(int dockID)
        {
            var db     = new MarinaEntities();
            var result = new List <Slip>();

            using (db)
            {
                var query = from slips in db.Slips
                            join docks in db.Docks
                            on slips.DockID equals dockID
                            where !(from l in db.Leases
                                    select l.SlipID)
                            .Contains(slips.ID)
                            select slips;
                foreach (var slip in query)
                {
                    result.Add(slip);
                }
            }
            return(result);
        }
示例#11
0
        public bool RegisterUser(Customer cust)
        {
            Validate vl = new Validate();
            var      db = new MarinaEntities();

            if (vl.ValidateCustomer(cust))
            {
                db.Customers.Add(cust);
            }
            else
            {
                return(false);
            }
            try
            {
                db.SaveChanges();
                return(true);
            }
            catch (DbEntityValidationException)
            {
                return(false);
            }
        }
示例#12
0
        public bool ValidateDoesNotExist(string firstName, string lastName)
        {
            var db = new MarinaEntities();
            var existingCustomers = new List <Customer>();

            using (db)
            {
                var query = from cust in db.Customers
                            where cust.FirstName == firstName && cust.LastName == lastName
                            select cust;
                foreach (var c in query)
                {
                    existingCustomers.Add(c);
                }
            }
            if (existingCustomers.Count == 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }