/// <summary>
        /// GiveX batch Close
        /// </summary>
        /// <param name="saleNum">Sale number</param>
        /// <param name="cashoutId">Cash out id</param>
        /// <param name="report">Report</param>
        /// <param name="userCode">User code</param>
        /// <param name="errorMessage">Error message</param>
        /// <returns>True or false</returns>
        public bool GiveX_Close(int saleNum, ref string cashoutId, ref string report,
                                string userCode, out ErrorMessage errorMessage)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,GivexClientManager,GiveX_Close,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var returnValue = false;
            var response    = new Variables.GiveXResponseType();
            var strReport   = "";

            cashoutId = "";
            report    = "";

            modStringPad.InitGiveXRequest();
            Variables.GX_Request.ServiceType = "CashOut";

            Variables.GX_Request.UserID = Convert.ToString(_givexPolicies["GIVEX_USER"]);

            Variables.GX_Request.UserPassword     = Convert.ToString(_givexPolicies["GIVEX_PASS"]);
            Variables.GX_Request.OperatorID       = "ALL";
            Variables.GX_Request.Language         = "0";
            Variables.GX_Request.TransactionCode  = (saleNum).ToString();
            Variables.GX_Request.TransmissionDate = DateAndTime.Today.ToString("MM/dd/yyyy");
            Variables.GX_Request.TransmissionTime = DateAndTime.TimeOfDay.ToString("hh:mm:ss");
            Variables.GX_Request.TerminalID       = "ALL";
            var strSend = modStringPad.GetGiveXRequest();

            if (SendGiveXRequest(strSend, "CashOut," + (saleNum), "CashOut", ref response, out errorMessage))
            {
                if (response.Result != "Approved")
                {
                    //Call DisplayMsgForm("CashOut is declined from GiveX TPS, CANNOT close batch for GiveX.", 99)
                    errorMessage.MessageStyle = _resourceManager.DisplayMsgForm(_offSet, 3273, 99, null, CriticalOkMessageType);
                    errorMessage.StatusCode   = HttpStatusCode.NotAcceptable;
                    return(false);
                }
                cashoutId = response.CashoutId.Trim();
                if (cashoutId == "0")
                {
                    errorMessage.MessageStyle = _resourceManager.DisplayMsgForm(_offSet, 3274, 99, null, CriticalOkMessageType);
                    errorMessage.StatusCode   = HttpStatusCode.NotAcceptable;
                    return(false);
                }



                returnValue = true;

                if (GetGiveXReport(saleNum, cashoutId, ref strReport, userCode, out errorMessage))
                {
                    report = strReport;
                }
            }
            Performancelog.Debug($"End,GivexClientManager,GiveX_Close,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");

            return(returnValue);
        }
Пример #2
0
        /// <summary>
        /// Method to remove temp data
        /// </summary>
        /// <param name="saleNumber">Sale number</param>
        /// <param name="tillNumber">Till number</param>
        private void RemoveTempData(int saleNumber, int tillNumber)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,SaleHeadManager,RemoveTempData,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            _saleService.RemoveTempDataInDbTill(tillNumber, saleNumber);
            Performancelog.Debug($"End,SaleHeadManager,RemoveTempData,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
        }
