Добавить больше элементов в модель и сеанс - PullRequest
0 голосов
/ 10 января 2019

В моей корзине покупок я передал данные через сессию. Здесь я столкнулся с некоторой проблемой. В корзине покупок есть 2 дополнительных поля. Как мне добавить это в мою модель. Потому что модель не привязывается к этому представлению.

Модель

public class CartTotal
{
    public decimal SubTotal { get; set; }
    public decimal DeliveryCharges { get; set; }
    //Some properties here
    public List<Items> items { get; } = new List<Items>();
}

public class Items
{
    public int ItemId { get; set; }
    public string ItemCode { get; set; }
    public string ItemName { get; set; }
    public string PersonalizedName { get; set; }
    public string Size { get; set; }

}

Перед тем, как перейти в корзину, я добавил предметы с помощью ItemsHolder.

ItemHolder

 public CartTotal ItemsHolder
 {
        get
        {
            object ItemsSession = Session["ItemSession"] as CartTotal;

            if (ItemsSession == null)
            {
                ItemsSession = new CartTotal();
                Session["ItemSession"] = ItemsSession;
            }

            return (CartTotal)ItemsSession;
        }
}

Я добавил элементы, как показано ниже, в разделе добавления элементов,

public ActionResult AddNewItems(int ItemId,string Dir)
{
   ItemsHolder.items.Add(new Items() {
                ItemId = items.ItemId,
                ItemName = items.ItemName,
                ItemPrice = items.ItemPrice,
                ImageUrl = items.ImageUrl,
                ItemCode = items.ItemCode
            });
   return RedirectToAction("Index", "Home");
}

СЕЙЧАС проблема в том, что я использую этот ItemSession в корзине и в элементе данных. У него есть 2 свойства, называемые PersonalizedName и Size. Эти поля заполнены в разделе корзины. И мне нужно добавить эти вещи в ItemHolder. Как мне это сделать? сделать это?

мой _cart частичный вид

@{
    var list = Session["ItemSession"] as XYZ.Domain.CartTotal;
}
@using (Html.BeginForm("CartFinalize", "Home"))
{
            @foreach (var item in list.items)
            {
                // Some Codes here
                <td class="cart-itm">
                    <input type="text" class="form-control personalizedName" placeholder="Personalized Name">
                </td>
                <td class="cart-itm">
                    <input type="text" class="form-control size" placeholder="Size">
               </td>
          }
}

Мне нужно добавить эти 2 предмета в определенный предмет в корзине.

...