private static PosEventPayment GetPaymentInfoById(int iTenderId, IberDepot depot, double amount) { foreach (IIberObject tender in depot.GetEnum(Constants.FILE_TENDER)) { var idTender = tender.GetLongVal("ID"); if (idTender == iTenderId) { return new PosEventPayment { PaymentMethod = tender.GetStringVal("NAME"), Amount = amount }; } } return PosEvent.GetPaymentNotFound(); }
private void GetInternalItems(int iCheckId) { var pDepot = new IberDepot(); try { _iTries = 0; var posCheck = new PosCheck(); var lstItems = new List <ItemModel>(); var dictLevels = new Dictionary <int, ItemModel>(); foreach (IIberObject chkObject in pDepot.FindObjectFromId(INTERNAL_CHECKS, iCheckId)) { GetPromosIfAny(chkObject, posCheck); foreach (IIberObject objItem in chkObject.GetEnum(INTERNAL_CHECKS_ENTRIES)) { var modCode = objItem.GetLongVal("MOD_CODE"); if (modCode == 8) { continue; //ITEM DELETED } var idItem = objItem.GetLongVal("DATA"); if (idItem <= 0) { continue; } //var type = objItem.GetStringVal("TYPE"); //var mode = objItem.GetStringVal("MODE"); //var routing = objItem.GetStringVal("ROUTING"); //var menu = objItem.GetStringVal("MENU"); var origin = objItem.GetLongVal("ORIGIN"); var idCheckItem = objItem.GetLongVal("ID"); var itemName = objItem.GetStringVal("DISP_NAME"); var price = objItem.GetDoubleVal("PRICE"); var level = objItem.GetLongVal("LEVEL"); var item = new ItemModel { ItemId = idItem, CheckItemId = idCheckItem, Name = itemName, IsIdSpecified = true, Price = price, Level = level, ModCode = modCode, Origin = origin }; //Console.WriteLine(type + mode + origin + routing + menu); dictLevels[level] = item; if (level > 0) { item.Parent = dictLevels[level - 1]; } lstItems.Add(item); } posCheck.CheckId = iCheckId; posCheck.GuidId = Guid.NewGuid(); var dValue = chkObject.GetDoubleVal("SUBTOTAL"); posCheck.SubTotal = dValue; dValue = chkObject.GetDoubleVal("TAX"); posCheck.Tax = dValue; dValue = chkObject.GetDoubleVal("COMPLETETOTAL"); posCheck.Total = dValue; posCheck.LstItems = lstItems; //var strPosCheck = posCheck.Serialize(); //Console.WriteLine(strPosCheck); _currentCheck = posCheck; //SendPosCheckInfo(_currentCheck); } } catch //(Exception ex) { //MessageBox.Show(ex.Message + @" - " + ex.StackTrace); } }
public PosEventPayment GetPayment(int iCheckId, int iTenderId, int iPaymentId) { var depot = new IberDepot(); var lastPayment = PosEvent.GetPaymentNotFound(); try { foreach (IIberObject chkObject in depot.FindObjectFromId(Constants.INTERNAL_CHECKS, iCheckId)) { foreach (IIberObject objItem in chkObject.GetEnum(Constants.INTERNAL_PAYMENTS)) { try { var id = objItem.GetLongVal("ID"); var tenderId = objItem.GetLongVal("TENDER_ID"); var amount = objItem.GetDoubleVal("AMOUNT"); if (id == iPaymentId) { return GetPaymentInfoById(iTenderId, depot, amount); } if (tenderId == iTenderId) { lastPayment = GetPaymentInfoById(iTenderId, depot, amount); } } catch (Exception ex) { Logger.Exception(ex); } } } } catch (Exception ex) { Logger.Exception(ex); } return lastPayment; }