Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }