public VarlikResult ApproveFromBankAdmin(long idMainOrder, string idTransactionState)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var data = ctx.MainOrderLog
                           .FirstOrDefault(l => l.Id == idMainOrder &&
                                           l.IdTransactionState != TransactionStateEnum.Completed &&
                                           l.IdTransactionType == TransactionTypeEnum.FromBank);

                if (idTransactionState == TransactionStateEnum.Completed)
                {
                    if (data != null)
                    {
                        data.IdTransactionState = TransactionStateEnum.Completed;
                        data.TransactionDate    = DateTime.Now;

                        var order = ctx.UserCoinTransactionOrder
                                    .FirstOrDefault(l => l.IdMainOrderLog == idMainOrder &&
                                                    l.IdTransactionState != TransactionStateEnum.Completed &&
                                                    l.IdTransactionType == TransactionTypeEnum.FromBank);

                        if (order != null)
                        {
                            ctx.UserCoinTransactionOrder.Remove(order);
                        }
                        //write tx log

                        var tx = new UserTransactionLog()
                        {
                            MoneyAmount        = data.MoneyAmount,
                            IdTransactionState = TransactionStateEnum.Completed,
                            IdTransactionType  = TransactionTypeEnum.FromBank,
                            TransactionDate    = data.TransactionDate.Value,
                            IsSucces           = true,
                            IdUser             = data.IdUser,
                            IdMainOrderLog     = idMainOrder
                        };

                        ctx.UserCoinTransactionLog.Add(tx);
                        try
                        {
                            ctx.SaveChanges();
                            result.Success();
                        }
                        catch (Exception e)
                        {
                            Log.Error("ApproveFromBankAdmin", e);
                        }
                    }
                }
            }

            return(result);
        }
        public IList <UserTransactionLog> Select(UserTransactionLog data)
        {
            IList <UserTransactionLog> datos = new List <UserTransactionLog>();

            datos = GetHsql(data).List <UserTransactionLog>();
            if (!Factory.IsTransactional)
            {
                Factory.Commit();
            }
            return(datos);
        }
Пример #3
0
        public void OnAuthorization(AuthorizationFilterContext context)
        {
            try
            {
                var userAgent = Accessor.HttpContext.Request.Headers["User-Agent"];

                string uaString = Convert.ToString(userAgent[0]);

                var uaParser = Parser.GetDefault();

                ClientInfo c          = uaParser.Parse(uaString);
                var        devicetype = c.Device.Family;
                string     userId     = context.HttpContext.Session.GetString("userid");

                string userIpAddress = Accessor.HttpContext.Connection.RemoteIpAddress.ToString();

                var userTranLog = new UserTransactionLog();
                userTranLog.userid = Accessor.HttpContext.Session.GetString("userid");
                //userLoging.userid = Accessor.HttpContext.Session.GetString("userid");
                var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;

                string controller = controllerActionDescriptor?.ControllerName;
                //string CommandType = controllerActionDescriptor?.;
                //var action = filterContext.ActionDescriptor;
                var action = controllerActionDescriptor?.ActionName;
                userTranLog.WebLink = Accessor.HttpContext.Request.Headers["Url"];// .AbsolutePath;
                //userTranLog.TransactionStatement = TransactionStatement;
                //userTranLog.CommandType = commandType;
                userTranLog.FromDateTime   = DateTime.Now;
                userTranLog.ToDateTime     = DateTime.Now;
                userTranLog.IPAddress      = userIpAddress;//request.UserHostName;// request.UserHostAddress;
                userTranLog.comid          = Accessor.HttpContext.Session.GetString("comid");
                userTranLog.ControllerName = controller;
                userTranLog.ActionName     = action;
                //userTranLog.FlagValue = TransactionalId;

                userTranLog.PcName = Environment.MachineName;


                db.Entry(userTranLog).State = Microsoft.EntityFrameworkCore.EntityState.Added;

                //db.UserTransactionLogs.Add(userTranLog);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                //errorlog(ex);
                Console.WriteLine(ex.Message);
            }
            throw new NotImplementedException();
        }
