Пример #1
0
        public JsonResult MoneyOut(MoneyOutModel moneyOutData)
        {
            var result = new JSONResult();

            try
            {
                var userId         = AuthWrapper.GetUserIdByLogin(User.Identity.Name);
                var availableMoney = DataWrapper.AvailableMoneyByUserId(userId);
                var currentDate    = DateTime.Now;
                var date1          = new DateTime(currentDate.Year, currentDate.Month, currentDate.Day, 9, 0, 0);
                var date2          = new DateTime(currentDate.Year, currentDate.Month, currentDate.Day, 22, 0, 0);
                if (moneyOutData.IsValidAmount() && moneyOutData.Amount <= availableMoney)
                {
                    if (currentDate < date1 || currentDate > date2 ||
                        currentDate.DayOfWeek == DayOfWeek.Saturday ||
                        currentDate.DayOfWeek == DayOfWeek.Sunday)
                    {
                        result.SetNotSuccess(ErrorMessages.IncorrectDate);
                    }
                    else
                    {
                        var newOrder = new OrderMoneyOut()
                        {
                            OrderId     = Guid.NewGuid().ToString(),
                            UserId      = userId,
                            Amount      = moneyOutData.Amount,
                            OrderDate   = DateTime.Now,
                            Status      = StatusOrder.InProgress,
                            TypePurce   = moneyOutData.TypePurce,
                            NumberPurce = moneyOutData.NumberPurce
                        };

                        var isAddNewOrder  = DataWrapper.AddNewOrderMoneyOut(newOrder);
                        var newBalanceUser = 0.0;

                        if (isAddNewOrder)
                        {
                            DataWrapper.TakeMoneyByUserId(userId, moneyOutData.Amount);
                            newBalanceUser = DataWrapper.AvailableMoneyByUserId(userId);
                        }

                        result.SetIsSuccess("/Home/MoneyOut");
                    }
                }
                else
                {
                    if (moneyOutData.IsValidAmount())
                    {
                        result.SetNotSuccess(ErrorMessages.IncorrectAmount);
                    }
                    else
                    {
                        result.SetNotSuccess(ErrorMessages.NotEnoughMoney);
                    }
                }
            }
            catch (Exception ex)
            {
                result.SetNotSuccess(ErrorMessages.UnknownError);
                logger.Error("Method MoneyOut: ", ex);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
 public static bool IsValidAmount(this MoneyOutModel moneyOutData)
 {
     return(IsValidAmount(moneyOutData.Amount));
 }