Пример #3
0
        //   end

        /// <summary>
        /// Method to set a customer as loyalty customer
        /// </summary>
        /// <param name="customer">Customer</param>
        /// <param name="error"></param>
        /// <returns>True or false</returns>
        public bool SetLoyaltyCustomer(Customer customer, out ErrorMessage error)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug(
                $"Start,CustomerManager,SetLoyaltyCustomer,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            error = new ErrorMessage();
            var offSet = _policyManager.LoadStoreInfo().OffSet;

            if (string.IsNullOrEmpty(customer.Code))
            {
                MessageType messageType = (int)MessageType.Critical + MessageType.OkOnly;
                error.MessageStyle = _resourceManager.CreateMessage(offSet, 0, 8108, null, messageType);
            }
            var existingCustomer = _customerService.GetClientByClientCode(customer.Code);

            if (existingCustomer == null)
            {
                MessageType messageType = (int)MessageType.Critical + MessageType.OkOnly;
                error.MessageStyle = _resourceManager.CreateMessage(offSet, 0, 6581, null, messageType);
                return(false);
            }
            if (!string.IsNullOrEmpty(existingCustomer.Loyalty_Code))
            {
                MessageType messageType = (int)MessageType.Critical + MessageType.OkOnly;
                error.MessageStyle = new MessageStyle
                {
                    Message     = "This customer is already a loyalty customer",
                    MessageType = messageType
                };
                return(false);
            }
            if (customer.Code.Length > 10)
            {
                MessageType messageType = (int)MessageType.Critical + MessageType.OkOnly;
                error.MessageStyle = _resourceManager.CreateMessage(offSet, 16, 90, null, messageType);
                return(false);
            }

            if (string.IsNullOrEmpty(customer.Loyalty_Code) || customer.Loyalty_Code == "0")
            {
                error.MessageStyle = _resourceManager.CreateMessage(offSet, 16, 94, null, MessageType.OkOnly);
                return(false);
            }

            if (CheckCustomerByLoyaltyNumber(customer.Loyalty_Code))
            {
                error.MessageStyle = _resourceManager.CreateMessage(offSet, 16, 93, null, MessageType.OkOnly);
                return(false);
            }
            existingCustomer.Loyalty_Code = customer.Loyalty_Code;
            bool status = _customerService.SaveCustomer(existingCustomer);

            Performancelog.Debug(
                $"End,CustomerManager,SetLoyaltyCustomer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(status);
        }
Пример #4
0
        /// <summary>
        /// Get password by user code
        /// </summary>
        /// <param name="userCode">User code</param>
        /// <param name="error">Error</param>
        /// <returns>User</returns>
        public string GetPassword(string userCode, out ErrorMessage error)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,LoginManager,GetPassword,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            error = new ErrorMessage();
            if (_policyManager.WINDOWS_LOGIN)
            {
                if (string.IsNullOrEmpty(userCode))
                {
                    error = new ErrorMessage
                    {
                        MessageStyle = new MessageStyle {
                            Message = "Please provide userName"
                        },
                        StatusCode = HttpStatusCode.NotFound
                    };
                    return(null);
                }
                var user = _userService.GetUser(userCode.ToUpper());
                if (user == null)
                {
                    error = new ErrorMessage
                    {
                        MessageStyle = new MessageStyle
                        {
                            Message     = "You are Not Authorized to Login",
                            MessageType = MessageType.OkOnly
                        },
                        StatusCode  = HttpStatusCode.Unauthorized,
                        ShutDownPos = true
                    };
                    return(null);
                }
                //Add user in cache

                var pswd          = new EncryptionManager();
                var decryptedText = pswd.DecryptText(user.epw);
                user.Password = decryptedText;
                CacheManager.AddUser(userCode, user);
                Performancelog.Debug(
                    $"End,LoginManager,GetPassword,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
                return(user.Password);
            }
            error = new ErrorMessage
            {
                MessageStyle = new MessageStyle
                {
                    Message     = Utilities.Constants.InvalidRequest,
                    MessageType = MessageType.OkOnly
                },
                StatusCode  = HttpStatusCode.BadRequest,
                ShutDownPos = true
            };
            return(null);
        }
        public PSProfile GetPSProfile()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,PaymentSourceManager,GetPSProfile,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            PSProfile pspf = _PaymentSourceService.GetPSProfile();

            Performancelog.Debug($"End,PaymentSourceManager,GetPSProfile,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(pspf);
        }
        public List <PSProduct> GetPSProducts()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,PaymentSourceManager,GetPSProducts,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            List <PSProduct> olist = _PaymentSourceService.GetPSProducts();

            Performancelog.Debug($"End,PaymentSourceManager,GetPSProducts,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(olist);
        }
        public bool DownloadFile()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,PaymentSourceManager,DownloadFile,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            bool bDownload = _PaymentSourceService.DownloadFile();

            Performancelog.Debug($"End,PaymentSourceManager,DownloadFile,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(bDownload);
        }
Пример #8
0
        public string GetAckrooCarwashStockCode(string sDesc)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,AckrooManager,GetAckrooCarwashStockCode,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            string sVal = _AckrooService.GetAckrooCarwashStockCode(sDesc);

            Performancelog.Debug($"End,AckrooManager,GetAckrooCarwashStockCode,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(sVal);
        }
Пример #9
0
        public string GetLoyaltyNo(int Sale_No)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,AckrooManager,GetLoyaltyNo,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            string sVal = _AckrooService.GetLoyaltyNo(Sale_No);

            Performancelog.Debug($"End,AckrooManager,GetLoyaltyNo,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(sVal);
        }
Пример #10
0
        public List <Carwash> GetCarwashCategories()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,AckrooManager,GetCarwashCategories,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            var olist = _AckrooService.GetCarwashCategories();

            Performancelog.Debug($"End,AckrooManager,GetCarwashCategories,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(olist);
        }
        public string GetFuelCodes()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,FuelDiscountManager,GetFuelCodes,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            string sCodes = _fuelDiscountService.GetFuelCodes();

            Performancelog.Debug($"End,FuelDiscountManager,GetFuelCodes,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(sCodes);
        }
        public List <ClientGroup> GetClientGroups()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,FuelDiscountManager,GetClientGroups,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            List <ClientGroup> olist = _fuelDiscountService.GetClientGroups();

            Performancelog.Debug($"End,FuelDiscountManager,GetClientGroups,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(olist);
        }
Пример #13
0
        /// <summary>
        /// Method to get stock item using a stock term
        /// </summary>
        /// <param name="searchTerm">Search term</param>
        /// <param name="pageIndex">Page Index</param>
        /// <param name="pageSize">Page size</param>
        /// <returns>List of stock items</returns>
        public List <StockItem> SearchStockItems(string searchTerm, int pageIndex = 1, int pageSize = 100)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,StockManager,SearchStockItems,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var stockItems = _stockService.SearchStock(searchTerm, _policyManager.Sell_Inactive, pageIndex, pageSize);

            Performancelog.Debug($"End,StockManager,SearchStockItems,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(stockItems);
        }
Пример #14
0
        /// <summary>
        /// Gets the List of HotButton Pages
        /// </summary>
        /// <returns></returns>
        public Dictionary <int, string> GetHotButonPages()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,StockManager,GetHotButonPages,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var hotButtonPages = _stockService.GetHotButonPages();

            Performancelog.Debug($"End,StockManager,GetHotButonPages,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(hotButtonPages);
        }
Пример #15
0
        /// <summary>
        /// save temp Install Date
        /// </summary>
        /// <param name="insDate">Install date</param>
        private void SaveTempInstallDate(DateTime insDate)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,LoginManager,SaveTempInstallDate,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var strTmp = insDate.ToString("MM/dd/yyyy");
            var value  = Encrypt(strTmp);

            _utilityService.SaveAdminValue("ExemptCode", value);
            Performancelog.Debug($"End,LoginManager,SaveTempInstallDate,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
        }
Пример #16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="searchCriteria"></param>
        /// <param name="totalResults"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public List <Customer> Search(string searchCriteria, out int totalResults, int pageIndex = 1, int pageSize = 100)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,CustomerManager,Search,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            var cardNumber = searchCriteria;

            var customer = _customerService.Search(searchCriteria, out totalResults, pageIndex, pageSize);

            if (customer.Count > 0)
            {
                return(customer);
            }
            string tempAvoidedValuesString = "";

            SqlQueryCheck(ref searchCriteria, ref tempAvoidedValuesString);
            var customerByCard = _customerService.GetClientCardByCardNumber(searchCriteria);

            if (customerByCard != null && customer.All(c => c.Code != customerByCard.ClientCode))
            {
                //check if get by card
                totalResults = -999;
                var cardCustomer = _customerService.GetClientByClientCode(customerByCard.ClientCode);
                customer.Add(cardCustomer);
            }
            else
            {
                string   strExp;
                string   strStatus;
                DateTime dExpiryDate;
                var      boolExpiredCard = false;
                var      blnFoundCst     = false;

                tempAvoidedValuesString = "";
                MessageStyle message   = null;
                var          crdNumber = EvaluateCardString(cardNumber, out message);
                if (!string.IsNullOrEmpty(message.Message))
                {
                    return(null);
                }
                SqlQueryCheck(ref crdNumber, ref tempAvoidedValuesString);
                var strCustomerCode = GetCustomerBasedOnClientCard(crdNumber, out strExp, out strStatus, out dExpiryDate);
                var crd             = _customerService.GetClientByClientCode(strCustomerCode);
                if (crd != null)
                {
                    totalResults = -999;
                    customer.Add(crd);
                }
            }
            Performancelog.Debug(
                $"End,CustomerManager,Search,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(customer);
        }
        /// <summary>
        /// Get all Sales
        /// </summary>
        /// <param name="pageIndex">Page index</param>
        /// <param name="pageSize">Page size</param>
        /// <returns></returns>
        public List <SaleHead> GetAllSales(int pageIndex, int pageSize)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,ReturnSaleManager,GetAllSales,{string.Empty},{dateStart:hh.mm.ss.ffffff}");

            DateTime saleDate = DateTime.Now.AddDays(-Convert.ToInt16(_policyManager.GetPol("RES_DAYS", null)));

            Performancelog.Debug($"End,ReturnSaleManager,GetAllSales,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");

            return(_returnSaleService.GetAllSales(saleDate, _policyManager.TIMEFORMAT, pageIndex, pageSize));
        }
