public static NDbResult <List <LaneAttendance> > GetAllNotHasRevenueEntryByUser(User user)
        {
            var result          = new NDbResult <List <LaneAttendance> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == user)
            {
                result.ParameterIsNull();
                return(result);
            }
            var tsb = TSB.GetCurrent().Value();

            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM LaneAttendanceView ";
                    cmd += " WHERE TSBId = ? ";
                    cmd += "   AND (RevenueDate = ?";
                    cmd += "    OR  RevenueId IS NULL ";
                    cmd += "    OR  RevenueId = ?) ";
                    cmd += "   AND UserId = ? ";
                    cmd += " ORDER BY UserId, Begin";

                    var rets = NQuery.Query <FKs>(cmd,
                                                  tsb.TSBId, DateTime.MinValue, string.Empty, user.UserId).ToList();
                    var results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }

                return(result);
            }
        }
Exemple #2
0
        /// <summary>
        /// Save Plaza Revenue.
        /// </summary>
        /// <param name="value">The UserShiftRevenue instance.</param>
        /// <param name="revenueDate">The Revenue Date.</param>
        /// <param name="revenueId">The Revenue Id.</param>
        /// <returns>Returns save UserShiftRevenue instance.</returns>
        public static NDbResult <UserShiftRevenue> SavePlazaRevenue(UserShiftRevenue value,
                                                                    DateTime revenueDate, string revenueId)
        {
            var result          = new NDbResult <UserShiftRevenue>();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == value)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    value.RevenueDate = revenueDate;
                    value.RevenueId   = revenueId;
                    // save.
                    result = Save(value);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        /// <summary>
        /// Gets TSB Coupon summaries.
        /// </summary>
        /// <param name="tsb">The target TSB to get balance.</param>
        /// <returns>Returns List of TSB Coupon balance. If TSB not found returns null.</returns>
        public static NDbResult <List <TSBCouponSummary> > GetTSBCouponSummaries(TSB tsb)
        {
            var result          = new NDbResult <List <TSBCouponSummary> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd     = @"
					SELECT * FROM TSBCouponSummarryView
					 WHERE TSBId = ? "                    ;
                    var    rets    = NQuery.Query <FKs>(cmd, tsb.TSBId).ToList();
                    var    results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        /// <summary>
        /// Create Lane Attendance.
        /// </summary>
        /// <param name="lane">The Lane instance.</param>
        /// <param name="collector">The User instance.</param>
        /// <returns>Returns LaneAttendance instance.</returns>
        public static NDbResult <LaneAttendance> Create(Lane lane, User collector)
        {
            var result          = new NDbResult <LaneAttendance>();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            LaneAttendance inst = Create();
            var            tsb  = TSB.GetCurrent().Value();

            if (null == tsb)
            {
                result.ParameterIsNull();
            }
            else
            {
                if (null != tsb)
                {
                    tsb.AssignTo(inst);
                }
                if (null != lane)
                {
                    lane.AssignTo(inst);
                }
                if (null != collector)
                {
                    collector.AssignTo(inst);
                }
                result.Success(inst);
            }
            return(result);
        }
Exemple #5
0
        public static NDbResult SaveUsers(List <User> users)
        {
            var result          = new NDbResult();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == users || users.Count <= 0)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    db.BeginTransaction();

                    var roles = Models.Role.GetRoles().Value();

                    users.ForEach(user =>
                    {
                        User match = User.GetUser(user.UserId).Value();
                        if (null == match)
                        {
                            Save(user);                             // insert
                        }
                        else
                        {
                            match.UserId       = user.UserId;
                            match.PrefixEN     = user.PrefixEN;
                            match.PrefixTH     = user.PrefixTH;
                            match.FirstNameEN  = user.FirstNameEN;
                            match.FirstNameTH  = user.FirstNameTH;
                            match.MiddleNameEN = user.MiddleNameEN;
                            match.MiddleNameTH = user.MiddleNameTH;
                            match.LastNameEN   = user.LastNameEN;
                            match.LastNameTH   = user.LastNameTH;
                            match.Password     = user.Password;

                            Save(match);                             // update
                        }
                    });
                    db.Commit();
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    db.Rollback();
                }
                return(result);
            }
        }
