Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

import java.awt.event.ActionListener;



package internetshop;

import java.util.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

enum Status{

v_ozhidanii,kupleno;

}

class DataBase{

private ArrayList<Product> products;

private ArrayList<Client> clients;

DataBase(){

products=new ArrayList<Product>();

clients=new ArrayList<Client>();

}

public ArrayList<Product> getProducts(){

return products;

}

public Product searchOfId(int id){

Product p=null;

Iterator<Product> it=products.iterator();

while(it.hasNext()){

p=it.next();

if(p.getId()==id)

return p;

}

return null;

}

public void addProduct(Product p){

products.add(p);

}

public void deleteProduct(int id){

Product p;

Iterator<Product> it=products.iterator();

while(it.hasNext()){

p=it.next();

if(p.getId()==id)

products.remove(p);

}

}

public ArrayList<Client> getClient(){

return clients;

}

public void addClient(Client client){

clients.add(client);

}

public void deleteClient(int id){

Client c;

Iterator<Client> it=clients.iterator();

while(it.hasNext()){

c=it.next();

if(c.getId()==id)

clients.remove(c);

}

}

}

class Administrator{

private String name;

Administrator(){

name="Administrator";

}

public void addProduct(DataBase db,String category,String name,int quantity){

db.addProduct(new Product(category,name,quantity));

}

public void deleteProduct(DataBase db,int id){

db.deleteProduct(id);

}

public void setQuantityProduct(DataBase db,int id,int q){

db.searchOfId(id).setQuantity(q);

}

public void deleteClient(DataBase db,int id){

db.deleteClient(id);

}

public String listDataBase(DataBase db){

return "\n====================================================================\n"

+ "Товары:\n"+db.getProducts()

+"\n--------\n"

+"Клиенты:\n"+db.getClient();

}

public void podtverditProdazhy(DataBase db,Number n){

Client c;

int id,kol,size;

Iterator<Client> it=db.getClient().iterator();//берем из базы данных список клиентов

while(it.hasNext()){

c=it.next();

if(c.getCarzina().containsKey(n)){//ищем клиента у которого в корзине введенный номер заказа

for(int i=1;i<=c.getCarzina().get(n).size();i++){

c.getHistory().get(n).get(i).oplachenoStatus();//каждому товару в заказе статус "kupleno"

id=c.getHistory().get(n).get(i).getIdproduct();//берем id купленного товара

kol=c.getHistory().get(n).get(i).getKol();//берем кол-во купленного товара

db.searchOfId(id).delQuantity(kol);//уменшаем кол-во купленного товара в базе данных

}

c.getCarzina().remove(n);//удаляем подтвержденный(оплаченный) заказ из корзины клиента(заказ остается в history)

}

}

}

public String toString(){

return ""+name;

}

}

class Client{

private static int count=0;

private final int id=++count;

private String name;

private static int n=0;

private Map<Number,Zakaz> carz;

private Map<Number,Zakaz> hist;

private Map<Number,Map<Number,Zakaz>> carzina;

private Map<Number,Map<Number,Zakaz>> history;

Client(String name){

this.name=name;

carzina=new HashMap<Number,Map<Number,Zakaz>>();

history=new HashMap<Number,Map<Number,Zakaz>>();

}

class Zakaz{

private int id_product;

private String date;

private int kol;

private Status checkoutStatus;

Zakaz(int id_product,int kol,String date){

this.id_product=id_product;

this.kol=kol;

this.date=date;

checkoutStatus=Status.v_ozhidanii;

}

public void oplachenoStatus(){

checkoutStatus=Status.kupleno;

}

public int getIdproduct(){

return id_product;

}

public int getKol(){

return kol;

}

public String toString(){

return "id_product:"+id_product+" kol:"+kol+" date:"+date+" checkoutStatus:"+checkoutStatus;



}

}

public void addNewZakaz(int id_product, int kol, String date){

int i=1;

carz=new HashMap<Number,Zakaz>();

hist=new HashMap<Number,Zakaz>();

carz.put(i,new Zakaz(id_product,kol,date));

hist.put(i,new Zakaz(id_product,kol,date));

carzina.put(++n,carz);

history.put(n,hist);

}

public void addToZakaz(Number n,int id_product, int kol, String date){

if(carzina.containsKey(n)){

int i=carzina.get(n).size();

carzina.get(n).put(++i, new Zakaz(id_product,kol,date));

history.get(n).put(i, new Zakaz(id_product,kol,date));

}

}

public void delFromZakaz(Number n,Number i){

if(carzina.containsKey(n)){

int j=i.intValue();

carzina.get(n).remove(i);

while(carzina.get(n).containsKey(j+1)){

carzina.get(n).put(j,carzina.get(n).get(j+1));

carzina.get(n).remove(j+1);

j++;

}

}

if(history.containsKey(n)){

int j=i.intValue();

history.get(n).remove(i);

while(history.get(n).containsKey(j+1)){

history.get(n).put(j,history.get(n).get(j+1));

history.get(n).remove(j+1);

j++;

}

}

}

public void delZakaz(Number n){

carzina.remove(n);

}

public int getId(){

return id;

}

public Map<Number,Map<Number,Zakaz>> getCarzina(){

return carzina;

}

public void clearCarzina(){

carzina.clear();

}

public Map<Number,Map<Number,Zakaz>> getHistory(){

return history;

}

public void clearHistory(){

history.clear();

}

public String listDataBase(DataBase db){

return db.getProducts()+"";

}

public String toString(){

String info=name+"\ncarzina:";

Iterator itc=carzina.entrySet().iterator();

Map<Number,Zakaz> map;

while(itc.hasNext()){

Map.Entry i=(Map.Entry)itc.next();

info+="\nЗаказ номер:"+i.getKey();

map=(Map)i.getValue();

Iterator itm=map.entrySet().iterator();

while(itm.hasNext()){

info+="\n "+itm.next();

}

}

info+="\nhistory:";

Iterator ith=history.entrySet().iterator();

while(ith.hasNext()){

Map.Entry i=(Map.Entry)ith.next();

info+="\nЗаказ номер:"+i.getKey();

map=(Map)i.getValue();

Iterator itm=map.entrySet().iterator();

while(itm.hasNext()){

info+="\n"+itm.next();

}

}

return info;

}

}