Пример #18
0
        /// <summary>
        /// Method to load a customer
        /// </summary>
        /// <param name="customerCode"></param>
        /// <returns></returns>
        public Customer LoadCustomer(string customerCode)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,CustomerManager,LoadCustomer,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            Customer customer;
            var      CASH_SALE_CLIENT = "Cash Sale";

            //   to use this const to save as client for all the transaction that don't have a sepcific customer salected. It has to be same for English, French or any language supported. It was saving Cash, Cash Sale or empty strings.
            //    If Me.Code <> ""  Then ' used
            // and default customer code is set, then load it and use it

            if (_policyManager.DefaultCust && !string.IsNullOrEmpty(_policyManager.DEF_CUST_CODE))
            {
                if (customerCode == _policyManager.DEF_CUST_CODE || customerCode == CASH_SALE_CLIENT ||
                    string.IsNullOrEmpty(customerCode))
                {
                    customerCode = Convert.ToString(_policyManager.DEF_CUST_CODE);
                }
            }
            if (!string.IsNullOrEmpty(customerCode))
            {
                var offSet = _policyManager.LoadStoreInfo().OffSet;
                customer = _customerService.GetClientByClientCode(customerCode) ?? new Customer
                {
                    Code           = customerCode,
                    Name           = _resourceManager.GetResString(offSet, 400),
                    Price_Code     = 1,
                    AR_Customer    = false,
                    PointCardNum   = "",
                    PointCardPhone = "",
                    PointCardSwipe = ""
                };
            }
            else
            {
                var offSet = _policyManager.LoadStoreInfo().OffSet;
                customer = new Customer
                {
                    Code           = CASH_SALE_CLIENT,
                    Name           = _resourceManager.GetResString(offSet, 400),
                    Price_Code     = 1,
                    AR_Customer    = false,
                    PointCardNum   = "",
                    PointCardPhone = "",
                    PointCardSwipe = ""
                };
            }
            Performancelog.Debug(
                $"End,CustomerManager,LoadCustomer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(customer);
        }
