private void LoadWorkerMateriallistGrid() { List <TenderMaterialListEquipmentModel> tenderMaterialListEquipmentModels = new List <TenderMaterialListEquipmentModel>(); this.SelectedMaterial.TenderEquipments = null; this.SelectedMaterial.TenderMaterialListEquipment = null; List <TenderEquipment> a = this.SelectedMaterial.TenderEquipments; if (this.SelectedMaterial.TenderMaterialListEquipment != null) { foreach (TenderMaterialListEquipment tenderMaterialListEquipment in this.SelectedMaterial.TenderMaterialListEquipment) { TenderMaterialListEquipmentModel tenderMaterialListEquipmentModel = new TenderMaterialListEquipmentModel(tenderMaterialListEquipment); tenderMaterialListEquipmentModels.Add(tenderMaterialListEquipmentModel); } } bindingSourceAddWorker.DataSource = tenderMaterialListEquipmentModels.Where(p => p.Equipment.IsWorker); bindingSourceAddVehicle.DataSource = tenderMaterialListEquipmentModels.Where(p => !p.Equipment.IsWorker); }
private void gridViewAddVehicle_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { if (e.Column == colAddVehicleId || e.Column == colAddVehicleWorkerUnitPrice) { return; } TenderMaterialListEquipmentModel currentItem = new TenderMaterialListEquipmentModel(); int currentId = Convert.ToInt32(gridViewAddVehicle.GetFocusedRowCellValue("Id")); if (currentId <= 0) { //if (e.Value == null) //{ // return; //} currentItem = new TenderMaterialListEquipmentModel(); TenderEquipment equipment = new TenderEquipment(); equipment.IsWorker = false; equipment.TenderId = UICurrentManager.Instance.CurrentTender.Id; if (e.Column == colAddVehicleVehicle) { //System.Data.DataRow row = gridViewAddVehicle.GetDataRow(gridViewAddVehicle.FocusedRowHandle); //string cellValue = row[0].ToString(); //object a = gridViewAddVehicle.GetSelectedRow("SelectedVehicle"); object b = gridViewAddVehicle.ActiveEditor.EditValue; equipment.WorkerVehicleId = (int)b; } OperationResult result = TenderEquipmentProvider.Instance.Save(equipment); if (result.Success) { TenderMaterialListEquipment tenderMaterialListEquipment = new TenderMaterialListEquipment(); tenderMaterialListEquipment.EquipmentId = equipment.Id; tenderMaterialListEquipment.MaterialListId = this.SelectedMaterial.Id.Value; tenderMaterialListEquipment.TenderId = UICurrentManager.Instance.CurrentTender.Id; tenderMaterialListEquipment.Equipment = equipment; OperationResult result1 = TenderMaterialListEquipmentProvider.Instance.Save(tenderMaterialListEquipment); if (result1.Success) { currentItem = new TenderMaterialListEquipmentModel(tenderMaterialListEquipment); currentItem.Equipment = equipment; gridViewAddVehicle.SetFocusedRowCellValue(colAddVehicleId, currentItem.Id); LoadWorkerMateriallistGrid(); return; } } } else { List <TenderMaterialListEquipmentModel> items = ((IEnumerable <TenderMaterialListEquipmentModel>)bindingSourceAddVehicle.DataSource).ToList(); foreach (TenderMaterialListEquipmentModel item in items) { if (item.Id == currentId) { currentItem = item; break; } } } if (e.Column == colAddVehicleQuantity) { currentItem.Quantity = SimpleApplicationBase.Toolkit.Helpers.GetValueFromObject <double>(e.Value); } else if (e.Column == colAddVehicleUnitTime) { currentItem.UnitTime = SimpleApplicationBase.Toolkit.Helpers.GetValueFromObject <int>(e.Value); } else if (e.Column == colAddVehicleUnitTimeType) { currentItem.UnitTimeType = SimpleApplicationBase.Toolkit.Helpers.GetValueFromObject <UnitTimeTypesEnum>(e.Value); } else if (e.Column == colAddVehicleVehicle) { currentItem.Equipment.WorkerVehicleId = (int)e.Value; TenderEquipmentProvider.Instance.Save(currentItem.Equipment); currentItem.Equipment = null; } currentItem.Save(); grdAddVehicle.Refresh(); }