public int SaveCashRegister(DateTime date, short salesman, string period, decimal?cheques, decimal?talabat,
                                    decimal?online, decimal?knet, decimal?visa, decimal?expense, int?twentykd, int?tenkd, int?fivekd, int?onekd,
                                    int?halfkd, int?quarterkd, int?hundfils, int?fiftyfils, int?twentyfils, int?tenfils, int?fivefils, decimal?netBalance)
        {
            var locationId = short.Parse(Request.Cookies["locationId"].Value);
            var shiftType  = period == "evening" ? "pm" : "am";

            var shiftCount = new ShiftCount()
            {
                LocationId = locationId,
                ShiftType  = shiftType,
                Salesman   = salesman,
                StaffDate  = date
            };

            var cRegister = new CRegister()
            {
                Oid        = _cashRegisterRepository.GetOid(),
                StaffDate  = date,
                TransDate  = DateTime.Now,
                Cheques    = cheques ?? 0,
                Expense    = expense ?? 0,
                FiftyFils  = fiftyfils ?? 0,
                FiveFils   = fivefils ?? 0,
                FiveKd     = fivekd ?? 0,
                HalfKd     = halfkd ?? 0,
                HundFils   = hundfils ?? 0,
                Knet       = knet ?? 0,
                LocationId = locationId,
                NetBalance = netBalance ?? 0,
                OneKd      = onekd ?? 0,
                Online     = online ?? 0,
                ShiftType  = shiftType,
                QuarterKd  = quarterkd ?? 0,
                Reserve    = _locationRepository.GetReserveAmount(locationId),
                Salesman   = salesman,
                Talabat    = talabat ?? 0,
                TenFils    = tenfils ?? 0,
                TenKd      = tenkd ?? 0,
                TwentyFils = twentyfils ?? 0,
                TwentyKd   = twentykd ?? 0,
                Visa       = visa ?? 0,
                ShiftCount = _cashRegisterRepository.GetShiftCount(shiftCount),
                IsDeleted  = false,
                IsSynced   = false
            };

            var result = _cashRegisterRepository.SaveCashRegister(cRegister);

            if (result != 0)
            {
                return(result);
            }

            return(-1);
        }
Esempio n. 2
0
        public int GetShiftCount(ShiftCount shiftCount)
        {
            var con = new SQLiteConnection(cs);

            con.Open();

            var cmd = new SQLiteCommand(con)
            {
                CommandText = $"select * from CashRegister where (IsDeleted IS NULL OR IsDeleted = 0) AND LocatCd = {shiftCount.LocationId} and Salesman = {shiftCount.Salesman} and ShiftType = '{shiftCount.ShiftType}' and [IsSynced] IS NULL"
            };

            var rdr        = cmd.ExecuteReader();
            var cRegisters = new List <CRegister>();

            while (rdr.Read())
            {
                var cRegister = new CRegister()
                {
                    Oid        = rdr.GetInt32(0),
                    StaffDate  = DateTime.Parse(rdr.GetString(2)),
                    LocationId = rdr.GetInt16(3),
                    Salesman   = rdr.GetInt16(4),
                    ShiftType  = rdr.GetString(5),
                    ShiftCount = rdr.GetInt32(6)
                };

                cRegisters.Add(cRegister);
            }

            cmd.Dispose();
            con.Close();
            con.Dispose();

            if (cRegisters.Any())
            {
                var reg = cRegisters.Where(x => x.StaffDate >= shiftCount.StaffDate && x.StaffDate <= shiftCount.StaffDate);
                return(reg.Any() ? reg.OrderByDescending(x => x.ShiftCount).FirstOrDefault().ShiftCount + 1 : 1);
            }
            else
            {
                return(1);
            }
        }