Пример #1
0
        public DetailResponse <ArticleDto> GetDetail(int?id)
        {
            int articleId = (int)id;
            var response  = new DetailResponse <ArticleDto>();

            if (id == null)
            {
                response.Code    = MessageCode.NullPointer;
                response.Message = ErrorConstant.Get(MessageCode.NullPointer);
                response.Status  = false;
                return(response);
            }
            Article article = _unitOfWork.Article.Table.Where(p => p.Id == articleId).FirstOrDefault();

            if (article == null)
            {
                response.Code    = MessageCode.BE0002;
                response.Message = ErrorConstant.Get(MessageCode.BE0002);
                response.Status  = false;
                return(response);
            }

            response.Status = true;
            response.Data   = mapToArticleResponse(article);
            return(response);
        }
Пример #2
0
        public DetailResponse <ArticleDto> Insert(ArticleDto request)
        {
            var result = new DetailResponse <ArticleDto>();

            result.Data = request;

            try
            {
                var image = new Image()
                {
                    Url = request.Images.Url,
                    ImageDescription = ""
                };
                _unitOfWork.Image.Insert(image);
                _unitOfWork.Image.SaveChanges();

                var article = new Article()
                {
                    Title            = request.Title,
                    DescriptionShort = request.Description,
                    Content          = request.Content,
                    CategoryId       = request.CategoryId,
                    ImageId          = image.Id,
                    IsTrendingNow    = request.IsTrending,
                    IsFeature        = request.IsFeatured
                };

                article.ApproveEntity();
                _unitOfWork.Article.Insert(article);
                _unitOfWork.Article.SaveChanges();



                var tags = request.Tags;

                if (tags.Count > 0)
                {
                    foreach (var tag in tags)
                    {
                        _unitOfWork.Tag.Insert(tag);
                        _unitOfWork.Tag.SaveChanges();
                        _unitOfWork.ArticleTag.Insert(new ArticleTag()
                        {
                            TagId     = tag.Id,
                            ArticleId = article.Id
                        });
                        _unitOfWork.ArticleTag.SaveChanges();
                    }
                }

                result.Status = true;
            }
            catch (Exception exception)
            {
                result.Status  = false;
                result.Code    = MessageCode.Exception;
                result.Message = ErrorConstant.GetMessageWithData(MessageCode.Exception, exception.Message);
            }
            return(result);
        }
Пример #3
0
        public DetailResponse <int> Inactive(int?id)
        {
            try
            {
                int     articleId = (int)id;
                Article article   = findById(articleId);
                if (article == null)
                {
                    return(new DetailResponse <int>()
                    {
                        Status = false,
                        Code = MessageCode.NullPointer,
                        Message = ErrorConstant.Get(MessageCode.NullPointer),
                        Data = articleId
                    });
                }

                article.Inactive();
                _unitOfWork.Article.Update(article);
                return(new DetailResponse <int>()
                {
                    Status = true,
                    Data = articleId
                });
            } catch (VnsException exception)
            {
                return(new DetailResponse <int>()
                {
                    Status = false,
                    Code = MessageCode.Exception,
                    Message = ErrorConstant.GetMessageWithData(MessageCode.Exception, exception.Message)
                });
            }
        }
Пример #4
0
        public JsonResult CreateArticle(ArticleDto article)
        {
            DetailResponse <ArticleDto> result = new DetailResponse <ArticleDto>();

            if (article.Title == null)
            {
                result = new DetailResponse <ArticleDto>
                {
                    Status  = false,
                    Data    = article,
                    Message = ErrorConstant.Get(MessageCode.BE0003)
                };
                return(Json(result));
            }

            if (article.Description == null)
            {
                result = new DetailResponse <ArticleDto>
                {
                    Status  = false,
                    Data    = article,
                    Message = ErrorConstant.Get(MessageCode.BE0004)
                };
                return(Json(result));
            }

            result = _articleRepository.Insert(article);
            return(Json(result));
        }
