public void SetApproved(ApplyApprovedRequest request) { var item = GetItem(request.ApplyId); if (item == null) { throw new OpcException(String.Format("申请单{0}未找到", request.ApplyId)); } using (var ts = new TransactionScope()) { using (var db = GetYintaiHZhouContext()) { var approved = request.Approved == 1; var stdField = new List <string> { "Approved", "ApprovedDate", "ApprovedBy", "UpdateDate", "UpdateUser", "Status" }; item.Approved = approved; item.ApprovedDate = DateTime.Now; item.ApprovedBy = request.CurrentUserId; item.UpdateDate = DateTime.Now; item.UpdateUser = request.CurrentUserId ?? 0; item.Status = approved ? InviteCodeRequestStatus.Approved.AsId() : InviteCodeRequestStatus.Reject.AsId(); if (!approved) { item.RejectReason = request.Reason; stdField.Add("RejectReason"); } EFHelper.UpdateEntityFields(db, item, stdField, false); if (approved) { //init InitializeAssociateTables(db, item, request.CurrentUserId ?? 0); } db.SaveChanges(); } ts.Complete(); } }
public ExectueResult <ShopApplicationDto> SetApproved(ApplyApprovedRequest request) { //1 ok 2 reject var approved = new[] { 1, 3 }; if (approved.Contains(v => v == request.Approved)) { _inviteCodeRequestRepository.SetApproved(request); } else { return(SetDemotion(request)); } return(GetItem(request.ApplyId)); }
public IHttpActionResult PutApproved(int id, [FromBody] ApplyApprovedRequest request, [UserProfile] UserProfile userProfile) { if (!ModelState.IsValid) { return(BadRequest()); } IHttpActionResult httpActionResult; var result = CheckDataRoleAndArrangeParams(request, userProfile, out httpActionResult); if (!result) { return(httpActionResult); } request.ApplyId = id; var exectueResult = _shopApplicationService.SetApproved(request); return(RetrunHttpActionResult4ExectueResult(exectueResult)); }
/// <summary> /// 降级 /// </summary> /// <param name="request"></param> public void SetDemotion(ApplyApprovedRequest request) { throw new NotImplementedException(); var item = GetItem(request.ApplyId); if (item == null) { throw new OpcException(String.Format("申请单{0}未找到", request.ApplyId)); } if (!item.Approved.HasValue || !item.Approved.Value) { throw new OpcException(String.Format("申请单{0}还未通过审核", request.ApplyId)); } using (var ts = new TransactionScope()) { using (var db = GetYintaiHZhouContext()) { var imsAssociate = db.Set <IMS_Associate>(); var sections = db.Set <Section>(); var section = sections.FirstOrDefault(v => v.StoreId == item.StoreId && v.SectionCode == item.SectionCode); if (section == null) { throw new OpcException(String.Format("申请单{0}门店{1}专柜码{2}专柜未找到", item.Id, item.StoreId, item.SectionCode)); } var associate = imsAssociate.FirstOrDefault( v => v.UserId == item.UserId && v.Status == 1 && v.SectionId == section.Id && v.StoreId == section.StoreId && v.OperatorCode == item.OperatorCode); if (associate == null) { throw new OpcException(String.Format("申请单{0}未找到关联表", item.Id)); } if (associate.OperateRight == null) { throw new OpcException(String.Format("申请单{0}未找到关联表{1}OperateRight=null", item.Id, associate.OperateRight)); } var uor = (UserOperatorRight)associate.OperateRight; var b = (uor & UserOperatorRight.SelfProduct) != 0; if (!b) { throw new OpcException(String.Format("申请单{0}已经是{1}({2})", item.Id, uor.GetDescription(), uor)); } associate.OperateRight = (uor & (~UserOperatorRight.SelfProduct)).AsId(); // item.Status = InviteCodeRequestStatus.Demotion.AsID(); EFHelper.UpdateEntityFields(db, item, new[] { "Status" }); EFHelper.UpdateEntityFields(db, associate, new[] { "OperateRight" }); } ts.Complete(); } }
/// <summary> /// 降权 /// </summary> /// <param name="request"></param> /// <returns></returns> public ExectueResult <ShopApplicationDto> SetDemotion(ApplyApprovedRequest request) { _inviteCodeRequestRepository.SetDemotion(request); return(GetItem(request.ApplyId)); }