Exemple #6
0
        public static NDbResult <List <TSBExchangeGroup> > GetTSBExchangeGroups(TSB tsb,
                                                                                StateTypes state, FinishedFlags flag, DateTime reqBegin, DateTime reqEnd)
        {
            var result          = new NDbResult <List <TSBExchangeGroup> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }

            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM TSBExchangeGroupView ";
                    cmd += " WHERE TSBId = ? ";
                    cmd += "   AND FinishFlag = ? ";
                    if (state != StateTypes.None)
                    {
                        cmd += "   AND State = ? ";
                    }
                    if (reqBegin != DateTime.MinValue)
                    {
                        cmd += "   AND RequestDate >= ? ";
                        if (reqEnd != DateTime.MinValue)
                        {
                            cmd += "   AND RequestDate <= ? ";
                        }
                    }

                    var rets    = NQuery.Query <FKs>(cmd, tsb.TSBId, flag, state, reqBegin, reqEnd).ToList();
                    var results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        /// <summary>
        /// Gets List of BHT35 by User in target TSB.
        /// </summary>
        /// <param name="tsb">The target TSB instance.</param>
        /// <param name="user">The user instance.</param>
        /// <returns>Returns List of BHT35.</returns>
        public static NDbResult <List <UserCouponTransaction> > GetUserBHT35Coupons(
            TSB tsb, User user)
        {
            var result          = new NDbResult <List <UserCouponTransaction> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM UserCouponTransactionView ";
                    cmd += " WHERE TSBId = ? ";
                    cmd += "   AND CouponType = ? ";
                    if (null != user)
                    {
                        cmd += "   AND UserId = ? ";
                    }

                    List <FKs> rets;
                    if (null != user)
                    {
                        rets = NQuery.Query <FKs>(cmd,
                                                  tsb.TSBId, CouponType.BHT35, user.UserId).ToList();
                    }
                    else
                    {
                        rets = NQuery.Query <FKs>(cmd, tsb.TSBId, CouponType.BHT35).ToList();
                    }
                    var results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
Exemple #8
0
        /// <summary>
        /// Begin User Shift.
        /// </summary>
        /// <param name="value">The UserShift instance.</param>
        /// <returns>Returns Begin User Shift Result.</returns>
        public static NDbResult BeginUserShift(UserShift value)
        {
            var result          = new NDbResult();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == value)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    var last = GetUserShift(value.TSBId, value.UserId);
                    if (null != last && null != last.data && !last.errors.hasError)
                    {
                        // not enter revenue entry.
                        result.Error(new Exception("ยังมีกะที่ยังไม่ได้ป้อนรายได้"));
                        result.errors.errNum = -10;
                        return(result);
                    }
                    // Begin new shift.
                    if (value.Begin == DateTime.MinValue)
                    {
                        value.Begin = DateTime.Now;
                    }

                    var saveRet = Save(value);
                    result.errors = saveRet.errors;
                    if (!result.errors.hasError)
                    {
                        result.Success();
                    }
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
Exemple #9
0
        /// <summary>
        /// Change Shift.
        /// </summary>
        /// <param name="value">The TSBShift instance.</param>
        /// <returns>Returns Change Shift result.</returns>
        public static NDbResult ChangeShift(TSBShift value)
        {
            var result          = new NDbResult();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == value)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    var last = GetTSBShift(value.TSBId).Value();
                    if (null != last)
                    {
                        // End shift.
                        last.End = DateTime.Now;
                        Save(last);
                    }
                    // Begin new shift.
                    if (value.Begin == DateTime.MinValue)
                    {
                        value.Begin = DateTime.Now;
                    }
                    var saveRet = Save(value);

                    result.errors = saveRet.errors;
                    if (!result.errors.hasError)
                    {
                        result.Success();
                    }
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
Exemple #10
0
        /// <summary>
        /// Gets Plazas (By PlazaGroup).
        /// </summary>
        /// <param name="value">The PlazaGroup Instance.</param>
        /// <returns>Returns List of Plaza.</returns>
        public static NDbResult <List <Plaza> > GetPlazaGroupPlazas(PlazaGroup value)
        {
            var result          = new NDbResult <List <Plaza> >();
            SQLiteConnection db = Default;

            if (null == value)
            {
                result.ParameterIsNull();
                return(result);
            }

            lock (sync)
            {
                return(GetPlazaGroupPlazas(value.TSBId, value.PlazaGroupId));
            }
        }
        /// <summary>
        /// Search.
        /// </summary>
        /// <param name="shift">The User Shift instance.</param>
        /// <returns>Returns List of LaneAttendance.</returns>
        public static NDbResult <List <LaneAttendance> > Search(UserShift shift)
        {
            var result          = new NDbResult <List <LaneAttendance> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == shift)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM LaneAttendanceView ";
                    cmd += " WHERE UserId = ? ";
                    cmd += "   AND (Begin >= ? AND Begin <= ?) ";
                    cmd += "   AND (   (End >= ? AND End <= ?) " +
                           "           OR  End = ?)";
                    cmd += " ORDER BY UserId, Begin";

                    DateTime end  = (shift.End == DateTime.MinValue) ? DateTime.Now : shift.End;
                    var      rets = NQuery.Query <FKs>(cmd,
                                                       shift.UserId,
                                                       shift.Begin, end,
                                                       shift.Begin, end,
                                                       DateTime.MinValue).ToList();
                    var results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        public static NDbResult SyncTransaction(TSBCouponTransaction value)
        {
            var result          = new NDbResult();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == value)
            {
                result.ParameterIsNull();
                return(result);
            }

            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM TSBCouponTransactionView ";
                    cmd += " WHERE TSBId = ? ";
                    cmd += "   AND CouponId = ? ";

                    var ret = NQuery.Query <FKs>(cmd,
                                                 value.TSBId, value.CouponId).FirstOrDefault().ToModel();
                    if (null != ret)
                    {
                        // exist so set id for update.
                        value.TransactionId = ret.TransactionId;
                    }

                    return(TSBCouponTransaction.Save(value));
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
Exemple #13
0
        public static NDbResult <List <TSBExchangeGroup> > GetRequestApproveTSBExchangeGroups(TSB tsb)
        {
            var result          = new NDbResult <List <TSBExchangeGroup> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }

            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM TSBExchangeGroupView ";
                    cmd += " WHERE TSBId = ? ";
                    cmd += "   AND (State = ? OR State = ?)";
                    cmd += "   AND FinishFlag = ? ";

                    var rets = NQuery.Query <FKs>(cmd, tsb.TSBId,
                                                  StateTypes.Request, StateTypes.Approve,
                                                  FinishedFlags.Avaliable).ToList();
                    var results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        /// <summary>
        /// Create Lane Payment.
        /// </summary>
        /// <param name="lane">The Lane instance.</param>
        /// <param name="collector">The User instance.</param>
        /// <param name="payment">The Payment instance.</param>
        /// <param name="date">The payment date time.</param>
        /// <param name="amount">The payment amount.</param>
        /// <returns>Returns LanePayment instance.</returns>
        public static NDbResult <LanePayment> Create(Lane lane, User collector,
                                                     Payment payment, DateTime date, decimal amount)
        {
            var result          = new NDbResult <LanePayment>();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            LanePayment inst = Create();
            var         tsb  = TSB.GetCurrent().Value();

            if (null == tsb)
            {
                result.ParameterIsNull();
            }
            else
            {
                if (null != tsb)
                {
                    tsb.AssignTo(inst);
                }
                if (null != lane)
                {
                    lane.AssignTo(inst);
                }
                if (null != collector)
                {
                    collector.AssignTo(inst);
                }
                if (null != payment)
                {
                    payment.AssignTo(inst);
                }
                inst.PaymentDate = date;
                inst.Amount      = amount;
                result.Success(inst);
            }
            return(result);
        }
        /// <summary>
        /// Gets TSB Coupon summaries.
        /// </summary>
        /// <param name="tsb">The target TSB to get balance.</param>
        /// <param name="user">The target User to get balance.</param>
        /// <returns>Returns List of TSB Coupon balance. If TSB not found returns null.</returns>
        public static NDbResult <List <TSBCouponSummary> > GetByUser(User user)
        {
            var result          = new NDbResult <List <TSBCouponSummary> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            var tsb = TSB.GetCurrent().Value();

            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }
            result = GetByUser(tsb, user);
            return(result);
        }
