/// <summary> /// Function for update item tag /// </summary> /// <param name="itemTag_VM"></param> /// <param name="loginUserId"></param> /// <returns></returns> public int Update(ItemTag_VM itemTag_VM, int loginUserId) { var ret = 1; using (var dbcxtransaction = _context.Database.BeginTransaction()) { try { var itemTag = _context.Emenu_ItemTags.Where(x => x.Id == itemTag_VM.Id && x.IsDeleted == false).FirstOrDefault(); if (itemTag != null) { itemTag.Name = itemTag_VM.Name; itemTag.Status = itemTag_VM.Status; itemTag.ModifiedBy = loginUserId; itemTag.ModifiedOn = DateTime.Now; itemTag.IconTagName = itemTag_VM.IconTagName; itemTag.LabelEN = itemTag_VM.LabelEN; itemTag.LabelAR = itemTag_VM.LabelAR; _context.SaveChanges(); //Remove old var oldItemTagConcepts = _context.Emenu_ItemTagsConcepts.Where(x => x.ItemTagId == itemTag_VM.Id).ToList(); if (oldItemTagConcepts.Any()) { _context.Emenu_ItemTagsConcepts.RemoveRange(oldItemTagConcepts); _context.SaveChanges(); } //Add new var itemTagConcepts = new List <Emenu_ItemTagsConcepts>(); foreach (var conceptId in itemTag_VM.ConceptIds) { var itemTagConcept = new Emenu_ItemTagsConcepts(); itemTagConcept.ItemTagId = itemTag.Id; itemTagConcept.ConceptId = conceptId; itemTagConcepts.Add(itemTagConcept); } _context.Emenu_ItemTagsConcepts.AddRange(itemTagConcepts); _context.SaveChanges(); dbcxtransaction.Commit(); } else { ret = 0; } } catch (Exception ex) { dbcxtransaction.Rollback(); ret = 0; } } return(ret); }
public IActionResult Index(int Id = 0) { var itemTag = new ItemTag_VM(); ViewBag.ConceptsList = new SelectList(conceptsList, "Id", "ConceptName"); if (Id > 0) { itemTag = _itemTagRepository.Get(Id, this.loginUserId, isAdmin); if (itemTag == null) { return(RedirectToAction("List", "ItemTag")); } else { ViewData["Title"] = "Edit"; return(View(itemTag)); } } else { if (conceptsList.Any()) { if (SelectedConceptId > 0) { itemTag.ConceptIds = new List <int>() { conceptsList.Where(x => x.Id == SelectedConceptId).Select(x => x.Id).FirstOrDefault() }; } else { itemTag.ConceptIds = new List <int>() { conceptsList[0].Id }; } } ViewData["Title"] = "Add"; return(View(itemTag)); } }
/// <summary> /// Function for add item tag /// </summary> /// <param name="itemTags_VM"></param> /// <param name="loginUserId"></param> /// <returns></returns> public int Add(ItemTag_VM itemTag_VM, int loginUserId) { var ret = 1; using (var dbcxtransaction = _context.Database.BeginTransaction()) { try { var itemTag = new Emenu_ItemTags(); itemTag.Name = itemTag_VM.Name; itemTag.Status = itemTag_VM.Status; itemTag.CreatedOn = DateTime.Now; itemTag.CreatedBy = loginUserId; itemTag.IconTagName = itemTag_VM.IconTagName; itemTag.LabelEN = itemTag_VM.LabelEN; itemTag.LabelAR = itemTag_VM.LabelAR; _context.Emenu_ItemTags.Add(itemTag); _context.SaveChanges(); var itemTagConcepts = new List <Emenu_ItemTagsConcepts>(); foreach (var conceptId in itemTag_VM.ConceptIds) { var itemTagConcept = new Emenu_ItemTagsConcepts(); itemTagConcept.ItemTagId = itemTag.Id; itemTagConcept.ConceptId = conceptId; itemTagConcepts.Add(itemTagConcept); } _context.Emenu_ItemTagsConcepts.AddRange(itemTagConcepts); _context.SaveChanges(); dbcxtransaction.Commit(); } catch (Exception ex) { dbcxtransaction.Rollback(); ret = 0; } } return(ret); }
public async Task <IActionResult> SaveAsync(ItemTag_VM itemTag_VM) { if (itemTag_VM != null) { if (itemTag_VM.IconTag != null && itemTag_VM.IconTag.Length > 0) { itemTag_VM.IconTagName = await Helper.FileUploadAsync(path, itemTag_VM.IconTag); } if (itemTag_VM.Id > 0) { if (_itemTagRepository.Update(itemTag_VM, this.loginUserId) > 0) { TempData["Status"] = Helper.success_code; TempData["Message"] = Message.itemTagUpdated; } else { TempData["Message"] = Message.itemTagUpdatedError; } } else { if (_itemTagRepository.Add(itemTag_VM, this.loginUserId) > 0) { TempData["Status"] = Helper.success_code; TempData["Message"] = Message.itemTagAdded; } else { TempData["Message"] = Message.itemTagAddedError; } } } return(RedirectToAction("List", "ItemTag")); }