/// <summary> /// /// </summary> /// <param name="webOrderXML"></param> void dbSaveOrder(WebOrder inOrder) { WebOrderDB webOrderDB = new WebOrderDB(); try { webOrderDB.BeginTransaction(); //check webmate enabled here or not.. bool checkWebmateIsEnabled = checkWebmateEnabledOrNot(webOrderDB); if (checkWebmateIsEnabled) { int weborderKey = dbSaveOrderInfo(inOrder, webOrderDB); int menu_key = getMenuKeyFormChit(webOrderDB); dbSaveOrderItems(weborderKey, inOrder, webOrderDB, menu_key); } else { SetWebmateForMessage(webOrderDB); } webOrderDB.EndTransaction(); } catch (Exception) { webOrderDB.RollbackTransaction(); ServiceLogger.Log(@"WebOrderDBAccessProcess.dbSaveOrder(WebOrder inOrder) ROLLBACK"); throw; } }
/// <summary> /// /// </summary> /// <param name="inOrder"></param> /// <returns></returns> WebOrderDBItem[] createWebOrderDBItems(WebOrder inOrder, WebOrderDB inWebOrderDB, int inMenuKey) //changes for menu_key { List <WebOrderDBItem> result = new List <WebOrderDBItem>(); //.................................................... DTO_WebOrderAccount accountSection = inOrder.GetCompleteAccountSection(); DTO_WebOrderHeader headerSection = inOrder.GetCompleteHeaderSection(); foreach (DTO_WebOrderItem orderItem in accountSection.OrderItems) { WebOrderDBItem item = new WebOrderDBItem(); item.ThirdPartyCodeKey = dbGetThirdPartyCodeKey(orderItem.UID, inWebOrderDB, inMenuKey); //changes for menu_key item.Qty = orderItem.Qty; item.Price = orderItem.BasePrice; item.PriceLevel0 = orderItem.BasePrice; item.PriceLevel1 = orderItem.BasePrice; item.TabName = accountSection.Name; item.TimeStamp = headerSection.OrderDate; item.Note = orderItem.Note; //-------------------------------------------------------- // Options are ignored in this version of Webmate //-------------------------------------------------------- /* * foreach (DTO_WebOrderItemOption orderItemOption in orderItem.ItemOptions) * { * WebOrderDBItemOption option = new WebOrderDBItemOption(); * option.OptionKey = Convert.ToInt32(orderItemOption.UID); * item.ItemOptions.Add(option); * } */ foreach (DTO_WebOrderItemSide orderItemSide in orderItem.ItemSides) { WebOrderDBItemSide side = new WebOrderDBItemSide(); side.ThirdPartyCodeKey = dbGetThirdPartyCodeKey(orderItemSide.UID, inWebOrderDB, inMenuKey); //changes for menu_key side.Qty = orderItemSide.Qty; side.Price = orderItemSide.BasePrice; side.PriceLevel0 = orderItemSide.BasePrice; side.PriceLevel1 = orderItemSide.BasePrice; side.TimeStamp = headerSection.OrderDate; side.TransactionNumber = orderItemSide.UID; side.TabName = accountSection.Name; side.Note = orderItem.Note; item.ItemSides.Add(side); } result.Add(item); } //.................................................... return(result.ToArray()); }
/// <summary> /// /// </summary> /// <param name="inThirdPartyCode"></param> /// <returns></returns> protected Int32 dbGetThirdPartyCodeKey(string inThirdPartyCode, WebOrderDB inWebOrderDB, int inMenukey) { Int32 result = inWebOrderDB.GetThirdPartyCodeKey(inThirdPartyCode, inMenukey); if (result > 0) { return(result); } throw new Exception(string.Format(@"Invalid Third Party Code: {0}", inThirdPartyCode)); }
/// <summary> /// /// </summary> /// <param name="inSiteID"></param> void dbValidateWebOrderSiteID(string inSiteID) { WebOrderDB webOrderDB = new WebOrderDB(); if (!webOrderDB.ValidWebOrderSiteID(inSiteID)) { throw new ExceptionOrderInvalidSiteID(@"Cannot commit an order with an invalid site ID"); } //WebOrderDBValidate.Instance.ValidateOrder(inOrder); }
public int getMenuKeyFormChit(WebOrderDB webOrderDB) { int menu_key = 0; DTO_WebOrderAccount accountSection = WebOrder.GetCompleteAccountSection(); string inorderType = accountSection.OrderType; if (inorderType != "" || inorderType != null) { menu_key = webOrderDB.GetPOSChitDetails(inorderType); } return(menu_key); }
/// <summary> /// /// </summary> /// <param name="inOrderHandle"></param> /// <returns></returns> public bool dbWebOrderAccepted(string inOrderHandle) { bool result = false; //:::::::::::::::::::::::::::::::::::::::::::::: WebOrderDB webOrderDB = new WebOrderDB(); webOrderDB.BeginTransaction(); result = webOrderDB.WebOrderAccepted(inOrderHandle); webOrderDB.EndTransaction(); //:::::::::::::::::::::::::::::::::::::::::::::: return(result); }
public void SetWebmateForMessage(WebOrderDB webOrderDB) { webOrderDB.SetForWemateInterfaceMessage(); }
//check and update for Webmate.. public bool checkWebmateEnabledOrNot(WebOrderDB webOrderDB) { bool _isEnableOrNot = webOrderDB.CheckWemateInterface(); return(_isEnableOrNot); }
/// <summary> /// /// </summary> /// <param name="inOrder"></param> void dbSaveOrderItems(int inWebOrderKey, WebOrder inOrder, WebOrderDB inWebOrderDB, int inMenuKey) { inWebOrderDB.SaveOrderItems( inWebOrderKey, createWebOrderDBItems(inOrder, inWebOrderDB, inMenuKey), inMenuKey, inOrder.AccountSection.Delivery.Phone); }
/// <summary> /// /// </summary> /// <param name="inOrder"></param> int dbSaveOrderInfo(WebOrder inOrder, WebOrderDB inWebOrderDB) { return(inWebOrderDB.SaveOrderInfo(createWebOrderDBInfo(inOrder))); }