/// <summary> /// /// </summary> /// <param name="inOrder"></param> /// <returns></returns> WebOrderDBInfo createWebOrderDBInfo(WebOrder inOrder) { WebOrderDBInfo result = new WebOrderDBInfo(); //.................................................... DTO_WebOrderHeader headerSection = inOrder.GetCompleteHeaderSection(); DTO_WebOrderAccount accountSection = inOrder.GetCompleteAccountSection(); result.GUID = inOrder.Handle; result.Name = accountSection.Name; result.StoreName = headerSection.StoreName; result.OrderDate = headerSection.OrderDate; result.ExpectedDate = headerSection.ExpectedDate; result.Status = WebOrderDB.WebOrderStatus.ewosReceived; result.Recipient = accountSection.Delivery.Recipient; result.StreetNo = accountSection.Delivery.StreetNo; result.StreetName = accountSection.Delivery.StreetName; result.Suburb = accountSection.Delivery.Suburb; result.City = accountSection.Delivery.City; result.Country = accountSection.Delivery.Country; result.Note = accountSection.Delivery.Note; result.Phone = accountSection.Delivery.Phone; result.Comments = accountSection.Comments; result.PaymentRequired = accountSection.Payments.PaymentRequired; result.OrderTotal = headerSection.OrderTotal; result.Email = accountSection.Email; result.OrderType = accountSection.OrderType; //.................................................... return(result); }
/// <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> /// Validates an order in the database by checking out the Member Number /// </summary> /// <param name="inOrder"></param> void dbValidateWebOrder(WebOrder inOrder) { dbValidateWebOrderSiteID(inOrder.FromSection.SiteID); dbValidateWebOrderSiteName(inOrder.FromSection.SiteName); dbValidateWebOrderItems(inOrder.AccountSection.OrderItems); //WebOrderDBValidate.Instance.ValidateOrder(inOrder); }
/// <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()); }
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> /// Commits a complete order. The order GOES to the DB. /// </summary> /// <param name="inOrder"></param> /// <returns></returns> public void CommitOrder(WebOrder inWebOrder) { try { dbValidateWebOrder(inWebOrder); web_order_xml_manager.SaveComplete(inWebOrder); web_order_xml_manager.RemoveIncomplete(inWebOrder); } catch (Exception) { web_order_xml_manager.RemoveIncomplete(inWebOrder); throw; } }
/// <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))); }
/// <summary> /// IS BEING NOT USED /// </summary> /// <param name="outWebOrder"></param> /// <returns></returns> public void RemoveOrder(WebOrder inWebOrder) { web_order_xml_manager.RemoveIncomplete(inWebOrder); }
/// <summary> /// /// </summary> /// <param name="inOrder"></param> /// <returns></returns> public void LoadOrder(string inOrderHandle, WebOrder outWebOrder) { web_order_xml_manager.LoadIncomplete(inOrderHandle, outWebOrder); }
/// <summary> /// /// </summary> /// <param name="inWebOrder"></param> /// <param name="inMessage"></param> protected void moveToFailedOrder(WebOrder inWebOrder, string inMessage) { web_order_xml_manager.MoveOrderToFailedFolder(inWebOrder, inMessage); }
/// <summary> /// /// </summary> /// <param name="inProcess"></param> protected void moveToSucessfulOrder(WebOrder inWebOrder) { web_order_xml_manager.MoveOrderToSuccesfulFolder(inWebOrder); }
/// <summary> /// /// </summary> /// <param name="inOrderHandle"></param> protected void removeIncompleteOrder(WebOrder inWebOrder) { web_order_xml_manager.RemoveIncomplete(inWebOrder); }
/// <summary> /// /// </summary> /// <param name="inFileURI"></param> /// <param name="webOrder"></param> /// <returns></returns> protected string readOrderFromFile(string inFileURI, out WebOrder outWebOrder) { return(web_order_xml_manager.ReadCompletOrderFromFile(inFileURI, out outWebOrder)); }