Пример #4
0
        public void TransactionLog(string Controller, string Action, string TransactionStatement, string TransactionalId, string commandType, string DocumentReferance)
        {
            try
            {
                var userAgent = Accessor.HttpContext.Request.Headers["User-Agent"];

                string uaString = Convert.ToString(userAgent[0]);

                var uaParser = Parser.GetDefault();

                ClientInfo c          = uaParser.Parse(uaString);
                var        devicetype = c.Device.Family;


                string userIpAddress = Accessor.HttpContext.Connection.RemoteIpAddress.ToString();

                var userTranLog = new UserTransactionLog();
                userTranLog.userid = Accessor.HttpContext.Session.GetString("userid");
                //userLoging.userid = Accessor.HttpContext.Session.GetString("userid");
                //Microsoft.Extensions.Primitives.StringValues d="";
                //    Accessor.HttpContext.Request.Headers.TryGetValue("Origin",out d);
                userTranLog.WebLink = Accessor.HttpContext.Request.Headers["Referer"]; // .AbsolutePath;
                userTranLog.TransactionStatement = TransactionStatement;
                userTranLog.CommandType          = commandType;
                userTranLog.FromDateTime         = DateTime.Now;
                userTranLog.ToDateTime           = DateTime.Now;
                userTranLog.IPAddress            = userIpAddress;//request.UserHostName;// request.UserHostAddress;
                userTranLog.comid             = Accessor.HttpContext.Session.GetString("comid");
                userTranLog.ControllerName    = Controller;
                userTranLog.ActionName        = Action;
                userTranLog.FlagValue         = TransactionalId;
                userTranLog.DocumentReferance = DocumentReferance;



                userTranLog.PcName = Environment.MachineName;


                db.Entry(userTranLog).State = Microsoft.EntityFrameworkCore.EntityState.Added;

                //db.UserTransactionLogs.Add(userTranLog);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                errorlog(ex);
                Console.WriteLine(ex.Message);
            }
        }
        public override IQuery GetHsql(Object data)
        {
            StringBuilder      sql = new StringBuilder("select a from UserTransactionLog a    where  ");
            UserTransactionLog usertransactionlog = (UserTransactionLog)data;

            if (usertransactionlog != null)
            {
                Parms = new List <Object[]>();
                if (usertransactionlog.RowID != 0)
                {
                    sql.Append(" a.RowID = :id     and   ");
                    Parms.Add(new Object[] { "id", usertransactionlog.RowID });
                }

                if (usertransactionlog.Company != null && usertransactionlog.Company.CompanyID != 0)
                {
                    sql.Append(" a.Company.CompanyID = :id1     and   ");
                    Parms.Add(new Object[] { "id1", usertransactionlog.Company.CompanyID });
                }

                if (usertransactionlog.Location != null && usertransactionlog.Location.LocationID != 0)
                {
                    sql.Append(" a.Location.LocationID = :id2     and   ");
                    Parms.Add(new Object[] { "id2", usertransactionlog.Location.LocationID });
                }

                if (usertransactionlog.Terminal != null && usertransactionlog.Terminal.TerminalID != 0)
                {
                    sql.Append(" a.Terminal.TerminalID = :id3     and   ");
                    Parms.Add(new Object[] { "id3", usertransactionlog.Terminal.TerminalID });
                }

                if (usertransactionlog.DocType != null && usertransactionlog.DocType.DocTypeID != 0)
                {
                    sql.Append(" a.DocType.DocTypeID = :id4     and   ");
                    Parms.Add(new Object[] { "id4", usertransactionlog.DocType.DocTypeID });
                }
            }

            sql = new StringBuilder(sql.ToString());
            sql.Append("1=1 order by a.RowID asc ");
            IQuery query = Factory.Session.CreateQuery(sql.ToString());

            SetParameters(query);
            return(query);
        }
