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 })); }
//上传论文 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)); }
// // 论文- 编辑/创建 // 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)); }
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")); }