/// <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); }
/// <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); }