Пример #6
0
        public VarlikResult ApproveAdmin(long idMainOrder,
                                         string idTransactionState,
                                         bool commissionable,
                                         decimal confirmableMoneyAmount = -1)
        {
            var result = new VarlikResult();

            using (var ctx = new VarlikContext())
            {
                var mainOrder = ctx.MainOrderLog
                                .FirstOrDefault(l => l.Id == idMainOrder &&
                                                l.IdTransactionState != TransactionStateEnum.Completed);

                var order = ctx.UserCoinTransactionOrder
                            .FirstOrDefault(l => l.IdMainOrderLog == idMainOrder &&
                                            l.IdTransactionState != TransactionStateEnum.Completed &&
                                            l.IdTransactionType == mainOrder.IdTransactionType);

                if (mainOrder == null || order == null)
                {
                    return(result);
                }

                if (idTransactionState == TransactionStateEnum.Completed)
                {
                    mainOrder.IdTransactionState = TransactionStateEnum.Completed;
                    mainOrder.TransactionDate    = DateTime.Now;

                    ctx.UserCoinTransactionOrder.Remove(order);

                    //write tx log

                    var commissinMoney = 0M;
                    if (mainOrder.IdTransactionType == TransactionTypeEnum.ToBank)
                    {
                        commissinMoney = 2.5M;
                    }
                    var commissionCoinCount = 0M;
                    if (mainOrder.IdTransactionType == TransactionTypeEnum.ToWallet)
                    {
                        var commissionMAnager = new CommisionOperation();
                        var commissionR       = commissionMAnager.GetTransferCommissionByIdCoinType(mainOrder.IdCoinType);
                        if (commissionR.IsSuccess)
                        {
                            commissionCoinCount = commissionR.Data;
                        }
                    }

                    var moneyAmount = order.MoneyAmount;
                    if (confirmableMoneyAmount > 0M)
                    {
                        moneyAmount = confirmableMoneyAmount;
                    }

                    var coinAmount = mainOrder.CoinAmount - commissionCoinCount;
                    if (!commissionable)
                    {
                        coinAmount          = mainOrder.CoinAmount;
                        commissionCoinCount = 0;
                    }
                    var tx = new UserTransactionLog()
                    {
                        MoneyAmount         = moneyAmount,
                        IdTransactionState  = TransactionStateEnum.Completed,
                        IdTransactionType   = mainOrder.IdTransactionType,
                        TransactionDate     = mainOrder.TransactionDate.Value,
                        IsSucces            = true,
                        IdUser              = mainOrder.IdUser,
                        IdMainOrderLog      = idMainOrder,
                        CoinAmount          = coinAmount,
                        CoinUnitPrice       = mainOrder.CoinUnitPrice,
                        IdCoinType          = mainOrder.IdCoinType,
                        CommissionMoney     = commissinMoney,
                        CommissionCoinCount = commissionCoinCount
                    };

                    ctx.UserCoinTransactionLog.Add(tx);
                    try
                    {
                        ctx.SaveChanges();
                        result.Success();
                    }
                    catch (Exception e)
                    {
                        Log.Error("ApproveFromBankAdmin", e);
                    }
                }
                else if (idTransactionState == TransactionStateEnum.CancelledByAdmin)
                {
                    ctx.UserCoinTransactionOrder.Remove(order);
                    mainOrder.IdTransactionState = TransactionStateEnum.CancelledByAdmin;
                    mainOrder.TransactionDate    = DateTime.Now;
                    try
                    {
                        ctx.SaveChanges();
                        result.Success();
                    }
                    catch (Exception e)
                    {
                        Log.Error("ApproveFromBankAdmin", e);
                    }
                }
            }
            return(result);
        }
 public UserTransactionLog SelectById(UserTransactionLog data)
 {
     return((UserTransactionLog)base.SelectById(data));
 }
 public Boolean Delete(UserTransactionLog data)
 {
     return(base.Delete(data));
 }
 public Boolean Update(UserTransactionLog data)
 {
     return(base.Update(data));
 }
 public UserTransactionLog Save(UserTransactionLog data)
 {
     return((UserTransactionLog)base.Save(data));
 }