public void DoEditDoc([DataBind("DDocInfo")] DDocInfo doc, HttpPostedFile file) { try { //DocService us = Context.GetService<DocService>(); UserService us = Context.GetService <UserService>(); DDocInfo oldDoc = us.DocInfoBll.Get(doc.DocId); if (oldDoc != null) { //更新缩略图 if (file != null && !string.IsNullOrEmpty(file.FileName)) { string newThumbUrl = SaveNewDocThumbnail(file, oldDoc.ThumbnailUrl); if (!string.IsNullOrEmpty(newThumbUrl)) { oldDoc.ThumbnailUrl = newThumbUrl; } } else { oldDoc.ThumbnailUrl = doc.ThumbnailUrl; } oldDoc.Title = doc.Title; oldDoc.Description = doc.Description; oldDoc.Tags = doc.Tags; oldDoc.CateId = doc.CateId; oldDoc.Price = doc.Price; oldDoc.FlashUrl = doc.FlashUrl; us.DocInfoBll.Update(oldDoc); //更新标签表 if (!string.IsNullOrEmpty(oldDoc.Tags) && oldDoc.Tags != doc.Tags) { string[] tags = doc.Tags.Split(' '); us.DTagBll.UpdateFromDoc(tags, oldDoc.DocId); } //异步通知用户文档被管理员更新 M_Message msg = new M_Message() { Content = string.Format("您上传的文档“{0}”被管理员更新", doc.Title), CreateTime = DateTime.Now, IsRead = false, Mtype = (int)Model.Enums.MessageType.Inform, RecieverId = oldDoc.UserId, SenderId = Helper.ConfigHelper.AdminUserId, Title = string.Format("您上传的文档“{0}”被管理员更新", doc.Title) }; Common.AsynMessage am = new AsynMessage(msg); am.Send(); Redirect("/admin/doc/index.do"); return; } throw new Exception("查询文档为空"); } catch (Exception ex) { Utils.Log4Net.Error(ex); RedirectToReferrer(); } }
public void DoManualOperate(int userId, int accountWay, decimal amount, string remark) { try { UserService us = Context.GetService <UserService>(); if (amount == 0) { throw new TmmException("金额不能为0"); } if (accountWay == 0) { throw new TmmException("请选择类型"); } if (accountWay == (int)AmountWay.MIn) { if (amount <= 0) { throw new TmmException("增加金额不能小于0"); } } if (accountWay == (int)AmountWay.AOut) { if (amount >= 0) { throw new TmmException("扣除金额不能大于0"); } } if (string.IsNullOrEmpty(remark)) { throw new TmmException("备注不能为空"); } MAccount acc = us.MAccountBll.GetByUserId(userId); //写账户日志 AccountLog log = new AccountLog() { AccountWay = accountWay, AdminRemark = remark, Amount = amount, CreateTime = DateTime.Now, Ip = Utils.TmmUtils.IPAddress(), UserId = userId }; us.AccountLogBll.Insert(log); acc.Amount += amount; us.MAccountBll.Update(acc); //发消息-异步 M_Message msg = new M_Message() { Content = string.Format("【帐户通知】,您的账户由土木迷管理员{0}¥{1:F2}", amount > 0 ? "充入" : "扣除", amount), CreateTime = DateTime.Now, IsRead = false, Mtype = (int)Model.Enums.MessageType.Inform, RecieverId = userId, SenderId = Core.Helper.ConfigHelper.AdminUserId, Title = "帐户通知" }; Queue <M_Message> queueMsg = new Queue <M_Message>(); queueMsg.Enqueue(msg); Common.AsynMessage am = new AsynMessage(queueMsg); am.Send(); base.SuccessInfo(); Redirect("account.do"); return; } catch (TmmException te) { AddError(te.Message); Flash["accountWay"] = accountWay; Flash["amount"] = amount; Flash["remark"] = remark; } RedirectToReferrer(); }
/// <summary> /// 删除投稿 /// </summary> /// <param name="joinIds"></param> public void DeleteContribute(int[] joinIds) { DocService ds = Context.GetService <DocService>(); Queue <M_Message> queueMsg = new Queue <M_Message>(); foreach (int joinId in joinIds) { TJoinDoc joinDoc = ds.TJoinDocBll.Get(joinId); if (joinDoc != null) { //更新悬赏文档的投稿数量 TReqDoc reqDoc = ds.TReqDocBll.Get(joinDoc.TId); if (reqDoc != null) { if (reqDoc.DocCount > 0) { reqDoc.DocCount -= 1; ds.TReqDocBll.Update(reqDoc); } } //删除原始文档 ds.DDocInfoBll.Delete(joinDoc.DocId); //删除投稿记录 ds.TJoinDocBll.Delete(joinId); //给投稿人发消息 M_Message msg = new M_Message() { Content = string.Format("您上传的投稿文档【{0}】因违反相关规定,该文章已被管理员删除", joinDoc.Title), CreateTime = DateTime.Now, IsRead = false, Mtype = (int)Model.Enums.MessageType.Inform, RecieveDeleteFlag = false, RecieverId = joinDoc.UserId, SendDeleteFlag = false, SenderId = Helper.ConfigHelper.AdminUserId, Title = "投稿文档删除通知" }; queueMsg.Enqueue(msg); //给悬赏人发消息 msg = new M_Message() { Content = string.Format("您收到的投稿文档【{0}】因违反相关规定,该文章已被管理员删除", joinDoc.Title), CreateTime = DateTime.Now, IsRead = false, Mtype = (int)Model.Enums.MessageType.Inform, RecieveDeleteFlag = false, RecieverId = reqDoc.UserId, SendDeleteFlag = false, SenderId = Helper.ConfigHelper.AdminUserId, Title = "投稿文档删除通知" }; queueMsg.Enqueue(msg); } } //异步发送消息 AsynMessage am = new AsynMessage(queueMsg); am.Send(); AddSuccess("操作成功"); RedirectToReferrer(); }