Пример #5
0
        /// <summary>
        /// 得到公式单元格的值
        /// </summary>
        /// <param name="formulaValue"></param>
        /// <param name="cell"></param>
        /// <returns></returns>
        public virtual object GetCellValue(CellValue formulaValue, ICell cell)
        {
            if (formulaValue == null || cell == null)
            {
                return(formulaValue);
            }
            object value = null;

            switch (formulaValue.CellType)
            {
            case CellType.Blank:
                value = null;
                break;

            case CellType.Unknown:
            case CellType.String:
                value = formulaValue.StringValue;
                break;

            case CellType.Boolean:
                value = formulaValue.BooleanValue.ToString(CultureInfo.CurrentCulture);
                break;

            case CellType.Error:
                try
                {
                    value = ErrorConstant.ValueOf(cell.ErrorCellValue).Text;
                }
                catch
                {
                    value = cell.ErrorCellValue.ToString();
                }
                break;

            case CellType.Numeric:
                value = formulaValue.NumberValue.ToString(CultureInfo.CurrentCulture);
                break;

            case CellType.Formula:
                try
                {
                    HSSFFormulaEvaluator eva = new HSSFFormulaEvaluator(cell.Sheet.Workbook);
                    value = GetCellValue(eva.Evaluate(cell), cell);
                }
                catch
                {
                    XSSFFormulaEvaluator e = new XSSFFormulaEvaluator(cell.Sheet.Workbook);
                    value = GetCellValue(e.Evaluate(cell), cell);
                }
                break;

            default:
                value = formulaValue.StringValue;
                break;
            }

            return(value);
        }
Пример #6
0
        public DetailResponse <int> Approve(int?id)
        {
            var response = new DetailResponse <int>();

            if (id == null)
            {
                response.Code    = MessageCode.NullPointer;
                response.Message = ErrorConstant.Get(MessageCode.NullPointer);
                response.Status  = false;
                return(response);
            }
            Article article = findById(id);

            if (article == null)
            {
                response.Data    = (int)id;
                response.Code    = MessageCode.BE0002;
                response.Message = ErrorConstant.Get(MessageCode.BE0002);
                response.Status  = false;
                return(response);
            }

            article.ApproveEntity();
            try
            {
                _unitOfWork.Article.Update(article);
                _unitOfWork.Article.SaveChanges();
                response.Data   = (int)id;
                response.Status = true;
            } catch (Exception exception)
            {
                response.Code    = MessageCode.BE0001;
                response.Message = ErrorConstant.GetMessageWithData(MessageCode.BE0001, exception.Message);
                response.Status  = false;
            }

            return(response);
        }
Пример #7
0
        /// <summary>
        /// 获取单元格的值
        /// </summary>
        /// <param name="cell">单元格</param>
        /// <returns></returns>
        public virtual object GetCellValue(ICell cell)
        {
            if (cell == null)
            {
                return(null);
            }

            try
            {
                object value = null;
                switch (cell.CellType)
                {
                case CellType.Blank:     //空值 3
                    value = null;
                    break;

                case CellType.Unknown:    //未知 -1
                case CellType.String:     //字符串型 1
                    value = cell.StringCellValue;
                    break;

                case CellType.Boolean:     //布尔 4
                    value = cell.BooleanCellValue;
                    break;

                case CellType.Error:     //错误 5
                    try
                    {
                        value = ErrorConstant.ValueOf(cell.ErrorCellValue).Text;
                    }
                    catch
                    {
                        value = cell.ErrorCellValue;
                    }
                    break;

                case CellType.Numeric:     //数值型 0

                    if (DateUtil.IsCellDateFormatted(cell) || DateUtil.IsCellInternalDateFormatted(cell))
                    {
                        value = DateTime.FromOADate(cell.NumericCellValue);
                    }
                    else
                    {
                        value = cell.NumericCellValue;
                    }
                    break;

                case CellType.Formula:     //公式型 2
                    try
                    {
                        HSSFFormulaEvaluator eva = new HSSFFormulaEvaluator(cell.Sheet.Workbook);
                        value = GetCellValue(eva.Evaluate(cell), cell);
                    }
                    catch
                    {
                        XSSFFormulaEvaluator e = new XSSFFormulaEvaluator(cell.Sheet.Workbook);
                        value = GetCellValue(e.Evaluate(cell), cell);
                    }
                    break;

                default:
                    value = cell.StringCellValue;
                    break;
                }

                return(value);
            }
            catch (Exception e)
            {
                throw new Exception($"获取单元格值出错[{new CellReference(cell).FormatAsString()}]: {e.Message}", e);
            }
        }
Пример #8
0
 public string GetMessage(MessageCode code, string str)
 {
     return(str == null?ErrorConstant.Get(code) : ErrorConstant.GetMessageWithData(code, str));
 }