Beispiel #1
0
        /// <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;
            }
        }
Beispiel #2
0
        /// <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());
        }
Beispiel #3
0
        /// <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));
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        /// <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);
        }
Beispiel #7
0
 public void SetWebmateForMessage(WebOrderDB webOrderDB)
 {
     webOrderDB.SetForWemateInterfaceMessage();
 }
Beispiel #8
0
        //check and update for Webmate..
        public bool checkWebmateEnabledOrNot(WebOrderDB webOrderDB)
        {
            bool _isEnableOrNot = webOrderDB.CheckWemateInterface();

            return(_isEnableOrNot);
        }
Beispiel #9
0
 /// <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);
 }
Beispiel #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="inOrder"></param>
 int dbSaveOrderInfo(WebOrder inOrder, WebOrderDB inWebOrderDB)
 {
     return(inWebOrderDB.SaveOrderInfo(createWebOrderDBInfo(inOrder)));
 }