private void SaveNewEquipment() { var value = hidNewInstorage.Value; var equipment = JsonConverter.ToObject <TB_Equipment>(value); // 查找是否有相同型号的相同设备号码 var exist = EquipmentInstance.Find(f => f.Model == equipment.Model && f.Number.Equals(equipment.Number) && f.Deleted == false); if (null == exist) { var model = ModelInstance.Find(f => f.id == equipment.Model); var newOne = EquipmentInstance.GetObject(); newOne.Model = equipment.Model; if (model.TB_EquipmentType.IsVehicle == true) { // 新增的设备是普通车辆时,直接划为车辆,不参与出库/入库流程 newOne.Status = StatusInstance.Find(f => f.IsItVehicle == true).id; } else { newOne.Status = StatusInstance.Find(f => f.IsItInventory == true).id; } newOne.Warehouse = equipment.Warehouse; newOne.Number = equipment.Number; newOne.StoreTimes = equipment.StoreTimes; newOne.Functional = equipment.Functional; newOne = EquipmentInstance.Add(newOne); // 保存入库信息 var history = StoreInstance.GetObject(); history.Equipment = newOne.id; history.Status = newOne.Status; history.Stocktime = DateTime.Parse(inDate.Value); // 默认第1次入库 history.StoreTimes = newOne.StoreTimes; history.Warehouse = newOne.Warehouse; StoreInstance.Add(history); // 保存入库操作历史记录 SaveHistory(new TB_AccountHistory() { ActionId = ActionInstance.Find(f => f.Name.Equals("InStore")).id, ObjectA = EquipmentInstance.ToString(newOne) }); ShowNotification("./equipment_new_product.aspx", "New equipment \"" + EquipmentInstance.GetFullNumber(exist) + "\" has been saved."); } else { ShowNotification("./equipment_new_product.aspx", "There has a same number of \"" + EquipmentInstance.GetFullNumber(exist) + "\" exist.", false); } }
private void ShowEdit() { var m = ModelInstance.Find(f => f.id == ParseInt(Utility.Decrypt(hidID.Value))); if (null != m) { txtCode.Value = m.Code; txtName.Value = m.Name; ddlType.SelectedValue = m.Type.ToString(); } else { ShowNotification("./equipment_model.aspx", "Error: Cannot edit null object of <a>Equipment Model</a>.", false); } }
private void EditModel() { var m = ModelInstance.Find(f => f.id == ParseInt(Utility.Decrypt(hidID.Value))); if (null != m) { BuildModel(m); Update(m); // 保存历史记录 SaveHistory(new TB_AccountHistory { ActionId = ActionInstance.Find(f => f.Name.Equals("EditEquipmentModel")).id, ObjectA = "[id=" + m.id + "] " + m.Name + ", " + m.Code }); ShowNotification("./equipment_model.aspx", "You changed the equipment model."); } else { ShowNotification("./equipment_model.aspx", "Error: paramenter error, cannot edit null object(equipment model).", false); } }
/// <summary> /// 保存设备的更改信息 /// </summary> private void SaveChanges() { var id = ParseInt(Utility.Decrypt(_key)); var equipment = EquipmentInstance.Find(f => f.id == id && f.Deleted == false); bool needSave = false; string msg = ""; int wh = 0, md = 0; if (null != equipment) { msg = EquipmentInstance.GetFullNumber(equipment); var tmp = int.Parse(hidWarehouse.Value); if (tmp > 0) { var oh = WarehouseInstance.Find(f => f.id == equipment.Warehouse); var nh = WarehouseInstance.Find(f => f.id == tmp && f.Delete == false); msg += ", " + oh.Name + " to " + nh.Name; //equipment.Warehouse = tmp; wh = tmp; needSave = true; } tmp = int.Parse(selectedModel.Value); if (tmp > 0) { var om = ModelInstance.Find(f => f.id == equipment.Model); var nm = ModelInstance.Find(f => f.id == tmp && f.Delete == false); msg += ", " + om.Code + " to " + nm.Code; //equipment.Model = tmp; md = tmp; needSave = true; } tmp = int.Parse(hidFunctional.Value); if (tmp != 0 && tmp != int.Parse(oldFunc.Value)) { msg += ", " + Utility.GetEquipmentFunctional(equipment.Functional.Value) + " to " + Utility.GetEquipmentFunctional((byte)tmp); equipment.Functional = (byte)tmp; needSave = true; } var num = number.Value.Trim(); if (!string.IsNullOrEmpty(num)) { if (!num.Equals(equipment.Number)) { msg += ", Number: " + equipment.Number + " to " + num; equipment.Number = num; needSave = true; } } //tmp = int.Parse(Utility.Decrypt(Utility.UrlDecode(oldTerminal.Value))); var n = string.IsNullOrEmpty(newTerminal.Value) ? 0 : int.Parse(Utility.Decrypt(Utility.UrlDecode(newTerminal.Value))); TB_Terminal newOne = null; if (n > 0) { msg += ", Terminal: "; // 更新旧终端为未绑定状态 if ((int?)null != equipment.Terminal) { var ter = equipment.TB_Terminal.Number; TerminalInstance.Update(f => f.id == equipment.Terminal, act => { act.HasBound = false; }); // 保存旧终端的解绑状态 SaveHistory(new TB_AccountHistory() { ActionId = ActionInstance.Find(f => f.Name.Equals("Unbind")).id, ObjectA = "unbind terminal " + ter + " and equipment " + EquipmentInstance.GetFullNumber(equipment) }); msg += ter + "(unbind) to "; } newOne = TerminalInstance.Find(f => f.id == n); msg += newOne.Number + "(bind)"; equipment.Terminal = n; // 更新新终端的绑定状态 TerminalInstance.Update(f => f.id == n, act => { act.HasBound = true; }); // 保存新终端的绑定状态 SaveHistory(new TB_AccountHistory() { ActionId = ActionInstance.Find(f => f.Name.Equals("Unbind")).id, ObjectA = "bind terminal " + newOne.Number + " and equipment " + EquipmentInstance.GetFullNumber(equipment) }); needSave = true; } if (needSave) { EquipmentInstance.Update(f => f.id == equipment.id && f.Deleted == false, act => { if (md > 0) { //if (act.Model != equipment.Model) act.Model = md; } if (wh > 0) { //if (act.Warehouse != equipment.Warehouse) act.Warehouse = wh; } if (!act.Number.Equals(equipment.Number)) { act.Number = equipment.Number; } if (act.Functional != equipment.Functional) { act.Functional = equipment.Functional; } if (act.Terminal != equipment.Terminal) { act.Terminal = equipment.Terminal; act.Socket = newOne.Socket; act.OnlineTime = newOne.OnlineTime; act.OnlineStyle = newOne.OnlineStyle; } }); // 保存更改设备信息的历史 SaveHistory(new TB_AccountHistory() { ActionId = ActionInstance.Find(f => f.Name.Equals("EditEquipmentInfo")).id, ObjectA = msg }); ShowNotification("./equipment_setting.aspx?key=" + Utility.UrlEncode(_key), "You have saved the equipment info.", true); } } else { ShowNotification("./equipment_setting.aspx?key=" + Utility.UrlEncode(_key), "Not found the equipment", false); } }