private void dgDevices_SelectionChanged(object sender, SelectionChangedEventArgs e) {//обработчик смены текущего активного устройства if (dgDevices.SelectedItem != null) { clientDevice device = dgDevices.SelectedItem as clientDevice; updateDbGridService(ref device); //обновляем список услуг } controlButtonsEnable(); }
public DeviceWindow(ref contract contract, ref clientDevice clientDevice) {//редактировать существующее описание устройства, 1 параметр ссылка на договор, 2 параметр ссылка на редактируемое описание InitializeComponent(); this.contractId = contract.Id; NewDevice = clientDevice; //заполняем поля для ввода существующими данными cbTypeOfDevice.SelectedItem = clientDevice.typeOfDevice; tbModelName.Text = NewDevice.modelName; tbSerialNumber.Text = NewDevice.serialNumber; tbDescription.Text = NewDevice.description; updateTypesList(); }
private void bDeleteSevice_Click(object sender, RoutedEventArgs e) {//Обработчик кнопки удалить услугу if (dgServices.SelectedItem != null) { clientDevice currentdevice = dgDevices.SelectedItem as clientDevice; //выбираем текущее устройство service currentService = (dgServices.SelectedItem as requestedService).service; requestedService rs = currentdevice.requestedServices.Where(r => r.service == currentService).FirstOrDefault(); Contract.approximateCost -= rs.cost; currentdevice.requestedServices.Remove(rs); updateDbGridService(ref currentdevice); tbApproximateEndCost.Text = Contract.approximateCost.ToString(); controlButtonsEnable(); } }
private void bReturnToRepairer_Click(object sender, RoutedEventArgs e) { requestedService currentRS = dgServices.SelectedItem as requestedService; if (requestedServiceIsExecution(currentRS)) { currentRS.stageOfImplementationId = 2; currentRS.servicesExecution.First().dateOfEnd = null; core.serviceCenterDB.SaveChanges(); MessageBox.Show("Возвращено в работу мастеру"); clientDevice currentDevice = currentRS.clientDevice; updateDbGridService(ref currentDevice); } }
private void bEditDevice_Click(object sender, RoutedEventArgs e) {//Обработчик кнопки "Редактировать" описание устройства if (dgDevices.SelectedItem != null) { clientDevice editableDevice = dgDevices.SelectedItem as clientDevice; // выделяем текущее описание Windows.DeviceWindow w = new DeviceWindow(ref _contract, ref editableDevice); //окно для редактирования описания w.ShowDialog(); if (w.DialogResult == true) //если редактирование описание было выполнено { //находим текущее описание объектной модели и обновляем описание свойств Contract.clientDevices.Where(d => d.serialNumber == editableDevice.serialNumber).FirstOrDefault().typeOfDevice = w.NewDevice.typeOfDevice; Contract.clientDevices.Where(d => d.serialNumber == editableDevice.serialNumber).FirstOrDefault().modelName = w.NewDevice.modelName; Contract.clientDevices.Where(d => d.serialNumber == editableDevice.serialNumber).FirstOrDefault().serialNumber = w.NewDevice.serialNumber; Contract.clientDevices.Where(d => d.serialNumber == editableDevice.serialNumber).FirstOrDefault().description = w.NewDevice.description; updateDbGridClientDevices(); //обновляем список устройств } } }
private void bAddService_Click(object sender, RoutedEventArgs e) {//обработчик кнопки "добавить" услугу Windows.ServicesWindow w = new ServicesWindow(); w.ShowDialog(); if (w.DialogResult == true) //если пользователь выбрал услугу { clientDevice currentdevice = dgDevices.SelectedItem as clientDevice; //выбираем текущее устройство requestedService rs = new requestedService(); //формируем запрос на услугу rs.clientDevice = currentdevice; currentdevice.requestedServices.Add(rs); rs.service = w.Service; rs.cost = w.Cost; rs.description = w.Description; rs.stageOfImplementationId = 1; Contract.approximateCost += w.Cost; //добавляем стоимость услуги к общей стоимости tbApproximateEndCost.Text = Contract.approximateCost.ToString(); updateDbGridService(ref currentdevice); //обновляем список услуг для данного устройства controlBokEnable(); controlButtonsEnable(); } }
public bool SetDeviceData() { //функция для проверки заполнения полей данных и заполнения объектной модели обновленными данными if ( //если поля заполнены не корректно (cbTypeOfDevice.SelectedItem == null) | (String.IsNullOrWhiteSpace(tbModelName.Text)) | (String.IsNullOrWhiteSpace(tbSerialNumber.Text)) | (String.IsNullOrWhiteSpace(tbDescription.Text)) ) { return(false); } else {//если поля заполнены корректно, обновляем объектную модель NewDevice = new clientDevice(); NewDevice.typeOfDevice = (cbTypeOfDevice.SelectedItem as typeOfDevice); NewDevice.modelName = tbModelName.Text; NewDevice.serialNumber = tbSerialNumber.Text; NewDevice.description = tbDescription.Text; NewDevice.contractId = contractId; return(true); } }
private void updateDbGridService(ref clientDevice device) { //обновление данныех таблицы устройства клиента dgServices.ItemsSource = device.requestedServices.ToList(); //устанавливаем источник данных для таблицы услуги }