Exemplo n.º 1
0
    public static void DropCash(int amount, Transform location)
    {
        CashDrop dropped = Instantiate(Resources.Load <CashDrop>("Prefabs/Interactable/CashDrop"), CurrentMap.Instance.pickupItems);

        dropped.transform.position = location.position;
        dropped.cashAmount         = amount;
    }
Exemplo n.º 2
0
    public virtual void DropLoot()
    {
        Item item = DropTable.GetDrop();

        if (item != null)
        {
            PickupItem instance = Instantiate(PickupItemPrefab, transform.position, Quaternion.identity);
            instance.transform.SetParent(CurrentMap.Instance.pickupItems);
            instance.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Icons/Items/" + item.Name);
            instance.transform.localScale = new Vector3(1, 1, 1);
            instance.ItemDrop             = item;
        }
        CashDrop.DropCash(Cash, transform);
    }
Exemplo n.º 3
0
        /// <summary>
        /// Method to add drop header
        /// </summary>
        /// <param name="tillNumber">Till number</param>
        /// <param name="userCode">User code</param>
        /// <param name="till">Till</param>
        /// <param name="dropDate">Drop date</param>
        /// <param name="cntDrop">Drop count</param>
        /// <param name="cashDrop">Cash drop</param>
        private void AddDropHeader(int tillNumber, string userCode, Till till, DateTime dropDate, short cntDrop,
                                   CashDrop cashDrop)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,CashManager,AddDropHeader,{string.Empty},{dateStart:hh.mm.ss.ffffff}");


            var dropHeader = new DropHeader
            {
                DropDate   = dropDate,
                UserCode   = userCode.ToUpper(),
                TillNumber = tillNumber,
                DropCount  = cntDrop,
                ShiftId    = till.Shift,
                ShiftDate  = till.ShiftDate,
                EnvelopeNo = cashDrop.Envelope_No,
                ReasonCode = string.IsNullOrEmpty(cashDrop.ReasonCode) ? "SAFE" : cashDrop.ReasonCode, //
                DropId     = cashDrop.DropID
            };

            _cashService.AddDropHeader(dropHeader);
            _performancelog.Debug($"End,CashManager,AddDropHeader,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
        }