Exemple #16
0
        /// <summary>
        /// Create Plaza Revenue.
        /// </summary>
        /// <param name="shift">The UserShift instance.</param>
        /// <param name="plazaGroup">The PlazaGroup instance.</param>
        /// <returns>Returns UserShiftRevenue instance.</returns>
        public static NDbResult <UserShiftRevenue> CreatePlazaRevenue(
            UserShift shift, PlazaGroup plazaGroup)
        {
            var result = new NDbResult <UserShiftRevenue>();

            if (null == shift || null == plazaGroup)
            {
                result.ParameterIsNull();
                result.data = null;
            }
            else
            {
                UserShiftRevenue inst = Create();
                plazaGroup.AssignTo(inst);
                shift.AssignTo(inst);
                result.data = inst;
                result.Success();
            }
            return(result);
        }
Exemple #17
0
        /// <summary>
        /// Gets Un Close User Shifts (Active TSB).
        /// </summary>
        /// <returns>Returns List of User Shifts.</returns>
        public static NDbResult <List <UserShift> > GetUnCloseUserShifts()
        {
            var result          = new NDbResult <List <UserShift> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            var tsb = TSB.GetCurrent().Value();

            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }
            result = GetUnCloseUserShifts(tsb.TSBId);
            return(result);
        }
        /// <summary>
        /// Gets Active TSB Coupon transactions (all status).
        /// </summary>
        /// <returns>
        /// Returns Current Active TSB Coupon transactions. If not found returns null.
        /// </returns>
        public static NDbResult <List <TSBCouponTransaction> > GetTSBCouponTransactions()
        {
            var result          = new NDbResult <List <TSBCouponTransaction> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            var tsb = TSB.GetCurrent().Value();

            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }
            result = GetTSBCouponTransactions(tsb);
            return(result);
        }
        /// <summary>
        /// Gets all LaneAttendance that has not enter revenue.
        /// </summary>
        /// <returns>Returns List of LaneAttendance.</returns>
        public static NDbResult <List <LaneAttendance> > GetAllNotHasRevenueEntry()
        {
            var result          = new NDbResult <List <LaneAttendance> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            var tsb = TSB.GetCurrent().Value();

            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }
            result = GetAllNotHasRevenueEntry(tsb);
            return(result);
        }
