private void InsertTempSuiteOrderIntoTable(string doctor, DataRow[] selectedRows, bool isTempOrder) { if (selectedRows.Length == 0) { return; } object[,] selectedContents = new object[selectedRows.Length, 2]; // 暂不处理出院带药bool needCalcTotalAmount = false ; string checkMsg; DataRow row; OrderContent content; try { for (int index = 0; index < selectedRows.Length; index++) { row = selectedRows[index]; selectedContents[index, 1] = (GroupPositionKind)Convert.ToInt32(row[ConstSchemaNames.SuiteDetailColGroupFlag]); content = PersistentObjectFactory.CreateAndIntializeObject( OrderContentFactory.GetOrderContentClassName(row[ConstSchemaNames.SuiteDetailColOrderCatalog]), row) as OrderContent; content.ProcessCreateOutputeInfo = new OrderContent.GenerateOutputInfo(CustomDrawOperation.CreateOutputeInfo); //checkMsg = content.CheckProperties(); //if (!String.IsNullOrEmpty(checkMsg)) // m_MessageBox.MessageShow(checkMsg, CustomMessageBoxKind.InformationOk); selectedContents[index, 0] = content; } //// TODO: 暂时跳过医嘱检查 m_CoreLogic.CheckCanInsertOrder(null, isTempOrder, null); m_CoreLogic.InsertSuiteOrder(m_CoreLogic.GetCurrentOrderTable(isTempOrder), doctor, selectedContents, null); } catch { } }
private void CommitSelected() { DataRow[] selectedRows = m_SuiteTable.Select(ConstSchemaNames.SuiteDetailColAmount + " > 0"); _selectedContents = new object[selectedRows.Length, 2]; bool needCalcTotalAmount = (gridColDays.Visible); string checkMsg; DataRow row; OrderContent content; //Druggery druggery; OutDruggeryContent outDruggery; for (int index = 0; index < selectedRows.Length; index++) { row = selectedRows[index]; _selectedContents[index, 1] = (GroupPositionKind)Convert.ToInt32(row["GroupFlag"]); content = PersistentObjectFactory.CreateAndIntializeObject( OrderContentFactory.GetOrderContentClassName(row[ConstSchemaNames.SuiteDetailColOrderCatalog]), row) as OrderContent; content.ProcessCreateOutputeInfo = new OrderContent.GenerateOutputInfo(CustomDrawOperation.CreateOutputeInfo); checkMsg = content.CheckProperties(); if (!String.IsNullOrEmpty(checkMsg)) { m_MessageBox.MessageShow(checkMsg, CustomMessageBoxKind.InformationOk); } if (needCalcTotalAmount) { outDruggery = content as OutDruggeryContent; if (outDruggery != null) { outDruggery.ReCalcTotalAmount(); } } //// 赋其它属性 //if (Convert.ToInt32(row["cdxh"]) == -1) //{ // content = new ChargeItemOrderContent(); // content.BeginInit(); // content.Item = new ChargeItem(row["ypdm"].ToString().Trim()); // content.Item.ReInitializeProperties(); // content.CurrentUnit = content.Item.BaseUnit; //} //else //{ // content = new DruggeryOrderContent(); // content.BeginInit(); // druggery = new Druggery(Convert.ToDecimal(row["cdxh"])); // content.Item = druggery; // content.Item.ReInitializeProperties(); // content.CurrentUnit = druggery.WardUnit; //} //content.Amount = Convert.ToDecimal(row["ypjl"]); //content.ItemUsage = new OrderUsage(row["yfdm"].ToString().Trim(), row["yfmc"].ToString().Trim()); //content.ItemFrequency = new OrderFrequency(row["pcdm"].ToString().Trim(), row["pcmc"].ToString().Trim()); //content.ProcessCreateOutputeInfo = // new OrderContent.GenerateOutputInfo(CustomDrawOperation.CreateOutputeInfo); //content.EndInit(); _selectedContents[index, 0] = content; } }