Exemplo n.º 4
0
        /// <summary>
        /// Method to add all drop lines
        /// </summary>
        /// <param name="till">Till</param>
        /// <param name="bt">Base currency</param>
        /// <param name="dropDate">Drop date</param>
        /// <param name="cashDropTenders">Cash drop tenders</param>
        /// <param name="cashDrop">Cash drop</param>
        private void AddDropLines(Till till, string bt, DateTime dropDate, Tenders cashDropTenders, CashDrop cashDrop)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,CashManager,AddDropLines,{string.Empty},{dateStart:hh.mm.ss.ffffff}");


            foreach (Tender tempLoopVarT in cashDropTenders)
            {
                var T = tempLoopVarT;
                if (T.Amount_Entered > 0)
                {
                    var dropLine = new DropLine
                    {
                        TillNumber   = till.Number,
                        DropDate     = dropDate,
                        TenderName   = T.Tender_Name,
                        ExchangeRate = T.Exchange_Rate,
                        Amount       = T.Amount_Entered,
                        ConvAmount   = T.Amount_Used,
                        DropID       = cashDrop.DropID
                    };
                    _cashService.AddDropLine(dropLine);
                    if (T.Tender_Name.ToUpper() == bt.ToUpper())
                    {
                        till.Cash = till.Cash - T.Amount_Entered;
                        _tillService.UpdateTill(till);
                    }
                    //Cash bonus out of scope
                    //  track the cash bonus
                    //if (Policy_Renamed.Use_CashBonus)
                    //{
                    //    if (T.Tender_Name.ToUpper() == modGlobalFunctions.Get_TenderName(System.Convert.ToString(Policy_Renamed.CBonusTend)).ToUpper())
                    //    {
                    //        rs = _dbService.GetRecords("Select *  FROM   Tills  WHERE  Tills.Till_Num = " + till.Number + " ", DataSource.CSCMaster, ADODB.CursorTypeEnum.adOpenForwardOnly);
                    //        rs.Fields["CashBonus"].Value = rs.Fields["CashBonus"].Value - T.Amount_Entered;
                    //        rs.Update();
                    //        rs = null;
                    //    }
                    //}
                    //Shiny end
                }
                _performancelog.Debug($"End,CashManager,AddDropLines,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            }
        }
Exemplo n.º 5
0
        /// <summary>
        ///  Method to complete cash drop
        ///  </summary>
        /// <param name="selectedTenders">Selected tenders</param>
        /// <param name="tillNumber">Till number</param>
        /// <param name="userCode">User code</param>
        /// <param name="registerNumber">Register number</param>
        /// <param name="reason">Reason code</param>
        /// <param name="envelopeNumber">Envelope number</param>
        /// <param name="copies">Copies</param>
        /// <param name="error">Error</param>
        /// <returns>Stream</returns>
        public FileStream CompleteCashDrop(List <Tender> selectedTenders, int tillNumber, string userCode,
                                           byte registerNumber, string reason, string envelopeNumber, out int copies, out ErrorMessage error)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,CashManager,CompleteCashDrop,{string.Empty},{dateStart:hh.mm.ss.ffffff}");
            copies = _policyManager.CashDropReceiptCopies;
            var offSet = _policyManager.LoadStoreInfo().OffSet;

            error = new ErrorMessage();
            Till till = _tillService.GetTill(tillNumber);

            if (till == null)
            {
                error.MessageStyle = new MessageStyle
                {
                    Message = "Till does not exists"
                };
                error.StatusCode = System.Net.HttpStatusCode.NotFound;
                return(null);
            }
            User user = _loginManager.GetExistingUser(userCode);

            if (!Convert.ToBoolean(_policyManager.GetPol("U_TILLDROP", user)))
            {
                MessageType temp_VbStyle3 = (int)MessageType.Exclamation + MessageType.OkOnly;
                error.MessageStyle = _resourceManager.CreateMessage(offSet, 38, 55, null, temp_VbStyle3);
                error.StatusCode   = System.Net.HttpStatusCode.Forbidden;
                return(null);
            }

            var dropDate = DateTime.Now;

            if (!IsValidReason(reason))
            {
                error.MessageStyle = new MessageStyle
                {
                    Message = "Invalid reason"
                };
                error.StatusCode = System.Net.HttpStatusCode.NotFound;
                return(null);
            }


            if (_policyManager.DropEnv && string.IsNullOrEmpty(envelopeNumber))
            {
                error.MessageStyle = _resourceManager.CreateMessage(offSet, 12, 65, null, MessageType.OkOnly);
                error.StatusCode   = System.Net.HttpStatusCode.NotFound;
                return(null);
            }



            var bt = Convert.ToString(_policyManager.BASECURR);

            var cntDrop = _cashService.GetMaxCashDrop(till.Number, till.ShiftDate, till.Shift);

            var tenders = _tenderManager.Load(null, "CashDrop", false, reason, out error);

            var cashDropTenders = GetCashDropTenders(selectedTenders, tenders, 0, out error);

            if (!string.IsNullOrEmpty(error.MessageStyle.Message))
            {
                return(null);
            }
            CashDrop cashDrop = new CashDrop
            {
                Envelope_No = envelopeNumber,
                ReasonCode  = reason,
                DropID      = _cashService.GetMaxDropId(DataSource.CSCTills)
            };

            //  -   adding the unique dropid (max drop number)
            if (cashDrop.DropID == 0)
            {
                var dropId = _cashService.GetMaxDropId(DataSource.CSCTrans);
                cashDrop.DropID = dropId == 0 ? 1 : dropId;
            }
            //
            var fs = _receiptManager.PrintDrop(cashDropTenders, till, user, registerNumber, cashDrop, cntDrop);

            AddDropHeader(tillNumber, userCode, till, dropDate, cntDrop, cashDrop);

            AddDropLines(till, bt, dropDate, cashDropTenders, cashDrop);
            CacheManager.DeleteTendersForCashDrop("CashDrop", reason);
            _performancelog.Debug($"End,CashManager,CompleteCashDrop,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");

            return(fs);
        }