Ejemplo n.º 1
0
 //Legger employee inn i datatbasen
 public bool add(EmployeeModel employeeModel)
 {
     using (var db = new CustomerContext())
     {
         try
         {
             if (!(db.Employees.Find(employeeModel.employeeID) == null))//Hvis employeeModel har personID som finnes fra før
                 return false;
             if (find(employeeModel.username) != null)
                 return false;
             var newEmployee = new Employees()//Opretter ny employee
             {
                 email = employeeModel.username + "@kaffeplaneten.no",
                 firstName = employeeModel.firstName,
                 lastName = employeeModel.lastName,
                 phone = employeeModel.phone,
                 employeeAdmin = employeeModel.employeeAdmin,
                 customerAdmin = employeeModel.customerAdmin,
                 productAdmin = employeeModel.productAdmin,
                 orderAdmin   = employeeModel.orderAdmin,
                 databaseAdmin = employeeModel.databaseAdmin
             };
             newEmployee = db.Employees.Add(newEmployee);
             db.SaveChanges();
             employeeModel.employeeID = newEmployee.personID;//Lagrer personID i modellen for senere bruk
             return true;
         }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
     }//end using
     return false;
 }
Ejemplo n.º 2
0
        public bool Delete(int id)
        {
            using (var db = new CustomerContext())
            {
                try
                {
                    Products slett = (from p in db.Products where p.productID == id select p).Single();
                    db.Products.Remove(slett);
                    db.SaveChanges();
                    return true;

                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
            }
            return false;
        }
Ejemplo n.º 3
0
        //Legger en Users inn i databasen
        public bool add(UserModel userModel)
        {
            using (var db = new CustomerContext())
            {
                try
                {
                    var user = (from u in db.Users
                                where u.username.Equals(userModel.username)
                                select u).FirstOrDefault();
                    if (user != null)
                        return false;
                    user = new Users()
                    {
                        username = userModel.username,
                        password = userModel.passwordHash
                    };
                    user.person = (from c in db.Customers
                                   where c.email.Equals(userModel.username)
                                   select c).SingleOrDefault();
                    if (user.person == null)//tester om Users sin customer finnes
                    {
                        user.person = (from e in db.Employees
                                       where e.email.Equals(userModel.username)
                                       select e).SingleOrDefault();
                        if (user.person == null)//tester om Users sin admin finnes
                        {
                            return false;
                        }
                    }

                    db.Users.Add(user);
                        db.SaveChanges();
                    return true;
                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
                return false;
            }//end using
        }
Ejemplo n.º 4
0
 public bool delete(int id)
 {
     using (var db = new CustomerContext())
     {
         try
         {
             Users delUser = (from u in db.Users where u.personID == id select u).Single();
             Employees delEmployee= (from e in db.Employees where e.personID == id select e).Single();
             db.Users.Remove(delUser);
             db.Employees.Remove(delEmployee);
             //Adress, Orders og ProductOrder slettes automatisk
             db.SaveChanges();
             return true;
         }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
     }
     return false;
 }
Ejemplo n.º 5
0
 //Legger et produkt inn i databasen
 public bool add(ProductModel productModel)
 {
     using (var db = new CustomerContext())
     {
         try
         {
             var product = new Products();
             product.category = productModel.category;
             product.description = productModel.description;
             product.imageURL = productModel.imageURL;
             product.price = productModel.price;
             product.productName = productModel.productName;
             product.stock = productModel.stock;
             db.Products.Add(product);
             db.SaveChanges();
             return true;
         }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
         return false;
     }
 }
Ejemplo n.º 6
0
        /*Legger Orders og ProductOrders inn i databasen. CustomerID og pruductID-ene må være med i modellen*/
        public bool add(OrderModel orderModel)
        {
            using (var db = new CustomerContext())
            {
                try
                {
                    var customer = db.Customers.Find(orderModel.customerID);
                    if (customer == null)//tester om ordren tilhører en eksisterende kunde
                        return false;
                    var order = new Orders();
                    order.Customers = customer;
                    db.Orders.Add(order);
                    db.SaveChanges();
                    orderModel.orderNr = order.orderNr;//lagrer ordrenummeret i modellen for senere bruk
                    return addProductOrders(orderModel);//legger til produkt ordrene

                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
                return false;
            }
        }
Ejemplo n.º 7
0
 //Oppdaterer Users data med dataen i userModel
 public bool update(UserModel userModel)
 {
     using (var db = new CustomerContext())
     {
         try
         {
             var user = db.Users.Find(userModel.ID);
             if (user == null)//tester om brukeren finnes
                 return false;
             user.person = db.Persons.Find(userModel.ID);
             if(!userModel.username.Equals(user.username))
             {
                 var email = (from p in db.Users
                              where p.username.Equals(userModel.username)
                              select p).FirstOrDefault();
                 if (email != null)//tester om epostadressen finnes fra før
                     return false;
                 user.username = userModel.username;
             }
             user.password = null;
             user.password = userModel.passwordHash;
             db.SaveChanges();
             return true;
         }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
         return false;
     }
 }
Ejemplo n.º 8
0
 //Oppdaterer lagerstatur på produkt. Bruker productModel.stock som ny verdi
 public bool updateQuantity(ProductModel productModel)
 {
     using (var db = new CustomerContext())
     {
         try
         {
             var product = (from p in db.Products
                            where p.productID == productModel.productID
                            select p).FirstOrDefault();
             if (product == null)
                 return false;
             if (product.stock < productModel.stock)
                 return false;
             product.stock = productModel.stock;
             db.SaveChanges();
             return true;
         }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
         return false;
     }
 }
Ejemplo n.º 9
0
        public bool update(ProductModel _productModel)
        {
            using (var db = new CustomerContext())
            {
                try
                {
                    var product = db.Products.Find(_productModel.productID);
                    product.productName = _productModel.productName;
                    product.price = _productModel.price;
                    product.imageURL = _productModel.imageURL;
                    product.stock = _productModel.stock;
                    product.category = _productModel.category;
                    product.description = _productModel.description;
                    db.SaveChanges();
                    return true;

                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
            }
            return false;
        }
Ejemplo n.º 10
0
 public bool cancelOrder(int nr)
 {
     using (var db = new CustomerContext())
     {
         try
         {
             var order = db.Orders.Find(nr);
             if (order == null)
                 return false;
             var productOrders = (from p in db.ProductOrders
                                  where p.orderNr == nr
                                  select p).ToList();
             foreach(var po in productOrders)
             {
                 db.Products.Find(po.productID).stock += po.quantity;
                 db.ProductOrders.Remove(po);
             }
             db.Orders.Remove(order);
             db.SaveChanges();
             return true;
         }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
         return false;
     }
 }
Ejemplo n.º 11
0
 /*Legger ProductOrders inn i databasen. OrderNr og pruductID-ene må være med i modellen*/
 private bool addProductOrders(OrderModel orderModel)
 {
     using (var db = new CustomerContext())
         {
         try
         {
             var order = db.Orders.Find(orderModel.orderNr);
             if (order == null)//tester om ordren eksisterer
                 return false;
             var productDAL = new ProductDAL();
             foreach (var p in orderModel.products)//Opretter ProductOrders fra modellen
             {
                 p.stock -= p.quantity;
                 productDAL.updateQuantity(p);
                 var productOrder = new ProductOrders();
                 productOrder.orders = order;
                 productOrder.price = p.price;
                 productOrder.products = db.Products.Find(p.productID);
                 productOrder.quantity = p.quantity;
                 productOrder.price = p.price * p.quantity;
                 db.ProductOrders.Add(productOrder);
             }
             db.SaveChanges();
             return true;
             }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
         return false;
     }
 }
Ejemplo n.º 12
0
        //Legger customer inn i datatbasen
        public bool add(CustomerModel IncCustomer)
        {
            using (var db = new CustomerContext())
            {
                try
                {
                    if (!(db.Customers.Find(IncCustomer.customerID) == null))//Hvis IncCustomer har customerID som finnes fra før
                        return false;
                    if (find(IncCustomer.email) != null)//Tester om eposten er i bruk fra før
                        return false;
                    var newCustomer = new Customers()//Opretter ny customer
                    {
                        email = IncCustomer.email,
                        firstName = IncCustomer.firstName,
                        lastName = IncCustomer.lastName,
                        phone = IncCustomer.phone
                    };
                    newCustomer = db.Customers.Add(newCustomer);
                    db.SaveChanges();
                    IncCustomer.customerID = newCustomer.personID;//Lagrer customerID i modellen for senere bruk
                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                    return false;
                }
            }//end using

            //Legger til adresser
            //Sjekker om adressene er like
            if (IncCustomer.payAdress.Equals(IncCustomer.adress))
            {
                var adressModel = new AdressModel()
                {
                    personID = IncCustomer.customerID,
                    payAdress = true,
                    deliveryAdress = true,
                    zipCode = IncCustomer.zipCode,
                    streetName = IncCustomer.adress,
                    province = IncCustomer.province
                };
                addAdress(adressModel);
            }
            //Ulike adresser
            else
            {
                var newPaymentAdress = new AdressModel()
                {
                    personID = IncCustomer.customerID,
                    payAdress = true,
                    deliveryAdress = false,
                    zipCode = IncCustomer.payZipcode,
                    streetName = IncCustomer.payAdress,
                    province = IncCustomer.payProvince

                };
                addAdress(newPaymentAdress);

                var newAdress = new AdressModel()
                {
                    personID = IncCustomer.customerID,
                    payAdress = false,
                    deliveryAdress = true,
                    zipCode = IncCustomer.zipCode,
                    streetName = IncCustomer.adress,
                    province = IncCustomer.province

                };
                addAdress(newAdress);
            }
            return true;
        }
Ejemplo n.º 13
0
        //Oppdaterer customeren som har customerID lik customerModel.customerID
        public bool update(CustomerModel customerModel)
        {
            using (var db = new CustomerContext())
            {
                try
                {
                    var customer = (from c in db.Customers
                                    where c.personID == customerModel.customerID
                                    select c).FirstOrDefault();
                    if (customer == null)//tester om customeren finnes
                        return false;

                    //Persondataendring:
                    customer.email = customerModel.email;
                    customer.firstName = customerModel.firstName;
                    customer.lastName = customerModel.lastName;
                    customer.phone = customerModel.phone;

                    customer.users.username = customerModel.email;
                    db.SaveChanges();

                    //Adresseendring:
                    var adressModel = new AdressModel();
                    adressModel.personID = customerModel.customerID;
                    adressModel.deliveryAdress = true;
                    adressModel.payAdress = customerModel.sameAdresses;
                    adressModel.province = customerModel.province;
                    adressModel.streetName = customerModel.adress;
                    adressModel.zipCode = customerModel.zipCode;
                    addAdress(adressModel);
                    if (!customerModel.sameAdresses)
                    {
                        adressModel = new AdressModel();
                        adressModel.personID = customerModel.customerID;
                        adressModel.deliveryAdress = false;
                        adressModel.payAdress = true;
                        adressModel.province = customerModel.payProvince;
                        adressModel.streetName = customerModel.payAdress;
                        adressModel.zipCode = customerModel.payZipcode;
                        addAdress(adressModel);
                    }
                    return true;
                }//emd try
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
            }//end using
            return false;
        }
Ejemplo n.º 14
0
 //Legger en province inn i databasen dersom den ikke finnes fra før
 public bool addProvince(AdressModel adress)
 {
     using (var db = new CustomerContext())
     {
         try
         {
             var temp = db.Provinces.Find(adress.zipCode);
             if (temp == null)
             {
                 temp = new Provinces();
                 temp.province = adress.province;
                 temp.zipCode = adress.zipCode;
                 db.Provinces.Add(temp);
                 db.SaveChanges();
                 return true;
             }
             return false;
         }
         catch (Exception ex)
         {
             _logging.logToDatabase(ex);
         }
     }
     return false;
 }
Ejemplo n.º 15
0
        //Legger til ny adresse for bruker med customerID==adressModel.customerID. Alle felter unntatt adressID må være fylt ut
        public bool addAdress(AdressModel adressModel)
        {
            var adressesList = new List<Adresses>();
            if (adressModel.payAdress)//Lager ny betalingsadresse
            {
                var temp = new Adresses();
                temp.payAdress = true;
                temp.deliveryAdress= false;
                temp.streetName = adressModel.streetName;
                temp.zipCode = adressModel.zipCode;
                adressesList.Add(temp);
            }
            if (adressModel.deliveryAdress)//lager ny leveringsadresse
            {
                var temp = new Adresses();
                temp.payAdress = false;
                temp.deliveryAdress = true;
                temp.streetName = adressModel.streetName;
                temp.zipCode = adressModel.zipCode;
                adressesList.Add(temp);
            }
            using (var db = new CustomerContext())
            {
                try
                {
                    /*******************Kan fjernes hvis støtte for mer enn to adresser implementeres***********************/
                    //Fjerner betalingsadresse og/eller leveringsadresse fra databasen dersom ny adresse er av samme type
                    var adresses = (from a in db.Adresses
                                    where a.personID == adressModel.personID
                                    select a).ToList();

                    foreach (var a in adresses)
                        foreach (var am in adressesList)
                            if (a.deliveryAdress == am.deliveryAdress && a.payAdress == am.payAdress)
                                db.Adresses.Remove(a);
                    /*******************************************************************************************************/
                    foreach (var a in adressesList)//Legger adressene inn i databasen
                    {
                        addProvince(adressModel);
                        a.province = db.Provinces.Find(adressModel.zipCode);
                        a.person = db.Customers.Find(adressModel.personID);
                        db.Adresses.Add(a);
                    }
                    db.SaveChanges();
                    return true;
                }
                catch (Exception ex)
                {
                    _logging.logToDatabase(ex);
                }
                return false;
            }
        }