public TSBExchangeGroup NewRequest()
        {
            var result = new TSBExchangeGroup();

            // Set Exchange Group Information.
            result.PkId        = 0;
            result.RequestDate = DateTime.Now;
            result.State       = TSBExchangeGroup.StateTypes.Request;
            result.FinishFlag  = TSBExchangeGroup.FinishedFlags.Avaliable;
            // Exchange Group - TSB
            result.TSBId     = TSB.TSBId;
            result.TSBNameEN = TSB.TSBNameEN;
            result.TSBNameEN = TSB.TSBNameEN;

            // Set Request Transaction.
            result.Request = new TSBExchangeTransaction();
            result.Request.TransactionDate = result.RequestDate;
            result.Request.TransactionType = TSBExchangeTransaction.TransactionTypes.Request;
            // Transaction - TSB
            result.Request.TSBId     = TSB.TSBId;
            result.Request.TSBNameEN = TSB.TSBNameEN;
            result.Request.TSBNameEN = TSB.TSBNameEN;
            // Transaction - User (Supervisor)
            result.Request.UserId     = Supervisor.UserId;
            result.Request.FullNameEN = Supervisor.FullNameEN;
            result.Request.FullNameTH = Supervisor.FullNameTH;

            return(result);
        }
        public void SaveApprove(TSBExchangeGroup value)
        {
            if (null == value || null == value.Approve)
            {
                return;
            }
            if (value.State != TSBExchangeGroup.StateTypes.Request)
            {
                return;
            }
            // Change state
            value.State = TSBExchangeGroup.StateTypes.Approve;

            value.Approve.TransactionDate = DateTime.Now;
            value.Approve.TransactionType = TSBExchangeTransaction.TransactionTypes.Approve;
            // Transaction - TSB
            value.Approve.TSBId     = TSB.TSBId;
            value.Approve.TSBNameEN = TSB.TSBNameEN;
            value.Approve.TSBNameEN = TSB.TSBNameEN;
            // Transaction - User (Supervisor)
            value.Approve.UserId     = Supervisor.UserId;
            value.Approve.FullNameEN = Supervisor.FullNameEN;
            value.Approve.FullNameTH = Supervisor.FullNameTH;

            // Save Group and Transaction.
            this.Save(value);
        }
            public NRestResult <TSBExchangeGroup> SaveTSBExchangeGroup(
                TSBExchangeGroup value)
            {
                NRestResult <TSBExchangeGroup> ret;
                NRestClient client = NRestClient.CreateLocalClient();

                if (null == client)
                {
                    ret = new NRestResult <TSBExchangeGroup>();
                    ret.RestInvalidConfig();
                    return(ret);
                }

                if (null != value)
                {
                    ret = client.Execute <TSBExchangeGroup>(
                        RouteConsts.Exchange.SaveTSBExchangeGroup.Url, value);
                }
                else
                {
                    ret = new NRestResult <TSBExchangeGroup>();
                    ret.ParameterIsNull();
                    ret.data = null;
                }
                return(ret);
            }
 private void Save(TSBExchangeGroup value)
 {
     if (null != value)
     {
         ops.Exchanges.SaveTSBExchangeGroup(value);
     }
 }
        public void PrepareApprove(TSBExchangeGroup value)
        {
            if (null == value)
            {
                return;
            }

            // Gets Request transaction from database.
            if (null == value.Request)
            {
                LoadRequest(value);
                if (null == value.Request)
                {
                    return;
                }
            }
            // Gets Approve transaction from database.
            if (null == value.Approve)
            {
                LoadApprove(value);
                // clone from request transaction if not exists.
                if (null == value.Approve)
                {
                    value.Approve = CloneTransaction(value.Request);
                    value.Approve.TransactionType = TSBExchangeTransaction.TransactionTypes.Approve;
                }
            }
        }