Exemple #20
0
        /// <summary>
        /// End User Shift.
        /// </summary>
        /// <param name="value">The UserShift instance.</param>
        /// <returns>Returns End User Shift Result.</returns>
        public static NDbResult EndUserShift(UserShift value)
        {
            var result          = new NDbResult();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == value)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    // End shift.
                    if (value.End == DateTime.MinValue)
                    {
                        value.End = DateTime.Now;
                    }

                    var saveRet = Save(value);
                    result.errors = saveRet.errors;
                    if (!result.errors.hasError)
                    {
                        result.Success();
                    }
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        /// <summary>
        /// Save Transaction.
        /// </summary>
        /// <param name="value">The transaction instance.</param>
        /// <returns>Returns Save TSB Coupon transactions.</returns>
        public static NDbResult <TSBCouponTransaction> SaveTransaction(TSBCouponTransaction value)
        {
            var result          = new NDbResult <TSBCouponTransaction>();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == value)
            {
                result.ParameterIsNull();
                return(result);
            }
            if (value.TransactionDate == DateTime.MinValue)
            {
                value.TransactionDate = DateTime.Now;
            }
            return(TSBCouponTransaction.Save(value));
        }
        /// <summary>
        /// Gets Current Lane Attendance by Lane.
        /// </summary>
        /// <param name="lane">The Lane instance.</param>
        /// <returns>Returns LaneAttendance instance.</returns>
        public static NDbResult <LaneAttendance> GetCurrentByLane(Lane lane)
        {
            var result          = new NDbResult <LaneAttendance>();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == lane)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM LaneAttendanceView ";
                    cmd += " WHERE LaneId = ? ";
                    cmd += "   AND End = ? ";
                    cmd += " ORDER BY UserId, Begin";

                    var ret = NQuery.Query <FKs>(cmd, lane.LaneId,
                                                 DateTime.MinValue).FirstOrDefault();
                    var data = (null != ret) ? ret.ToModel() : null;
                    result.Success(data);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
