public async Task <bool> ResignUser(ResignModel resignModel, string StaffIDSingle) //From SelectedStaff { using (IDbConnection dbConnection = Connection) { string sQuery = @" if exists (select * from Resign where StaffID = @StaffIDSingle AND (Convert(Date,@AppDate) = Convert(Date,AppDate) ) update Resign set ApplicationType=@ApplicationType,DateModified=@DateModified,ManagerReason=@ManagerReason,Reason=@Reason,jobTitleWhenResigned=@JobTitleWhenResigned,ReasonForResignment=@ReasonForResignment,ResignComm=@ResignComm,Signature=@Signature,Recommend=@Recommend,Status='Received', AppDate=@AppDate,FromDate=@FromDate Where StaffID=@StaffIDSingle AND Convert(Date,@AppDate) = Convert(Date,AppDate); else Insert Into Resign (StaffID,ManagerReason, JobTitleWhenResigned,Destination,DateModified,FromDate,AppDate,ReasonForResignment,Reason,ApplicationType,ResignComm,Signature,Recommend,Status) select @StaffIDSingle,@ManagerReason, p.JobTitleWhenResigned,p.Destination,getdate(),@FromDate,@AppDate,@ReasonForResignment,@Reason,@ApplicationType,@ResignComm,@Signature,@Recommend,'Received'"; //from positionassign pa inner join position p on p.MPLID = pa.MPLID where pa.StaffID =@StaffIdSingle //"; dbConnection.Open(); try { dbConnection.Execute(sQuery, resignModel); await _ctxRepo.Resign(StaffIDSingle, resignModel.AppDate); return(true); } catch (Exception e) { Console.Write(e); return(false); } } }
public bool ResignUserSelect([FromBody] ResignModel model) { DateTime ParsedFromDate = model.FromDate; DateTime TodayDate = DateTime.Now; foreach (string StaffID in model.StaffID) { if (ParsedFromDate <= TodayDate) { // ok this is a full abscense with status change in Staff the full Monty _resignRepo.ResignUser(model, StaffID); _resignRepo.UpdateUser(StaffID); _resignRepo.DeleteUserInPosAssign(StaffID); } else { // just create dates and abscense entry the not so full Monty _resignRepo.ResignUser(model, StaffID); } } return(true); }