public override bool Buy(string what, int quanity, Decimal amount, string text) { FR.Buy b = new Buy(); b.Name = what; b.Quanity = quanity.ToString(); b.Amount = amount; b.AdditionalText = text; return(Buy(b)); }
public virtual bool Buy(Buy buy) { return(false); }
public override bool Buy(Buy buy) { try { /*if (buy == null) * throw new Exception("Покупка не может быть null");*/ Log("Формирование покупки"); //if(buy.Name.Trim().Length == 0 || buy.Amount == 0 || buy.Quanity.Trim().Length==0) // throw new Exception("Невозможно зарегистрировать нулевую покупку."); if (!KKM.DeviceEnabled) { KKM.DeviceEnabled = true; } if (KKM.ResultCode != 0) { Log("Результирующий код != 0, выход из покупки"); return(false); } if (FiscalMode) { Log("Установлен фискальный режим"); /* if (!OpenPayment()) * { * * return false; * }*/ // Если регистрация производится в фискальном режиме. // Пароль кассира KKM.Password = _pkass; // входим в режим регистрации KKM.Mode = 1; int i = KKM.SetMode(); Log("Вход в режим регистрации"); if (!Execute(i)) { if (_errorNumber == "0" && (i == -3802 || i == -3822)) { Log("Смена превысила 24 часа, или незакрыта покупка. Попытка войти в режим"); int jj = KKM.SetMode(); if (jj != 0) { return(false); } } else { Log("Ошибка №" + _errorNumber + " отменяем покупку"); return(false); } } KKM.Name = buy.Name; KKM.Price = System.Convert.ToDouble(buy.Amount); KKM.Quantity = System.Convert.ToDouble(buy.Quanity); KKM.Department = 1; Log("Регистрация покупки"); if (!Execute(KKM.Registration())) { //KKM.ResultCode; //KKM.ResultDescription; Log("Покупка не прошла. Выход"); return(false); } Log("Перенос по словам, доп текст:" + buy.AdditionalText + ""); KKM.TextWrap = 1; // Перенос по словам. KKM.Caption = buy.AdditionalText; Log("Печать строки"); if (!Execute(KKM.PrintString())) { return(false); } Log("Закрываем покупку"); return(ClosePayment()); } else { Log("Нефискальный режим, просто печать текста:" + buy.AdditionalText); //Не фискальный режим. Просто печатаем текст. KKM.TextWrap = 1; // Перенос по словам. KKM.Caption = buy.AdditionalText; Log("Печать строки"); if (!Execute(KKM.PrintString())) { Log("Печать не прошла. не обрезаем"); return(false); } Log("Полная обрезка"); return(Execute(KKM.FullCut())); } } catch //(Exception ex) { //ex = ex; return(false); } }