/// <summary> /// 此函數的目的是將 Rows 中的每一筆場地設備資料,整理成: /// 1. 要新增的場地 (listRoomInsert ) /// 2. 要修改的場地 (listRoomUpdate ) /// 3. 每個場地的設備清單 (dicEquipment ) /// </summary> /// <param name="Rows"></param> /// <param name="listRoomInsert"></param> /// <param name="listRoomUpdate"></param> /// <param name="dicEquipmentInRoom"></param> private void parseData(List <Campus.DocumentValidator.IRowStream> Rows, List <UDT.MeetingRoom> listRoomInsert, List <UDT.MeetingRoom> listRoomUpdate, Dictionary <string, List <UDT.MeetingRoomEquipment> > dicEquipmentInRoom) { // 對於每一筆場地的設備資料 foreach (IRowStream Row in Rows) { //a. 確認場地是新增或修改 string building = Row.GetValue("所屬大樓名稱"); string roomName = Row.GetValue("會議室名稱"); string equipName = Row.GetValue("設備名稱"); string keyRoom = string.Format("{0}_{1}", roomName, building); // 會議室key if (importBot.GetMeetingRoomDic().ContainsKey(keyRoom)) //更新 { if (importBot.GetMeetingRoomDic()[keyRoom].UID != "") // 確保資料有系統編號 在做更新 { UDT.MeetingRoom room = importBot.GetMeetingRoomDic()[keyRoom]; // ???? if (!Log_Dic.ContainsKey(room.UID)) { ImputLog i_n = new ImputLog(); i_n.lo_MeetingRoom = room.CopyExtension(); Log_Dic.Add(room.UID, i_n); } importBot.FillMeetingRoomData(Row, room); listRoomUpdate.Add(room); } } else { //新增 UDT.MeetingRoom room = new UDT.MeetingRoom(); room.Name = roomName; room.Building = building; importBot.FillMeetingRoomData(Row, room); // 將新增的會議室加入Dic 避免重複新增 importBot.GetMeetingRoomDic().Add(keyRoom, room); listRoomInsert.Add(room); } //b. 確認設備所屬場地 //string keyEquip = string.Format("{0}_{1}", keyRoom, equipName); // 設備key if (!dicEquipmentInRoom.ContainsKey(keyRoom)) { dicEquipmentInRoom.Add(keyRoom, new List <UDT.MeetingRoomEquipment>()); } UDT.MeetingRoomEquipment equip = new UDT.MeetingRoomEquipment(); importBot.FillEquipmentData(Row, equip); dicEquipmentInRoom[keyRoom].Add(equip); } }
public void FillEquipmentData(IRowStream Row, UDT.MeetingRoomEquipment equip) { equip.Name = Row.GetValue("設備名稱"); equip.Status = Row.GetValue("設備狀態"); equip.Count = Row.GetValue("設備數量") == "" ? 0 : int.Parse(Row.GetValue("設備數量")); }