public void AddOrder(DTO.OrderDto currentOrder, DTO.CustomerDto currentCustomer)
        {
            var db          = new PapaBobEntities();
            var dbOrders    = db.Orders;
            var dbCustomers = db.Customers;

            var newOrder = new Persistence.Order();

            CreateNewOrder(currentOrder, out newOrder);

            var dbCustomersList         = db.Customers.ToList();
            var check_if_customer_exits = CustomerRepository.CustomerExists(dbCustomersList, currentCustomer);

            if (!check_if_customer_exits)
            {
                var newCustomer = new Customer();
                newCustomer          = CustomerRepository.CreateNewCustomer(currentCustomer);
                newOrder.customer_id = newCustomer.customer_id;
                var tempAmountOwing = currentOrder.payment_type != DTO.Enums.PaymentType.Cash ? currentOrder.cost : 0;
                newCustomer.amount_owing = double.Parse(tempAmountOwing.ToString());
                newOrder.Customer        = newCustomer;
                dbCustomers.Add(newCustomer);
            }
            else
            {
                var existingCustomer = dbCustomersList?.Find(p => p.phone_number == currentCustomer.phone_number);
                newOrder.customer_id = existingCustomer.customer_id;
                var tempAmountOwing = currentOrder.payment_type != DTO.Enums.PaymentType.Cash ? currentOrder.cost : 0;
                existingCustomer.amount_owing += double.Parse(tempAmountOwing.ToString());
            }

            dbOrders.Add(newOrder);
            db.SaveChanges();
        }
Exemple #2
0
 private static void CreateNewOrder(DTO.Order current_order, out Persistence.Order new_order)
 {
     new_order = new Persistence.Order();
     OrderMapper(current_order, out new_order);
     System.Guid order_id = Guid.NewGuid();
     new_order.order_id = order_id;
 }
Exemple #3
0
        public static void AddOrder(DTO.Order current_order, DTO.Customer current_customer)
        {
            PapaBobEntities db = new PapaBobEntities();

            System.Data.Entity.DbSet <Order> dbOrders = db.Orders;
            var dbCustomers = db.Customers;

            var new_order = new Persistence.Order();

            CreateNewOrder(current_order, out new_order);

            var  dbCustomersList         = db.Customers.ToList();
            bool check_if_customer_exits = CustomerRepository.CustomerExists(dbCustomersList, current_customer);

            if (!check_if_customer_exits)
            {
                var new_customer = new Customer();
                CustomerRepository.CreateNewCustomer(current_customer, out new_customer);
                new_order.customer_id     = new_customer.customer_id;
                new_customer.amount_owing = current_order.payment_type != DTO.Payment.Cash ? current_order.cost : 0;
                new_order.Customer        = new_customer;
                dbCustomers.Add(new_customer);
            }
            else
            {
                var existing_customer = dbCustomersList?.Find(p => p.phone_number == current_customer.phone_number);
                new_order.customer_id           = existing_customer.customer_id;
                existing_customer.amount_owing += current_order.payment_type != DTO.Payment.Cash ? current_order.cost : 0;
            }

            dbOrders.Add(new_order);
            db.SaveChanges();
        }
Exemple #4
0
 private static void OrderMapper(DTO.Order current_order, out Persistence.Order new_order)
 {
     new_order               = new Persistence.Order();
     new_order.completed     = false;
     new_order.cost          = current_order.cost;
     new_order.crust         = (Persistence.Crust)current_order.crust;
     new_order.payment_type  = (Persistence.Payment)current_order.payment_type;
     new_order.size          = (Persistence.Size)current_order.size;
     new_order.onions        = current_order.onions;
     new_order.green_peppers = current_order.green_peppers;
     new_order.sausage       = current_order.sausage;
     new_order.pepperoni     = current_order.pepperoni;
 }
 private static void OrderMapper(DTO.OrderDto currentOrder, out Persistence.Order newOrder)
 {
     newOrder = new Persistence.Order
     {
         completed     = false,
         cost          = currentOrder.cost,
         crust         = (Persistence.Crust)currentOrder.crust,
         payment_type  = (Persistence.PaymentType)currentOrder.payment_type,
         size          = (Persistence.Size)currentOrder.size,
         onions        = currentOrder.onions,
         green_peppers = currentOrder.green_peppers,
         sausage       = currentOrder.sausage,
         pepperoni     = currentOrder.pepperoni
     };
 }
Exemple #6
0
        private static void OrderMapper(Persistence.Order current_order, out DTO.Order new_order)
        {
            new_order               = new DTO.Order();
            new_order.completed     = false;
            new_order.cost          = current_order.cost;
            new_order.size          = (DTO.Size)current_order.size;
            new_order.crust         = (DTO.Crust)current_order.crust;
            new_order.payment_type  = (DTO.Payment)current_order.payment_type;
            new_order.onions        = current_order.onions;
            new_order.green_peppers = current_order.green_peppers;
            new_order.sausage       = current_order.sausage;
            new_order.pepperoni     = current_order.pepperoni;
            new_order.customer_id   = current_order.customer_id;
            new_order.order_id      = current_order.order_id;

            DTO.Customer customer = new DTO.Customer();
            CustomerRepository.CustomerMapper(current_order.Customer, out customer);
            new_order.Customer = customer;
        }
        private static void OrderMapper(Persistence.Order currentOrder, out DTO.OrderDto newOrder)
        {
            newOrder = new DTO.OrderDto
            {
                completed     = false,
                cost          = currentOrder.cost,
                size          = (DTO.Enums.Size)currentOrder.size,
                crust         = (DTO.Enums.Crust)currentOrder.crust,
                payment_type  = (DTO.Enums.PaymentType)currentOrder.payment_type,
                onions        = currentOrder.onions,
                green_peppers = currentOrder.green_peppers,
                sausage       = currentOrder.sausage,
                pepperoni     = currentOrder.pepperoni,
                customer_id   = currentOrder.customer_id,
                order_id      = currentOrder.order_id
            };

            var customer = new DTO.CustomerDto();

            CustomerRepository.CustomerMapper(currentOrder.Customer, out customer);
            newOrder.Customer = customer;
        }