Exemplo n.º 6
0
 public void Setup(ExchangeWindowMode mode, TSBExchangeGroup group)
 {
     this.Mode = mode;
     if (null != group)
     {
         requestEntry.DataContext       = group.Request;
         requestDetailEntry.DataContext = group.Request;
     }
 }
 public void CancelApprove(TSBExchangeGroup value)
 {
     /*
      * if (null != value.Approve && value.Approve.TransactionId != 0)
      * {
      *  // data in database so set finished flag.
      *  value.Approve.FinishFlag = TSBExchangeTransaction.FinishedFlags.Completed;
      *  // Save Group and Transaction.
      *  Save(value);
      * }
      * value.Approve = null;
      */
 }
 public void LoadApprove(TSBExchangeGroup value)
 {
     if (null == value)
     {
         return;
     }
     if (null == value.Approve)
     {
         var filter = Search.Exchanges.Transactions.Filter.Create(this.TSB, value.GroupId,
                                                                  TSBExchangeTransaction.TransactionTypes.Approve);
         value.Approve = ops.Exchanges.GetTSBExchangeTransaction(filter).Value();
     }
 }
 public void SaveRequest(TSBExchangeGroup value)
 {
     if (null == value)
     {
         return;
     }
     if (value.State != TSBExchangeGroup.StateTypes.Request)
     {
         return;
     }
     // Save Group and Transaction.
     this.Save(value);
 }
Exemplo n.º 10
0
        public void Setup(TSBExchangeManager value, TSBExchangeGroup group)
        {
            manager = value;
            if (null == manager || null == group)
            {
                return;
            }

            // request from plaza.
            if (null == group.Request)
            {
                manager.LoadRequest(group);
            }
            if (null == group.Request)
            {
                return; // load failed
            }
            group.Request.Description = "รายการขอแลกเงินจากด่าน";
            requestEntry.DataContext  = group.Request;

            // approve from account.
            if (null == group.Approve)
            {
                manager.LoadApprove(group);
            }
            if (null == group.Approve)
            {
                return; // load failed
            }
            group.Approve.Description = "รายการอนุมัติจากบัญชี";
            approveEntry.DataContext  = group.Approve;

            // check received/exchange transaction.
            if (null == group.Received || null == group.Exchange)
            {
                manager.PrepareReceived(group);
            }
            if (null == group.Received || null == group.Exchange)
            {
                return; // load failed
            }
            // reveived from account->plaza
            group.Received.Description  = "เงินที่ได้รับจริง";
            trueReciveEntry.DataContext = group.Received;
            // exchange from plaza->account
            group.Exchange.Description = "จ่ายออก ธนบัตร/เหรียญ";
            exchangeEntry.DataContext  = group.Exchange;
        }
Exemplo n.º 11
0
        public NDbResult <List <TSBExchangeGroup> > GetRequestApproveTSBExchangeGroups(
            [FromBody] TSB value)
        {
            NDbResult <List <TSBExchangeGroup> > result;

            if (null == value)
            {
                result = new NDbResult <List <TSBExchangeGroup> >();
                result.ParameterIsNull();
            }
            else
            {
                result = TSBExchangeGroup.GetRequestApproveTSBExchangeGroups(value);
            }
            return(result);
        }
Exemplo n.º 12
0
        public NDbResult <List <TSBExchangeGroup> > GetTSBExchangeGroups(
            [FromBody] Search.Exchanges.Filter value)
        {
            NDbResult <List <TSBExchangeGroup> > result;

            if (null == value)
            {
                result = new NDbResult <List <TSBExchangeGroup> >();
                result.ParameterIsNull();
            }
            else
            {
                result = TSBExchangeGroup.GetTSBExchangeGroups(value.TSB, value.State, value.FinishedFlag,
                                                               value.ReqBegin, value.ReqEnd);
            }
            return(result);
        }
 public void CancelRequest(TSBExchangeGroup value)
 {
     if (null == value)
     {
         return;
     }
     if (value.PkId == 0)
     {
         return;
     }
     // Set Exchange Group state to Completed.
     value.State = TSBExchangeGroup.StateTypes.Canceled;
     // Set Transaction Completed.
     value.Request.FinishFlag = TSBExchangeTransaction.FinishedFlags.Completed;
     // Save Group and Transaction.
     this.Save(value);
 }
        public void PrepareReceived(TSBExchangeGroup value)
        {
            if (null == value)
            {
                return;
            }

            // Gets Request transaction from database.
            if (null == value.Request)
            {
                LoadRequest(value);
                if (null == value.Request)
                {
                    return;
                }
            }
            // Gets Approve transaction from database.
            if (null == value.Approve)
            {
                LoadApprove(value);
                if (null == value.Approve)
                {
                    return;
                }
            }
            // Gets Received and Exchange transaction from database.
            if (null == value.Received || null == value.Exchange)
            {
                LoadReceived(value);
                // clone from request transaction if not exists.
                if (null == value.Received)
                {
                    value.Received = CloneTransaction(value.Approve);
                    value.Received.TransactionType = TSBExchangeTransaction.TransactionTypes.Received;
                }
                // clone from request transaction if not exists (and set all amount/count to zero).
                if (null == value.Exchange)
                {
                    value.Exchange = CloneTransaction(value.Approve, true);
                    value.Exchange.TransactionType = TSBExchangeTransaction.TransactionTypes.Exchange;
                }
            }
        }
