public ActionResult MultiCancelDelivery(string ids) { var active = ResSettings.SettingsInSession.Actives.First(); if (!active.IsInDeliveryPeriod) { var errormsg = "当前不在推送周期内,请联系统管理员!"; return((ActionResult)Json(new { error = "error", msg = errormsg })); } var user = ResSettings.SettingsInSession.User; var dr = APDBDef.DeliveryRecord; var idArray = ConvertByString(ids); APBplDef.DeliveryRecordBpl.ConditionDelete(dr.ResourceId.In(idArray)); foreach (var id in idArray) { APBplDef.CroResourceBpl.UpdatePartial(id, new { DeliveryStatus = CroResourceHelper.NotDelivery }); } var maxCount = ResDeliveryHelper.GetMaxAllowCount(user.ProvinceId, user.AreaId); var courrentCount = ResDeliveryHelper.GetDeliveryCount(user.ProvinceId, user.AreaId, db); return(Json(new { cmd = "Processed", msg = "取消报送完成", data = new { maxCount, courrentCount } })); }
public ActionResult MultiDelivery(string ids) { var active = ResSettings.SettingsInSession.Actives.First(); if (!active.IsInDeliveryPeriod) { var errormsg = "当前不在推送周期内,请联系统管理员!"; return((ActionResult)Json(new { error = "error", msg = errormsg })); } long deliveryType = 0; var user = ResSettings.SettingsInSession.User; var dr = APDBDef.DeliveryRecord; var idArray = ConvertByString(ids); var maxCount = ResDeliveryHelper.GetMaxAllowCount(user.ProvinceId, user.AreaId); var result = ResDeliveryHelper.IsExccedMaxCount(user.ProvinceId, user.AreaId, maxCount, db); if (result) { return(Json(new { cmd = "error", msg = "已经超出最大报送数量" })); } if (user.UserTypePKID == ResUserHelper.ProvinceAdmin) { deliveryType = CroResourceHelper.ProviceLevelDelivery; } if (user.UserTypePKID == ResUserHelper.CityAdmin) { deliveryType = CroResourceHelper.CityLevelDelivery; } db.BeginTrans(); try { db.DeliveryRecordDal.ConditionDelete(dr.ResourceId.In(idArray)); foreach (var id in idArray) { db.DeliveryRecordDal.Insert(new DeliveryRecord { DeliveryTypePKID = deliveryType, Recorder = user.Id, ResourceId = id, AddTime = DateTime.Now }); db.CroResourceDal.UpdatePartial(id, new { DeliveryStatus = CroResourceHelper.IsDelivery }); } db.Commit(); } catch { db.Rollback(); return(Json(new { cmd = "error", msg = "批量报送失败" })); } var courrentCount = ResDeliveryHelper.GetDeliveryCount(user.ProvinceId, user.AreaId, db); return(Json(new { cmd = "Processed", msg = "批量报送完成", data = new { maxCount, courrentCount } })); }