public Request(Request _other) { ID = _other.ID; service_time = _other.service_time; request_state = _other.request_state; operation = _other.operation; }
public bool add_request(Request r) { if (req_count == req_max_count) return false; req[req_count] = r; req_count++; return true; }
private void ADD_Click(object sender, EventArgs e) { int id = 1; try { if (max_num.Text == "") throw new ArgumentNullException("Число заявок"); max = Convert.ToInt16(max_num.Text); n = new Request[max]; id += BANK.ID; switch (max) { case 1: if (type_req.Text != "ACNT" && type_req.Text != "CARD" && type_req.Text != "CRED" && type_req.Text != "XCHG") throw new ArgumentNullException("Тип заявки"); n[0] = new Request(id++, 0, true, type_operation(type_req.Text)); n[0].set_serv_time(); break; case 2: if (type_req.Text != "ACNT" && type_req.Text != "CARD" && type_req.Text != "CRED" && type_req.Text != "XCHG") throw new ArgumentNullException("Тип заявки"); n[0] = new Request(id++, 0, true, type_operation(type_req.Text)); n[0].set_serv_time(); if (type_req2.Text != "ACNT" && type_req2.Text != "CARD" && type_req2.Text != "CRED" && type_req2.Text != "XCHG") throw new ArgumentNullException("Тип заявки"); n[1] = new Request(id++, 0, true, type_operation(type_req2.Text)); n[1].set_serv_time(); break; case 3: if (type_req.Text != "ACNT" && type_req.Text != "CARD" && type_req.Text != "CRED" && type_req.Text != "XCHG") throw new ArgumentNullException("Тип заявки"); n[0] = new Request(id++, 0, true, type_operation(type_req.Text)); n[0].set_serv_time(); if (type_req2.Text != "ACNT" && type_req2.Text != "CARD" && type_req2.Text != "CRED" && type_req2.Text != "XCHG") throw new ArgumentNullException("Тип заявки"); n[1] = new Request(id++, 0, true, type_operation(type_req2.Text)); n[1].set_serv_time(); if (type_req3.Text != "ACNT" && type_req3.Text != "CARD" && type_req3.Text != "CRED" && type_req3.Text != "XCHG") throw new ArgumentNullException("Тип заявки"); n[2] = new Request(id++, 0, true, type_operation(type_req3.Text)); n[2].set_serv_time(); break; } BANK.create_client(max, n); } catch (Exception ex) { MessageBox.Show("Warning " + ex.GetType().Name + " " + ex.Message); } }
//генерация заявки private Request create_request() { int caser; caser = rnd.Next(4); //тип заявки выбирается случайным образом switch (caser) { case 0: RT = request_type.ACNT; time = 30; tot_acnt++; break; case 1: RT = request_type.CARD; time = 80; tot_card++; break; case 2: RT = request_type.CRED; time = 60; tot_cred++; break; case 3: RT = request_type.XCHG; time = 50; tot_xchg++; break; } Request r = new Request(ID++, time, true, RT); return r; }
//создание клиента вручную public void create_client(int _max, Request[] _rec) { Client cl = new Client(ID++, _max); for (int i = 0; i < _max; i++) { cl.add_request(_rec[i]); } into_queue(cl); }