// GET: cards/Create public ActionResult Create(String type_id) { var types = db.ITEM_TYPE.Where(c => c.NAME == type_id).ToList(); ITEM_TYPE item_type = new ITEM_TYPE(); foreach (var i in types) { item_type = i; } var addCards = new addCardModel(); var exSearch = new Models.addCards.ExtandedSearchModel(); var availItems = new List <checkBoxListModel>(); var selectedItems = new List <checkBoxListModel>(); cards card = new cards(); card.ITEM_TYPE_ID = item_type.Id; addCards.cards = card; addCards.ITEM_TYPE_ID = item_type.Id; var claims = applicationDAO.getAllCardClaims(); int count = 0; foreach (var item in claims) { if (item.ClaimType != "TYPE") { availItems.Add(new checkBoxListModel(item.ClaimValue, item.ClaimValue)); } count++; } addCards.availItems = availItems; //ViewBag.COLOR_CLAIM = new SelectList(applicationDAO.getColorClaims(), "Id", "ClaimValue"); //ViewBag.STYLE_CLAIM = new SelectList(applicationDAO.getStyleClaims(), "Id", "ClaimValue"); //ViewBag.GROUP_CLAIM = new SelectList(applicationDAO.getGroupClaims(), "Id", "ClaimValue"); Dictionary <int, string> layoutO = new Dictionary <int, string>(); var layouts = db.layout.Where(c => c.ITEM_TYPE_ID == item_type.Id); foreach (var item in layouts) { string param = item.width + " " + item.height; layoutO.Add(item.Id, param); } ViewBag.layout_id = new SelectList(layoutO, "Key", "Value"); //ViewBag.layout_id = new SelectList(db.layout.Where(c => c.ITEM_TYPE_ID == item_type.Id).ToList(), "Id", "name"); return(View(addCards)); }
// GET: cards/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } cards cards = await db.cards.FindAsync(id); if (cards == null) { return(HttpNotFound()); } var addCards = new addCardModel(); var exSearch = new Models.addCards.ExtandedSearchModel(); var availItems = new List <checkBoxListModel>(); var selectedItems = new List <checkBoxListModel>(); PostedItems postedItems = new PostedItems(); List <CARD_CLAIMS> cardClaims = applicationDAO.getCardClaims(cards.Id).ToList(); postedItems.IDs = new string[cardClaims.Count]; foreach (var i in cardClaims) { selectedItems.Add(new checkBoxListModel(i.ClaimValue, i.ClaimValue)); } addCards.selectedItems = selectedItems; addCards.cards = cards; //Select data for card claims check box list var claims = applicationDAO.getAllCardClaims(); foreach (var item in claims) { if (item.ClaimType != "TYPE") { availItems.Add(new checkBoxListModel(item.ClaimValue, item.ClaimValue)); } } addCards.availItems = availItems; //Set item_type and layouts for this item_type var types = db.ITEM_TYPE.Where(c => c.Id == cards.ITEM_TYPE_ID).ToList(); ITEM_TYPE item_type = new ITEM_TYPE(); foreach (var i in types) { item_type = i; } Dictionary <int, string> layoutO = new Dictionary <int, string>(); var layouts = db.layout.Where(c => c.ITEM_TYPE_ID == item_type.Id); foreach (var item in layouts) { string param = item.height + " " + item.width; layoutO.Add(item.Id, param); } ViewBag.layout_id = new SelectList(layoutO, "Key", "Value", cards.layout_id); ViewBag.ITEM_TYPE_ID = new SelectList(db.ITEM_TYPE, "Id", "NAME", cards.ITEM_TYPE_ID); addCards.availItems = availItems; return(View(addCards)); }
public async Task <ActionResult> Create(addCardModel addCardModel) { try { if (ModelState.IsValid) { cards card = new cards(); CARD_CLAIMS card_claims = new CARD_CLAIMS(); var selectedItems = new List <checkBoxListModel>(); var postedItemsIds = new string[0]; var availItems = new List <checkBoxListModel>(); if (addCardModel.postedItems == null) { addCardModel.postedItems = new PostedItems(); } if (addCardModel.postedItems.IDs != null && addCardModel.postedItems.IDs.Any()) { postedItemsIds = addCardModel.postedItems.IDs; } string userName = User.Identity.Name; var store = new UserStore <ApplicationUser>(new ApplicationDbContext()); var userManager = new UserManager <ApplicationUser>(store); ApplicationUser user = userManager.FindByNameAsync(userName).Result; card.text = addCardModel.cards.text; card.published = addCardModel.cards.published; card.layout_id = addCardModel.layout_id; card.IMAGES = new IMAGES(); card.IMAGES.Image = writeFile(addCardModel.cards.IMAGES.Image); card.IMAGES.Image_2 = writeFile(addCardModel.cards.IMAGES.Image_2); card.preview = imageFromBase64(addCardModel.cards.preview).ToString(); if (addCardModel.cards.preview_2 != null) { card.preview_2 = imageFromBase64(addCardModel.cards.preview_2).ToString(); } int?ITEM_TYPE_ID = 0; var type_ids = db.layout.Where(c => c.Id == addCardModel.layout_id); foreach (var i in type_ids) { ITEM_TYPE_ID = i.ITEM_TYPE_ID; } card.ITEM_TYPE_ID = ITEM_TYPE_ID; card.USER_ID = user.Id; db.cards.Add(card); await db.SaveChangesAsync(); if (postedItemsIds.Any()) { var claimsQuery = applicationDAO.selectedItemsForExtandedSearch(addCardModel.postedItems.IDs).ToList(); foreach (var i in claimsQuery) { card_claims.ClaimType = i.ClaimType; card_claims.ClaimValue = i.ClaimValue; card_claims.Card_id = card.Id; db.CARD_CLAIMS.Add(card_claims); await db.SaveChangesAsync(); } } return(RedirectToAction("../cards/Index")); } else { var exSearch = new Models.addCards.ExtandedSearchModel(); var availItems = new List <checkBoxListModel>(); var selectedItems = new List <checkBoxListModel>(); var types = db.ITEM_TYPE.Where(c => c.Id == addCardModel.ITEM_TYPE_ID).ToList(); ITEM_TYPE item_type = new ITEM_TYPE(); foreach (var i in types) { item_type = i; } Dictionary <int, string> layoutO = new Dictionary <int, string>(); var layouts = db.layout.Where(c => c.ITEM_TYPE_ID == item_type.Id); foreach (var item in layouts) { string param = item.width + " " + item.height; layoutO.Add(item.Id, param); } ViewBag.layout_id = new SelectList(layoutO, "Key", "Value"); var claims = applicationDAO.getAllCardClaims(); int count = 0; foreach (var item in claims) { if (item.ClaimType != "TYPE") { availItems.Add(new checkBoxListModel(item.ClaimValue, item.ClaimValue)); } count++; } addCardModel.availItems = availItems; return(View(addCardModel)); } } catch (Exception exc) { Console.WriteLine(exc.ToString()); return(View("Возникла ошибка")); } }