/// <summary> /// Создание нового заказа (Требуется дальнейшая реализация) /// </summary> /// <param name="QryData">Модель таблицы L4_L3_SO_HEADER для обработки</param> /// <param name="l4MsgInfo">Модель таблицы L4L3Event для обработки кода</param> public void CreateNewOrder(L4L3SoHeader QryData, TL4MsgInfo l4MsgInfo) { tsoHeader = new TSoHeader(); string sNumeration = auxConstant.GetStringAuxConstant("SO_NUMERATION"); TL4EngineInterfaceMngRepo eimOrderEntry = new TL4EngineInterfaceMngRepo(QryData, l4MsgInfo); try { Int32.TryParse(eimOrderEntry.GetCreateUserId(), out int iUserId); } catch { eimOrderEntry.NotifyErrorMessage("Ошибка при возвращении ID пользователя"); } int iShipToCode = ManageShipTo(l4MsgInfo, eimOrderEntry); if (iShipToCode >= 0) { tsoHeader = tSo.Create(QryData, l4MsgInfo, iShipToCode, true); eimOrderEntry.l4MsgInfo.msgReport = new TMessageResult(); eimOrderEntry.l4MsgInfo.msgReport.status = L4L3InterfaceServiceConst.MSG_STATUS_SUCCESS; if (eimOrderEntry.l4MsgInfo.msgReport.status == L4L3InterfaceServiceConst.MSG_STATUS_SUCCESS) { logger.Info("Заказ создан"); } } }
/// <summary> /// Обновление статуса линии заказа /// </summary> /// <param name="ret">Модель таблицы SO_HEADER</param> public void LinesUpdateMsgStatus(TSoHeader ret) { TSoLineRepo func = new TSoLineRepo(); foreach (TSoLine line in ret.m_Lines) { func.UpdateMsgStatus(); } }
/// <summary> /// Получение сообщения по линии заказа /// </summary> /// <param name="ret">Модель таблицы SO_HEADER</param> /// <returns>Сообщение о статусе линии заказа</returns> public string GetLineMsgStatus(TSoHeader ret) { TSoLineRepo func = new TSoLineRepo(); string strMessages = "", strLineMessage; foreach (TSoLine line in ret.m_Lines) { strLineMessage = func.GetMsgStatus(); if (strLineMessage.ToCharArray().Length > 0 && (strMessages.ToCharArray().Length + strLineMessage.ToCharArray().Length + 3) > 4000) { strMessages = strMessages + " - " + strLineMessage; } } return(strMessages); }
static void Main(string[] args) { var tHeaderobj = new TSoHeader() { id = 1007, cancel = 1, codec = "order000007", do_qty = 10, handle = 1, invoice_type = 1, item_need_qty = 20 }; Common.InsertTestData(tHeaderobj); Console.WriteLine("测试结束"); Console.ReadLine(); }
/// <summary> /// Обновление полей линии заказа /// </summary> /// <param name="soHeader">Модель таблицы SO_HEADER</param> public void UpdateLineFields(TSoHeader soHeader) { foreach (TSoLine line in soHeader.m_Lines) { OracleDynamicParameters odp = new OracleDynamicParameters(); string sqlstr = "UPDATE SALES_ORDER_LINE" + "SET DUE_DELIVERY_DATE =:P_DUE_DELIVERY_DATE" + "WHERE SO_ID=:P_SO_ID" + "AND SO_LINE_ID=:P_SO_LINE_ID"; odp.Add("P_DUE_DELIVERY_DATE", line.m_dDueDelivery); odp.Add("P_DUE_DELIVERY_DATE", soHeader.m_iSoID); odp.Add("P_DUE_DELIVERY_DATE", line.m_iSoLineID); using (OracleConnection connection = BaseRepo.GetDBConnection()) { connection.Execute(sqlstr, odp); } } }
/// <summary> /// Конструктор создания моделей двух таблиц SO_HEADER и SO_LINE /// </summary> public TSoHeaderRepo() { this.soHeader = new TSoHeader(); this.templine = new TSoLine(); }