示例#1
0
        public ActionResult Edit(long?resid, CroResource model, FormCollection fc)
        {
            if (!ModelState.IsValid)
            {
                return(Edit(model.CrosourceId));
            }

            var user   = ResSettings.SettingsInSession.User;
            var active = APBplDef.ActiveBpl.GetAll().Find(x => x.IsCurrent);

            model.StatePKID   = CroResourceHelper.StateAllow;
            model.AuditedTime = DateTime.Now;
            model.ActiveId    = active.ActiveId;

            if (model.CrosourceId > 0)
            {
                model.LastModifier = ResSettings.SettingsInSession.UserId;
                db.CroResourceDal.Update(model);
            }
            else
            {
                model.DeliveryStatus = CroResourceHelper.NotDelivery;
                model.Creator        = user.UserId;
                model.CreatedTime    = model.LastModifiedTime = DateTime.Now;

                db.CroResourceDal.Insert(model);
            }

            return(Request.IsAjaxRequest() ? Json(new
            {
                state = "ok",
                msg = "论文作品上传成功"
            }) : (ActionResult)RedirectToAction("Details", new { id = model.CrosourceId }));
        }
示例#2
0
        //上传论文

        public ActionResult Upload(long?resid)
        {
            var active = ResSettings.SettingsInSession.Actives.First();

            if (active == null)
            {
                throw new ApplicationException("没有任何活动,请联系管理员");
            }

            var user      = ResSettings.SettingsInSession.User;
            var provinces = ResSettings.SettingsInSession.AllProvince();
            var areas     = ResSettings.SettingsInSession.AllAreas();

            ViewBag.Provinces    = provinces;
            ViewBag.Areas        = areas;
            ViewBag.ProvincesDic = GetStrengthDict(areas);
            ViewBag.AreasDic     = GetStrengthDict(areas);
            ViewBag.ResTypes     = GetStrengthDict(CroResourceHelper.ResourceType.GetItems());
            ViewBag.Themes       = CroResourceHelper.Theme.GetItems();


            CroResource model = null;

            if (resid > 0)
            {
                model = APBplDef.CroResourceBpl.GetResource(db, resid.Value, user.UserId);
            }

            // 如果是新增,判断是否在当前活动上传过论文
            if (model == null)
            {
                var r = APDBDef.CroResource;
                model = APBplDef.CroResourceBpl.GetActiveResource(db, active.ActiveId, user.UserId);
            }

            if (model == null)
            {
                model = new CroResource {
                    ProvinceId = user.ProvinceId, AreaId = user.AreaId
                };
            }

            return(View(model));
        }
示例#3
0
        //
        //	论文- 编辑/创建
        // GET:		/Resource/Edit
        // POST:		/Resource/Edit
        //

        public ActionResult Edit(long?id)
        {
            InitAreaDropDownData();

            var active = APBplDef.ActiveBpl.GetAll().Find(x => x.IsCurrent);

            var user      = ResSettings.SettingsInSession.User;
            var provinces = ResSettings.SettingsInSession.AllProvince();
            var areas     = ResSettings.SettingsInSession.AllAreas();

            ViewBag.Provinces    = user.IsCityAdmin ? provinces.Where(x => x.CompanyId == user.ProvinceId).ToList() : provinces;
            ViewBag.Areas        = user.IsCityAdmin? areas.Where(x => x.CompanyId == user.AreaId).ToList() : areas;
            ViewBag.ProvincesDic = GetStrengthDict(ViewBag.Areas);
            ViewBag.AreasDic     = GetStrengthDict(ViewBag.Areas);
            ViewBag.ResTypes     = GetStrengthDict(CroResourceHelper.ResourceType.GetItems());
            ViewBag.Themes       = CroResourceHelper.Theme.GetItems();

            CroResource model = null;

            if (id > 0)
            {
                model = APBplDef.CroResourceBpl.GetResource(db, id.Value);
            }

            // 如果是新增,判断是否在当前活动上传过论文
            //if (model == null)
            //{
            //   var r = APDBDef.CroResource;
            //   model = APBplDef.CroResourceBpl.GetActiveResource(db, active.ActiveId, user.UserId);
            //}

            if (model == null)
            {
                model = new CroResource {
                    ProvinceId = user.ProvinceId, AreaId = user.AreaId
                };
            }

            return(View(model));
        }
示例#4
0
        public ActionResult Upload(CroResource model)
        {
            var active = ResSettings.SettingsInSession.Actives.First();

            if (!active.IsInUploadPeriod)
            {
                var errormsg = "当前不在上传论文周期内,请联系管理员!";
                ModelState.AddModelError("ActiveId", errormsg);
                return(!Request.IsAjaxRequest() ? Upload(model.CrosourceId) : (ActionResult)Json(new { error = "error", msg = errormsg }));
            }

            if (!ModelState.IsValid)
            {
                return(Upload(model.CrosourceId));
            }

            var userId        = ResSettings.SettingsInSession.UserId;
            var currentActive = ResSettings.SettingsInSession.Actives.First(x => x.IsCurrent);
            var existThesis   = APBplDef.CroResourceBpl.GetActiveResource(db, currentActive.ActiveId, userId);

            // ensure upload thesis for once only, if model.crosourceId is been changed the original id will replace
            if (existThesis != null)
            {
                model.CrosourceId = existThesis.CrosourceId;
            }

            var cr = APDBDef.CroResource;

            if (model.AreaId <= 0)
            {
                var errormsg = "必须选择地区!";
                ModelState.AddModelError("AreaId", errormsg);
                return(!Request.IsAjaxRequest() ? Upload(model.CrosourceId) : (ActionResult)Json(new { error = "error", msg = errormsg }));
            }

            if (APBplDef.CroResourceBpl.ConditionQueryCount((cr.Creator != userId & cr.LastModifier != userId) & cr.AuthorEmail == model.AuthorEmail) > 0)
            {
                var errormsg = "作者邮箱已经使用,一个作者仅能上传一篇论文!";
                ModelState.AddModelError("AuthorEmail", errormsg);
                return(!Request.IsAjaxRequest() ? Upload(model.CrosourceId) : (ActionResult)Json(new { error = "error", msg = errormsg }));
            }
            else if (APBplDef.CroResourceBpl.ConditionQueryCount((cr.Creator != userId & cr.LastModifier != userId) & cr.AuthorPhone == model.AuthorPhone) > 0)
            {
                var errormsg = "作者手机号码已被使用,一个作者仅能上传一篇论文!";
                ModelState.AddModelError("AuthorPhone", errormsg);
                return(!Request.IsAjaxRequest() ? Upload(model.CrosourceId) : (ActionResult)Json(new { error = "error", msg = errormsg }));
            }


            model.StatePKID   = CroResourceHelper.StateAllow;
            model.AuditedTime = DateTime.Now;
            model.ActiveId    = currentActive.ActiveId;

            if (model.CrosourceId > 0)
            {
                model.Creator      = existThesis.Creator;
                model.CreatedTime  = existThesis.CreatedTime;
                model.LastModifier = ResSettings.SettingsInSession.UserId;
                db.CroResourceDal.Update(model);
            }
            else
            {
                model.Creator     = userId;
                model.CreatedTime = model.LastModifiedTime = DateTime.Now;

                db.CroResourceDal.Insert(model);
            }

            return(Request.IsAjaxRequest() ? Json(new
            {
                state = "ok",
                msg = "论文作品上传成功"
            }) : (ActionResult)RedirectToAction("CroMyResource", "CroMy"));
        }