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; }
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); }
/// <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}"); }
/// <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}"); } }
/// <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); }