public JsonResult UpdateCategory(ComponentCategoryDTO dto)
        {
            ComponentCategoryDTO result = null;

            try
            {
                var entity = UnitOfWork.TblXCat.Get(dto.ID);

                if (entity != null)
                {
                    entity.cat_comp_id = dto.cat_comp_id;
                    entity.cat_cat1_id = dto.cat_cat1_id;
                    entity.cat_cat2_id = dto.cat_cat2_id;

                    entity.tbl_cat1 = null;
                    entity.tbl_cat2 = null;
                    entity.tbl_comp = null;

                    UnitOfWork.Save();

                    result = Mapper.Map <ComponentCategoryDTO>(entity);
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public JsonResult AddCategory(ComponentCategoryDTO dto)
        {
            ComponentCategoryDTO result = null;

            try
            {
                var entity = Mapper.Map <tbl_X_cat>(dto);

                if (entity != null)
                {
                    entity.tbl_cat1 = null;
                    entity.tbl_cat2 = null;
                    entity.tbl_comp = null;

                    if (entity.cat_cat2_id == 0)
                    {
                        var cat2 = UnitOfWork.TblCategory2
                                   .Find(t => t.cat1_id == entity.cat_cat1_id)
                                   .FirstOrDefault();

                        if (cat2 != null)
                        {
                            entity.cat_cat2_id = cat2.id;
                        }
                    }

                    UnitOfWork.TblXCat.Add(entity);
                    UnitOfWork.Save();

                    result = Mapper.Map <ComponentCategoryDTO>(entity);
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }