public IActionResult RecallOrder([FromBody] RecallCreateViewModel model) { var authUser = model.Auth.AuthUser(authService, currentUserService.CurrentUser?.Id); var ua = userActionServices.Log(DAL.Entities.UserInfo.UserOperation.ModifyApply, authUser, $"召回{model.Data.Apply}"); if (authUser != model.Data.HandleBy) { return(new JsonResult(model.Auth.PermitDenied())); } var recall = model.Data.ToVDto <RecallOrderVDto>(); var result = recallOrderServices.Create(recall); userActionServices.Status(ua, true); return(new JsonResult(new APIResponseIdViewModel(result.Id, ActionStatusMessage.Success))); }
public IActionResult ExecuteStatus([FromBody] RecallCreateViewModel model, string entityType) { var authUser = model.Auth.AuthUser(authService, usersService, currentUserService.CurrentUser?.Id); if (authUser.Id != model.Data.HandleBy) { return(new JsonResult(model.Auth.PermitDenied())); } var m = model.Data.ToVDto <ExecuteStatusVDto>(); if (entityType == "vacation") { var apply = applyService.GetById(m.Apply); var targetUser = apply.BaseInfo.From; var permit = userActionServices.Permission(authUser.Application.Permission, DictionaryAllPermission.Apply.Default, Operation.Update, authUser.Id, targetUser.CompanyInfo.CompanyCode, $"确认{targetUser.Id}归队时间"); if (!permit) { return(new JsonResult(model.Auth.PermitDenied())); } var result = recallOrderServices.Create(apply.RequestInfo, apply.ExecuteStatus, m, false); apply.ExecuteStatus = result.Item1; apply.ExecuteStatusDetailId = result.Item2.Id; context.Applies.Update(apply); context.SaveChanges(); return(new JsonResult(new APIResponseIdViewModel(result.Item2.Id, ActionStatusMessage.Success))); } else { var apply = applyInDayService.GetById(m.Apply); var targetUser = apply.BaseInfo.From; var permit = userActionServices.Permission(authUser.Application.Permission, DictionaryAllPermission.Apply.InDayApply, Operation.Update, authUser.Id, targetUser.CompanyInfo.CompanyCode, $"确认{targetUser.Id}归队时间"); if (!permit) { return(new JsonResult(model.Auth.PermitDenied())); } var result = recallOrderServices.Create(apply.RequestInfo, apply.ExecuteStatus, m, true); apply.ExecuteStatus = result.Item1; apply.ExecuteStatusDetailId = result.Item2.Id; context.AppliesInday.Update(apply); context.SaveChanges(); return(new JsonResult(new APIResponseIdViewModel(result.Item2.Id, ActionStatusMessage.Success))); } }