Exemple #23
0
        /// <summary>
        /// Gets Plaza Revenue.
        /// </summary>
        /// <param name="shift">The Shift instance.</param>
        /// <param name="plazaGroup">The PlazaGroup instance.</param>
        /// <returns>Returns UserShiftRevenue instance.</returns>
        public static NDbResult <UserShiftRevenue> GetPlazaRevenue(
            UserShift shift, PlazaGroup plazaGroup)
        {
            var result          = new NDbResult <UserShiftRevenue>();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == shift || null == plazaGroup)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM UserShiftRevenueView ";
                    cmd += " WHERE UserShiftId = ? ";
                    cmd += "   AND PlazaGroupId = ? ";
                    var ret = NQuery.Query <FKs>(cmd,
                                                 shift.UserShiftId, plazaGroup.PlazaGroupId).FirstOrDefault();
                    result.data = (null != ret) ? ret.ToModel() : null;
                    result.Success();
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        public static NDbResult SaveLaneAttendances(List <LaneAttendance> values)
        {
            var result = new NDbResult();

            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == values)
            {
                result.ParameterIsNull();
                return(result);
            }

            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    db.BeginTransaction();
                    foreach (var r in values)
                    {
                        SaveLaneAttendance(r);
                    }
                    db.Commit();
                    result.Success();
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                    db.Rollback();
                }
                return(result);
            }
        }
        /// <summary>
        /// Search.
        /// </summary>
        /// <param name="revenue">The Revenue Entry instance.</param>
        /// <returns>Returns List of LaneAttendance.</returns>
        public static NDbResult <List <LaneAttendance> > Search(RevenueEntry revenue)
        {
            var result          = new NDbResult <List <LaneAttendance> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == revenue)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM LaneAttendanceView ";
                    cmd += " WHERE RevenueId = ? ";
                    cmd += " ORDER BY UserId, Begin";

                    var rets = NQuery.Query <FKs>(cmd,
                                                  revenue.RevenueId).ToList();
                    var results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        /// <summary>
        /// Search.
        /// </summary>
        /// <param name="shift">The UserShift instance.</param>
        /// <returns>Returns List of LanePayment.</returns>
        public static NDbResult <List <LanePayment> > Search(UserShift shift)
        {
            var result          = new NDbResult <List <LanePayment> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == shift)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM LanePaymentView ";
                    cmd += " WHERE Begin >= ? ";
                    cmd += "   AND End <= ? ";

                    var rets = NQuery.Query <FKs>(cmd, shift.Begin, shift.End,
                                                  DateTime.MinValue).ToList();
                    var results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        /// <summary>
        /// Save Transactions.
        /// </summary>
        /// <param name="values">The List of transaction instance.</param>
        /// <returns>Returns NDbResult.</returns>
        public static NDbResult SaveTransactions(
            List <TSBCouponTransaction> values)
        {
            var result          = new NDbResult();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == values)
            {
                result.ParameterIsNull();
                return(result);
            }

            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    db.BeginTransaction();
                    values.ForEach(value =>
                    {
                        SaveTransaction(value);
                    });
                    db.Commit();
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }

                return(result);
            }
        }
        /// <summary>
        /// Search.
        /// </summary>
        /// <param name="lane">The Lane instance.</param>
        /// <returns>Returns List of LanePayment.</returns>
        public static NDbResult <List <LanePayment> > Search(Lane lane)
        {
            var result          = new NDbResult <List <LanePayment> >();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == lane)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM LanePaymentView ";
                    cmd += " WHERE LaneId = ? ";

                    var rets    = NQuery.Query <FKs>(cmd, lane.LaneId).ToList();
                    var results = rets.ToModels();
                    result.Success(results);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
Exemple #29
0
        /// <summary>
        /// Gets TSB Coupon Balance.
        /// </summary>
        /// <param name="tsb">The target TSB to get balance.</param>
        /// <returns>Returns TSB Coupon balance. If TSB not found returns null.</returns>
        public static NDbResult <TSBCouponBalance> GetTSBBalance(TSB tsb)
        {
            var result          = new NDbResult <TSBCouponBalance>();
            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == tsb)
            {
                result.ParameterIsNull();
                return(result);
            }
            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    string cmd  = @"
						SELECT * 
						  FROM TSBCouponBalanceView
						 WHERE TSBId = ? "                        ;
                    var    ret  = NQuery.Query <FKs>(cmd, tsb.TSBId).FirstOrDefault();
                    var    data = ret.ToModel();
                    result.Success(data);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }
        public static NDbResult <LaneAttendance> SaveLaneAttendance(LaneAttendance value)
        {
            var result = new NDbResult <LaneAttendance>();

            SQLiteConnection db = Default;

            if (null == db)
            {
                result.DbConenctFailed();
                return(result);
            }
            if (null == value)
            {
                result.ParameterIsNull();
                return(result);
            }

            lock (sync)
            {
                MethodBase med = MethodBase.GetCurrentMethod();
                try
                {
                    // Search.
                    string cmd = string.Empty;
                    cmd += "SELECT * ";
                    cmd += "  FROM LaneAttendanceView ";
                    cmd += " WHERE TSBId = ? ";
                    cmd += "   AND PlazaGroupId = ? ";
                    cmd += "   AND PlazaId = ? ";
                    cmd += "   AND LaneId = ? ";
                    cmd += "   AND UserId = ? ";
                    cmd += "   AND JobId = ? ";
                    cmd += "   AND Begin = ? ";

                    var ret = NQuery.Query <FKs>(cmd,
                                                 value.TSBId, value.PlazaGroupId, value.PlazaId,
                                                 value.LaneId, value.UserId, value.JobId, value.Begin).FirstOrDefault();
                    var data = (null != ret) ? ret.ToModel() : null;
                    if (null != data)
                    {
                        value.PKId = data.PKId;                         // exists so assigned key.
                        if (string.IsNullOrEmpty(value.RevenueId) &&
                            !string.IsNullOrEmpty(data.RevenueId))
                        {
                            // set revenue id
                            value.RevenueId = data.RevenueId;
                        }
                        if (value.RevenueDate == DateTime.MinValue &&
                            data.RevenueDate != DateTime.MinValue)
                        {
                            // set revenue date
                            value.RevenueDate = data.RevenueDate;
                        }
                    }
                    result = LaneAttendance.Save(value);
                }
                catch (Exception ex)
                {
                    med.Err(ex);
                    result.Error(ex);
                }
                return(result);
            }
        }