Пример #19
0
        /// <summary>
        /// Save Customer
        /// </summary>
        /// <param name="customer"></param>
        /// <returns></returns>
        public bool SaveCustomer(Customer customer)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,CustomerManager,SaveCustomer,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            bool status = _customerService.SaveCustomer(customer);

            Performancelog.Debug(
                $"End,CustomerManager,SaveCustomer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(status);
        }
Пример #20
0
        /// <summary>
        /// Checks customer by code
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public bool IsCustomerExist(string code)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,CustomerManager,IsCustomerExist,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var status = _customerService.IsCustomerExist(code);

            Performancelog.Debug(
                $"End,CustomerManager,IsCustomerExist,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(status);
        }
Пример #21
0
        /// <summary>
        /// Get Customer By Code
        /// </summary>
        /// <param name="code">client code</param>
        /// <returns>customer object</returns>
        public Customer GetCustomerByCode(string code)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug(
                $"Start,CustomerManager,GetCustomerByCode,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var customer = _customerService.GetClientByClientCode(code);

            Performancelog.Debug(
                $"End,CustomerManager,GetCustomerByCode,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(customer);
        }
Пример #22
0
        /// <summary>
        /// Checks Customer by Loyalty Number
        /// </summary>
        /// <param name="customerModelLoyaltyNumber"></param>
        /// <returns></returns>
        public bool CheckCustomerByLoyaltyNumber(string customerModelLoyaltyNumber)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug(
                $"Start,CustomerManager,CheckCustomerByLoyaltyNumber,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var status = _customerService.CheckCustomerByLoyaltyNumber(customerModelLoyaltyNumber);

            Performancelog.Debug(
                $"End,CustomerManager,CheckCustomerByLoyaltyNumber,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(status);
        }
Пример #23
0
        /// <summary>
        ///  Get Client Card By CardNumber
        /// </summary>
        /// <param name="cardNumber">card number</param>
        /// <returns>ClientCard</returns>
        public ClientCard GetClientCardByCardNumber(string cardNumber)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug(
                $"Start,CustomerManager,GetCustomerByCode,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var clientCard = _customerService.GetClientCardByCardNumber(cardNumber);

            Performancelog.Debug(
                $"End,CustomerManager,GetClientCardByCardNumber,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(clientCard);
        }
Пример #24
0
        /// <summary>
        /// Get Bottles
        /// </summary>
        /// <param name="pageId">Page ID</param>
        /// <returns>List of bottles</returns>
        public List <BottleReturn> GetBottles(int pageId = 1)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,BottleManager,GetBottles,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            const int startRangeforBottle = 1000;
            var       startIndex          = (pageId - 1) * 36 + startRangeforBottle + 1;
            var       endIndex            = pageId * 36 + startRangeforBottle;
            var       bottles             = _bottleReturnService.GetBottlesFromDbMaster(startIndex, endIndex);

            Performancelog.Debug($"End,BottleManager,GetBottles,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(bottles);
        }
Пример #25
0
        /// <summary>
        /// Adjust Givex Card with the new amount
        /// </summary>
        /// <param name="givexCardNumber">givexCardNumber</param>
        /// <param name="amount">amount</param>
        /// <param name="userCode">userCode</param>
        /// <param name="tillNumber">tillNumber</param>
        /// <param name="saleNumber">saleNumber</param>
        /// <param name="stockCode">stockCode</param>
        /// <param name="givexReceipt"></param>
        /// <param name="errorMessage">errorMessage</param>
        /// <returns>Sale</returns>
        public Sale AdjustGivexCard(string givexCardNumber, decimal amount, string userCode,
                                    int tillNumber, int saleNumber, string stockCode, out Report givexReceipt,
                                    out ErrorMessage errorMessage)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,GivexManager,AdjustGivexCard,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            decimal newBalance = 0;
            var     refNum     = "";
            var     expDate    = "";
            string  result     = "";

            givexReceipt = null;
            var newLine = _saleLineManager.CreateNewSaleLine();
            var sale    = new Sale();
            GiveXReceiptType givexReceiptType;

            if (!IsValidPrice(2, amount, out errorMessage))
            {
                return(null);
            }
            if (_givexClientManager.AdjustGiveX(givexCardNumber, amount, saleNumber, ref newBalance, ref refNum,
                                                ref expDate, ref result, userCode, out errorMessage, out givexReceiptType))
            {
                givexReceipt = _receiptManager.Print_GiveX_Receipt(givexReceiptType);

                sale = _saleManager.GetCurrentSale(saleNumber, tillNumber, 0, userCode, out errorMessage);
                if (string.IsNullOrEmpty(errorMessage.MessageStyle.Message))
                {
                    _saleLineManager.SetPluCode(ref sale, ref newLine, stockCode, out errorMessage);
                    if (string.IsNullOrEmpty(errorMessage.MessageStyle.Message))
                    {
                        newLine.Line_Num      = (short)(sale.Sale_Lines.Count + 1);
                        newLine.Regular_Price = Conversion.Val(amount);

                        _saleLineManager.SetPrice(ref newLine, Conversion.Val(amount));

                        newLine.Gift_Num = givexCardNumber.Trim();
                        _saleManager.Add_a_Line(ref sale, newLine, userCode, tillNumber, out errorMessage, true);

                        //Update Sale object in Cache
                        CacheManager.AddCurrentSaleForTill(tillNumber, saleNumber, sale);
                    }
                }
            }
            Performancelog.Debug($"End,GivexManager,AdjustGivexCard,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(sale);
        }
Пример #26
0
        /// <summary>
        /// Method to create a new sale
        /// </summary>
        /// <returns>Sale</returns>
        public Sale CreateNewSale()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,SaleHeadManager,CreateNewSale,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var newSale = new Sale();

            Load_Taxes(ref newSale);
            RemoveTempData(newSale.Sale_Num, newSale.TillNumber);
            SetSalePolicies(ref newSale);
            newSale.Customer = _customerManager.LoadCustomer(string.Empty);
            Performancelog.Debug($"End,SaleHeadManager,CreateNewSale,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(newSale);
        }
Пример #27
0
        /// <summary>
        /// is Pos Allowed
        /// </summary>
        /// <param name="posId">POS id</param>
        /// <returns></returns>
        private bool IsPosAllowed(byte posId)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,LoginManager,IsPosAllowed,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            var returnValue = false;
            var security    = _policyManager.LoadSecurityInfo();

            if (_utilityService.GetDistinctIpAddress(posId) < security.MaxConcurrentPOS)
            {
                returnValue = true;
            }
            Performancelog.Debug($"End,LoginManager,IsPosAllowed,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(returnValue);
        }
Пример #28
0
        /// <summary>
        /// Method to get all promos for today
        /// </summary>
        /// <returns>List of promos</returns>
        public List <Promo> GetPromosForToday()
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,PromoManager,GetPromosForToday,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var promosForToday = CacheManager.GetPromosForToday();

            if (promosForToday != null && promosForToday.Count != 0)
            {
                return(promosForToday);
            }
            promosForToday = _promoService.GetPromosForToday();
            Performancelog.Debug($"End,PromoManager,GetPromosForToday,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            CacheManager.AddPromosForToday(promosForToday);
            return(promosForToday);
        }
Пример #29
0
        /// <summary>
        /// Get Hot Buttons
        /// </summary>
        /// <param name="pageId"></param>
        /// <returns></returns>
        public List <HotButton> GetHotButons(int pageId)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,StockManager,GetHotButons,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            if (pageId == 0)
            {
                pageId = 1;
            }
            var firstIndex = (pageId - 1) * 36 + 1;
            var lastIndex  = pageId * 36;
            var hotButtons = _stockService.GetHotButtons(firstIndex, lastIndex);

            Performancelog.Debug($"End,StockManager,GetHotButons,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(hotButtons);
        }
Пример #30
0
        // Load all the promotions in the Promos collection. Can load a specified promo or all of them
        /// <summary>
        /// Method to load all promos
        /// </summary>
        /// <param name="optPromoId">PromoID</param>
        /// <returns>Promos</returns>
        public Promos Load_Promos(string optPromoId)
        {
            var dateStart = DateTime.Now;

            Performancelog.Debug($"Start,PromoManager,Load_Promos,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");

            var promos = CacheManager.GetPromosForPromoId(optPromoId);

            if (promos != null && promos.Count != 0)
            {
                return(promos);
            }
            promos = new Promos();
            var store        = CacheManager.GetStoreInfo();
            var offSet       = store?.OffSet ?? 0;
            var none         = _resourceManager.GetResString(offSet, 347);
            var promoHeaders = _promoService.GetPromoHeadersForToday(optPromoId);

            foreach (var promoHeader in promoHeaders)
            {
                var promo      = promoHeader;
                var promoLines = new Promo_Lines();

                //promo.MaxLink = _promoService.GetMaxLink(promo.PromoID);
                //var noOfLinks = _promoService.GetNumberOfLinks(promo.PromoID);
                //foreach (var noOfLink in noOfLinks)
                //{
                //    if (noOfLink > 1)
                //    {
                //        promo.MultiLink = true;
                //        break;
                //    }
                //}

                var promoDetails = _promoService.GetPromoLines(promo.PromoID, none);
                foreach (var promoDetail in promoDetails)
                {
                    promoLines.AddLine(promoDetail, "");
                }
                promo.Promo_Lines = promoLines;
                promos.Add(promo, promo.PromoID);
            }
            Performancelog.Debug($"End,PromoManager,Load_Promos,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            CacheManager.AddPromos(optPromoId, promos);
            return(promos);
        }