public virtual ViewResult Edit(int orderId)
        {
            ViewBag.Editable      = true;
            ViewBag.Client        = false;
            ViewBag.OrderStatuses = GetOrderStatusList();

            ViewBag.LangTypes = EnumExtension.FilterEnumWithAttributeOf <LangType, VisibleAttribute>().Select(x => new SelectListItem
            {
                Text  = x.GetDescription(),
                Value = x.GetDisplayName()
            }).ToList();

            var order = _orderBusiness.Find(orderId, "all");

            ViewBag.LangType = order.LangType;
            if (order == null)
            {
                return(View(MVC.Shared.Views.Error));
            }
            var details = _orderDetailBusiness.Value.GetAll(orderId);

            order.OrderItems.ForEach((item) => { item.OrderDetails = details.Where(x => x.OrderItemId == item.OrderItemId).ToList(); });
            var settingRep = _settingBusiness.Get();

            ViewBag.Location     = order.AddressId == null ? "35.701076,51.391528" : order.Address.Location;
            ViewBag.OfficeUserId = GetOfficeList(order.OfficeUserId);
            return(View(order));
        }
        void LoadRelatedInfo(bool paymentGateway = false, LangType langType = LangType.Fa_En)
        {
            if (paymentGateway)
            {
                ViewBag.PaymentGatewaies = _paymentGatewayBusiness.GetAll(true);
            }

            ViewBag.Setting = _settingBusiness.Get();

            ViewBag.OfficeAddress = _officeAddressBusiness.Get(langType);
            #region GetLangType

            var list = new List <ItemTextValueModel <string, string> >();
            EnumExtension.FilterEnumWithAttributeOf <LangType, VisibleAttribute>().ForEach(item =>
            {
                list.Add(new ItemTextValueModel <string, string>()
                {
                    Key = item.GetLocalizeDescription(), Value = item.GetDisplayName()
                });
            });

            ViewBag.LangTypes = list.Select(s => new SelectListItem
            {
                Text     = s.Key,
                Value    = s.Value.ToString(),
                Selected = s.Value == "1"
            }).ToList();
            #endregion
        }
        private void GetLangTypes(string langType = nameof(LangType.Fa_En))
        {
            var list = new List <ItemTextValueModel <string, string> >();

            EnumExtension.FilterEnumWithAttributeOf <LangType, VisibleAttribute>().ForEach(item =>
            {
                list.Add(new ItemTextValueModel <string, string>()
                {
                    Key = item.GetLocalizeDescription(), Value = item.GetDisplayName()
                });
            });

            ViewBag.LangTypes = list.Select(s => new SelectListItem
            {
                Text     = s.Key,
                Value    = s.Value.ToString(),
                Selected = s.Value == langType
            }).ToList();
        }