コード例 #1
0
        /// <summary>
        /// 添加文献
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult Add(ReferenceView model)
        {
            if (!ModelState.IsValid)
            {
                return(WriteStatusError(ModelState));
            }
            if (!string.IsNullOrWhiteSpace(model.PageBegin) && !string.IsNullOrWhiteSpace(model.PageEnd))
            {
                try
                {
                    var start = int.Parse(model.PageBegin);
                    var end   = int.Parse(model.PageEnd);
                    if (start > end)
                    {
                        return(WriteError("起始页不能大于终止页!"));
                    }
                }
                catch (Exception e)
                {
                    return(WriteError(e.Message));
                }
            }
            if (referenceSer.Any(x => x.ReferenceType == model.ReferenceType && x.Year == model.Year && x.FirstAuthor == model.FirstAuthor && (x.Title == model.Title || x.Title == null) && (x.BookTitle == model.BookTitle || x.BookTitle
                                                                                                                                                                                              == null) && (x.Journal == model.Journal || x.Journal == null)))
            {
                return(WriteError("文献重复,请确认!"));
            }
            model.R_ID = Guid.NewGuid().ToString();
            var rModel = new Reference();

            rModel.CopyFrom(model);
            referenceSer.Add(rModel);
            referenceSer.SaveChanges();
            return(WriteSuccess(new
            {
                rModel.R_ID,
                ShowTitle = rModel.Title ?? rModel.BookTitle ?? rModel.Journal,
                msg = "操作成功!"
            }));
        }