class Product{

private static int count=0;

private final int id=++count;

private String category;

private String name;

private int quantity;

Product(String category,String name,int quantity){

this.category=category;

this.name=name;

this.quantity=quantity;

}

public int getId(){

return id;

}

public void delQuantity(int q){

quantity-=q;

}

public void setQuantity(int q){

quantity=q;

}

public String toString(){

return "id="+id+" category:"+category+" name:"+name+" "+quantity+" шт.\n";

}

}

public class InternetShop extends JFrame implements ActionListener{

private JButton btn1;

private JButton btn2;

private JButton btn3;

private JTable tbl1;

private JPanel panel1;

private JPanel panel2;

private JPanel panel3;

private JPanel panel4;

private Container pane;

public InternetShop(){

super("Internet Shop by Denis Oreshko");

setDefaultCloseOperation(EXIT_ON_CLOSE);

setSize(800,600);

// setLocation(0,0);

 

btn1=new JButton("Exit");

btn1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent event){

btn1actionPerformed(event);

}

});

 

btn2=new JButton("Panel2");

btn3=new JButton("Panel3");

tbl1=new JTable(10,5);

panel1=new JPanel();

panel2=new JPanel();

panel3=new JPanel();

panel4=new JPanel();

 

pane=getContentPane();

pane.setLayout(new GridLayout(2,2,5,5));

 

panel1.setSize(400, 550);

panel1.setLayout(null);

tbl1.setSize(400, 100);

tbl1.setLocation(0, 500);

panel1.add(tbl1);

 

panel2.setSize(50,50);

panel2.add(btn2);

 

panel3.setSize(50,50);

panel3.add(btn3);

 

panel4.setSize(50,50);

panel4.add(btn1);

 

pane.add(panel1);

pane.add(panel2);

pane.add(panel3);

pane.add(panel4);

 

 

btn1.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent event){

btn1actionPerformed(event);

}

});

//btn2.addActionListener(new ActionEvent());

}

public void actionPerformed(ActionEvent event){

 

}

public void btn1actionPerformed(ActionEvent event){

System.exit(0);

}

public static void main(String[] args) {

InternetShop internetshop=new InternetShop();

internetshop.setVisible(true);

/*DataBase db=new DataBase();

Administrator admin=new Administrator();

Client client=new Client("Katya");

db.addClient(client);

admin.addProduct(db, "Телефон", "Nokia E65", 10);

admin.addProduct(db, "Телефон", "Sumsung Duos", 10);

admin.addProduct(db, "Телефон", "SonyEricsson", 10);

admin.addProduct(db, "Телефон", "ZTE20", 10);

admin.addProduct(db, "Телефон", "Matarola", 10);

client.addNewZakaz(1, 2, "21/03/2012");

client.addToZakaz(1, 5, 1, "22/03/2012");

client.addToZakaz(1, 3, 1, "22/03/2012");

client.addNewZakaz(1, 2, "23/03/2012");

System.out.println(admin.listDataBase(db));

client.delFromZakaz(1, 1);

System.out.println(admin.listDataBase(db));

client.addToZakaz(1, 4, 1, "01/02/2012");

System.out.println(admin.listDataBase(db));

admin.podtverditProdazhy(db,1);

System.out.println(admin.listDataBase(db));

admin.podtverditProdazhy(db,2);

System.out.println(admin.listDataBase(db));*/

}

}


Дата добавления: 2015-11-04; просмотров: 21 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
package com.example.sasha; | class WrongState extends Exception{}

mybiblioteka.su - 2015-2024 год. (0.028 сек.)