Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
 public static void CustomerMapper(DTO.CustomerDto current_customer, out Persistence.Customer new_customer)
 {
     new_customer = new Persistence.Customer
     {
         name         = current_customer.name,
         address      = current_customer.address,
         zip_code     = current_customer.zip_code,
         phone_number = current_customer.phone_number
     };
 }
Ejemplo n.º 3
0
        public static Persistence.Customer CreateNewCustomer(DTO.CustomerDto current_customer)
        {
            var new_customer = new Customer();

            CustomerMapper(current_customer, out new_customer);
            var customer_id = Guid.NewGuid();

            new_customer.customer_id = customer_id;
            return(new_customer);
        }
Ejemplo n.º 4
0
 public static void CustomerMapper(Persistence.Customer current_customer, out DTO.CustomerDto new_customer)
 {
     new_customer = new DTO.CustomerDto
     {
         name         = current_customer.name,
         address      = current_customer.address,
         zip_code     = current_customer.zip_code,
         phone_number = current_customer.phone_number,
         customer_id  = current_customer.customer_id,
         amount_owing = current_customer.amount_owing
     };
 }
Ejemplo n.º 5
0
        public List <DTO.CustomerDto> GetCustomerList()
        {
            var db                 = new PapaBobEntities();
            var dbCustomers        = db.Customers.ToList();
            var dto_customers_list = new List <DTO.CustomerDto>();

            foreach (var customer in dbCustomers)
            {
                var new_customer = new DTO.CustomerDto();
                CustomerMapper(customer, out new_customer);
                dto_customers_list.Add(new_customer);
            }
            return(dto_customers_list);
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
        public static bool CustomerExists(List <Persistence.Customer> dbCustomersList, DTO.CustomerDto current_customer)
        {
            var count = dbCustomersList?.Where(p => p.phone_number == current_customer.phone_number).Count();

            if (count > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }