public async Task <SlotApprovalResult> ApproveSlotAsync(ApproveSlotRequestArgs requestArgs) { var item = await _repository.ApproveSlotAsync(requestArgs); if (item.Success) { return(await SendEmailAsync(item)); } else { return(new SlotApprovalResult { Success = item.Success, Message = item.Message }); } }
public async Task <ApproveSlotResult> ApproveSlotAsync(ApproveSlotRequestArgs requestArgs) { //logic to approve request here var p1 = DbContext.CreateOutputParameter("@IsSuccess", DbType.Boolean); var p2 = DbContext.CreateOutputParameter("@Message", DbType.String, 2000); var data = await DbContext.ExecuteReaderAsync(DataConstants.PR_PLAN_APPROVE_SLOT, CommandType.StoredProcedure, args => { args.Add("@SlotID", requestArgs.SlotID); }, reader => new ApproveSlotResult { ReservationNumber = reader.Get <string>(0), SlotName = reader.Get <string>(1), PeriodName = reader.Get <string>(2), ChangedPeriodName = reader.Get <string>(3), PlannedDate = reader.Get <DateTime>(4), ChangedPlannedDate = reader.Get <DateTime>(5), RequestUser = reader.Get <string>(6), Action = "Approved" }); var result = data.FirstOrDefault(); result.Success = true; return(result); //if(result !=null && Convert.ToBoolean(p1?.Value)) //{ // return result; //} //else //{ // return new ApproveSlotResult // { // Message = p2.Value.ToString(), // Success = false // }; //} //send email //return await SendMail(data.FirstOrDefault()); }
public async Task <IHttpActionResult> ApproveSlotAsync([FromBody] ApproveSlotRequestArgs requestArgs) { var data = await slotService.ApproveSlotAsync(requestArgs); return(Ok(data)); }