Beispiel #1
0
 public async Task <APIResult> GetAlls()
 {
     return(new APIResult()
     {
         Result = 0,
         Data = await categoryQueries.GetAll(LoginSession.LanguageCode)
     });
 }
        public override async Task <int> HandleCommand(DeleteCommand request, CancellationToken cancellationToken)
        {
            var category = await categoryQueries.GetById(request.CategoryId);

            if (category == null)
            {
                throw new BusinessException("Category.NotExisted");
            }
            var rs = -1;

            using (var conn = DALHelper.GetConnection())
            {
                conn.Open();
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        var categories = (await categoryQueries.GetAll()).Where(x => x.ParentId == category.Id).ToList();

                        for (int i = 0; i < categories.Count; i++)
                        {
                            categories[i].ParentId = null;
                            categories[i]          = UpdateBuild(categories[i], request.LoginSession);
                            await categoryRepository.Update(categories[i]);
                        }

                        category.IsDeleted = true;
                        category           = UpdateBuild(category, request.LoginSession);

                        if (await categoryRepository.Update(category) > 0)
                        {
                            rs = 0;
                        }
                    }
                    finally
                    {
                        if (rs == 0)
                        {
                            trans.Commit();
                        }
                        else
                        {
                            try
                            {
                                trans.Rollback();
                            }
                            catch { }
                        }
                    }
                }
            }

            return(rs);
        }
        public async Task <IActionResult> GetAll()
        {
            var result = await _categoryQueries.GetAll();

            return(Ok(result));
        }