Exemplo n.º 15
0
        public NDbResult <TSBExchangeGroup> SaveTSBExchangeGroup(
            [FromBody] TSBExchangeGroup value)
        {
            NDbResult <TSBExchangeGroup> result;

            if (null == value)
            {
                result = new NDbResult <TSBExchangeGroup>();
                result.ParameterIsNull();
            }
            else
            {
                if (value.RequestDate == DateTime.MinValue)
                {
                    value.RequestDate = DateTime.Now;
                }
                result = TSBExchangeGroup.SaveTSBExchangeGroup(value);
            }
            return(result);
        }
 public void LoadReceived(TSBExchangeGroup value)
 {
     if (null == value)
     {
         return;
     }
     // Load Received and Exchange transaction.
     if (null == value.Received)
     {
         var filter = Search.Exchanges.Transactions.Filter.Create(this.TSB, value.GroupId,
                                                                  TSBExchangeTransaction.TransactionTypes.Received);
         value.Received = ops.Exchanges.GetTSBExchangeTransaction(filter).Value();
     }
     if (null == value.Exchange)
     {
         var filter = Search.Exchanges.Transactions.Filter.Create(this.TSB, value.GroupId,
                                                                  TSBExchangeTransaction.TransactionTypes.Exchange);
         value.Exchange = ops.Exchanges.GetTSBExchangeTransaction(filter).Value();
     }
 }
        public void SaveReceived(TSBExchangeGroup value)
        {
            if (null == value || null == value.Approve)
            {
                return;
            }
            if (value.State != TSBExchangeGroup.StateTypes.Approve)
            {
                return;
            }
            DateTime dt = DateTime.Now;

            // Change state
            value.State = TSBExchangeGroup.StateTypes.Received;
            // Received Transaction - Common
            value.Received.TransactionDate = dt;
            value.Received.TransactionType = TSBExchangeTransaction.TransactionTypes.Received;
            // Received Transaction - TSB
            value.Received.TSBId     = TSB.TSBId;
            value.Received.TSBNameEN = TSB.TSBNameEN;
            value.Received.TSBNameEN = TSB.TSBNameEN;
            // Received Transaction - User (Supervisor)
            value.Received.UserId     = Supervisor.UserId;
            value.Received.FullNameEN = Supervisor.FullNameEN;
            value.Received.FullNameTH = Supervisor.FullNameTH;

            // Exchange Transaction - Common
            value.Exchange.TransactionDate = dt;
            value.Exchange.TransactionType = TSBExchangeTransaction.TransactionTypes.Exchange;
            // Exchange Transaction - TSB
            value.Exchange.TSBId     = TSB.TSBId;
            value.Exchange.TSBNameEN = TSB.TSBNameEN;
            value.Exchange.TSBNameEN = TSB.TSBNameEN;
            // Exchange Transaction - User (Supervisor)
            value.Exchange.UserId     = Supervisor.UserId;
            value.Exchange.FullNameEN = Supervisor.FullNameEN;
            value.Exchange.FullNameTH = Supervisor.FullNameTH;

            // Save Group and Transaction.
            this.Save(value);
        }