public async Task <IActionResult> Post([FromBody] ClosingShiftAPI transactionApi)
        {
            CashierShift cashierShift = new CashierShift();

            cashierShift.CashierShiftId = transactionApi.closingShiftId;
            cashierShift.DeviceName     = transactionApi.deviceName;
            cashierShift.EmployeeCode   = transactionApi.employeeId;
            cashierShift.EmployeeName   = transactionApi.employeeName;
            cashierShift.OpeningTime    = DateTime.Now;
            cashierShift.OpeningBalance = transactionApi.openingTransBal;
            cashierShift.ShiftCode      = transactionApi.shiftCode;
            cashierShift.ShiftName      = transactionApi.shiftCode + " - " + transactionApi.employeeName;
            cashierShift.ClosingBalance = transactionApi.closingTransBal;
            cashierShift.StoreCode      = transactionApi.storeCode;
            cashierShift.StoreName      = _context.Store.Where(c => c.Code == transactionApi.storeCode).First().Name;
            cashierShift.ClosingTime    = DateTime.Now;
            _context.Add(cashierShift);
            //log record
            LogRecord log = new LogRecord();

            log.TimeStamp = DateTime.Now;
            log.Tag       = "Closing Shift";
            log.Message   = JsonConvert.SerializeObject(transactionApi);
            _context.LogRecord.Add(log);
            _context.SaveChanges();
            this.sequenceNumber(transactionApi);

            return(Ok(cashierShift));
        }
Example #2
0
        public async Task <Guid> OpenShift()
        {
            if (await _databaseContext.CashierShifts.AnyAsync(a => a.EndDate == null))
            {
                return(Guid.Empty);
            }
            var shift = new CashierShift(_sessionContext.UserGuid);

            _databaseContext.CashierShifts.Add(shift);

            await _databaseContext.SaveChangesAsync();

            return(shift.ShiftGuid);
        }