public CashCashles ReturnedCard_commision_arr(string[] commisiontype)
    {
        CashCashles _returnedcash = new CashCashles();
        JArray      amount, commision_type;
        double      Cash     = 0;
        double      Cashless = 0;

        for (int i = 0; i < commisiontype.Length; i++)
        {
            if (commisiontype[i].Length != 0)
            {
                string  arr            = commisiontype[i].ToString();
                var     _returned      = commisiontype.GetValue(i);
                string  parse_returned = arr;
                JObject parsed         = JObject.Parse(parse_returned);
                commision_type = (JArray)parsed["commisionType"];
                amount         = (JArray)parsed["amount"];
                for (int j = 0; j < amount.Count(); j++)
                {
                    if (Convert.ToInt32(commision_type[j]) == 2)
                    {
                        Cash += Convert.ToDouble(amount[j]);
                    }
                    if (Convert.ToInt32(commision_type[j]) == 18)
                    {
                        Cashless += Convert.ToDouble(amount[j]);
                    }
                }
            }
        }
        _returnedcash.Cash     = Cash;
        _returnedcash.Cashless = Cashless;
        return(_returnedcash);
    }
        public PartialViewResult GetReturnedCardCancle(int returned_card_id)
        {
            using (DataContext _db = new DataContext())
            {
                var    ReturnedCardCancel = _db.ReturnedCards.Include("ReturnedCardAttachments").Where(c => c.Id == returned_card_id).Select(s => s).ToList();
                int    card_id            = ReturnedCardCancel.Where(c => c.Id == returned_card_id).Select(s => s.card_id).FirstOrDefault();
                double commision_ammount  = 0;
                string comm = _db.Params.Where(p => p.Name == "ReturnedCardCommision").FirstOrDefault().Value;
                if (comm == null || comm == "")
                {
                    throw new Exception("საკომისიოს რაოდენობა ვერ მოიძებნა!");
                }

                double.TryParse(comm, out commision_ammount);
                ViewBag.CommisionAmount = commision_ammount;
                Card _card = _db.Cards.Include("Subscribtions.SubscriptionPackages.Package").Where(c => c.Id == card_id).FirstOrDefault();
                if (_card != null)
                {
                    var __card = _db.Cards.Where(c => c.Id == _card.Id).Select(c => new CardDetailData
                    {
                        CustomerType         = c.Customer.Type,
                        IsBudget             = c.Customer.IsBudget,
                        SubscribAmount       = c.Subscribtions.FirstOrDefault(s => s.Status).Amount,
                        CasIds               = c.Subscribtions.FirstOrDefault(s => s.Status).SubscriptionPackages.Select(sp => (short)sp.Package.CasId),
                        PaymentAmount        = c.Payments.Sum(p => (decimal?)p.Amount) ?? 0,
                        ChargeAmount         = c.CardCharges.Select(s => (decimal?)s.Amount).Sum() ?? 0,
                        Card                 = c,
                        MinPrice             = c.Subscribtions.FirstOrDefault(s => s.Status).SubscriptionPackages.Sum(p => p.Package.MinPrice),
                        ServiceAmount        = c.CardCharges.Where(s => s.Status == CardChargeStatus.Service).Select(s => (decimal?)s.Amount).Sum() ?? 0,
                        WithoutServiceAmount = c.CardCharges.Where(s => s.Status != CardChargeStatus.Service).Select(s => (decimal?)s.Amount).Sum() ?? 0,
                        CardServices         = c.CardServices.ToList()
                    }).First();

                    decimal balance = Utils.Utils.GetBalance(__card.PaymentAmount, __card.ChargeAmount);
                    ViewBag.Balance = balance;
                    if (balance >= (decimal)commision_ammount)
                    {
                        ViewBag.Amount = balance - (decimal)commision_ammount;
                    }
                    else
                    {
                        ViewBag.Amount = 0;
                    }
                    ViewBag.card_id = card_id;
                }
                ViewBag.attachmenlist = _db.ReceiverAttachments.ToList();

                List <User> user_info = _db.Users.Include("UserType").Where(c => c.UserType.Name.Contains("დილერი") || c.UserType.Id == 1 || c.UserType.Id == 2 || c.UserType.Id == 4 || c.UserType.Id == 5).ToList();
                // ნაღდი უნაღდოს ამოღება
                string[]    arrraytechnical = _db.ReturnedCards.Where(c => c.Id == returned_card_id).Select(ss => ss.commission).ToArray();
                Commisions  _returne_cash   = new Commisions();
                CashCashles returncard_cash = new CashCashles();
                returncard_cash                 = _returne_cash.ReturnedCard_commision_arr(arrraytechnical);
                ViewBag.returncard_cash         = returncard_cash;
                ViewBag.ReturnedCardCancel      = ReturnedCardCancel.Where(c => c.Id == returned_card_id).FirstOrDefault();
                ViewBag.ReturnedCardAttachments = ReturnedCardCancel.Select(s => s.ReturnedCardAttachments.Select(ss => ss).ToList()).FirstOrDefault();
                ViewBag.Returned_Amount         = ReturnedCardCancel.Select(s => s.returned_amount).FirstOrDefault();
                return(PartialView("~/Views/Returned/_ReturnedCardCancl.cshtml", user_info));
            }
        }