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);
        }
        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));
            }
        }
Example #3
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);
        }
        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"));
        }