public async Task <IActionResult> ForceSendAsync(ForceSendScheduleViewModel model) { if (!ModelState.IsValid) { return(Json(new { message = $"{GlobalConstants.ERROR_ACTION_PREFIX} send {ENTITY_NAME}." })); } EmailScheduleResponse _ScheduleResponse = await __EmailScheduleManager.GetByUIDAsync(model.UID); if (!_ScheduleResponse.Success) { return(Json(new { message = $"{GlobalConstants.ERROR_ACTION_PREFIX} find {ENTITY_NAME}." })); } if (!model.RetainSchedule) { await __EmailScheduleManager.SendScheduledEmail(_ScheduleResponse); } else { await __EmailScheduleManager.SendScheduledEmail(_ScheduleResponse, false); } if (model.SendCopyToSelf) { _ScheduleResponse.RecipientEmailAddress = __UserManager.GetUserAsync(HttpContext.User).Result.Email; await __EmailScheduleManager.SendScheduledEmail(_ScheduleResponse, false); } return(RedirectToAction("Index", "EmailSchedule", new { Area = "Email", successMessage = $"Successfully attempted to send {ENTITY_NAME}s." })); }
public async Task <IActionResult> DeleteModalAsync(Guid uid) { if (uid == Guid.Empty) { return(RedirectToAction("Index", "EmailSchedule", new { Area = "Email", errorMessage = "Unable to find Email Schedule." })); } EmailScheduleResponse _Response = await __EmailScheduleManager.GetByUIDAsync(uid); if (!_Response.Success) { return(RedirectToAction("Index", "EmailSchedule", new { Area = "Email", errorMessage = "Unable to find Email Schedule." })); } DeleteEmailScheduleViewModel _Model = new DeleteEmailScheduleViewModel { UID = _Response.UID, RecipientEmail = _Response.RecipientEmailAddress, EmailType = _Response.EmailType, SendTimestamp = _Response.SendTimestamp, Sent = _Response.Sent }; return(PartialView("_DeleteModal", _Model)); }
public async Task <IActionResult> ForceSendModalAsync(Guid uid) { EmailScheduleResponse _ScheduleResponse = await __EmailScheduleManager.GetByUIDAsync(uid); if (!_ScheduleResponse.Success) { return(Json(new { message = $"{GlobalConstants.ERROR_ACTION_PREFIX} find {ENTITY_NAME}." })); } return(PartialView("_ForceSendModal", new ForceSendScheduleViewModel { UID = uid, RecipientEmailAddress = _ScheduleResponse.RecipientEmailAddress })); }
public async Task <IActionResult> ForceCompleteAsync(ForceCompleteLoanViewModel model) { if (!ModelState.IsValid) { return(PartialView(model)); } LoanResponse _Loan = await __LoanManager.GetByUIDAsync(model.UID); if (_Loan == null) { return(Json(new { error = $"{GlobalConstants.ERROR_ACTION_PREFIX} find {ENTITY_NAME}." })); } if (DateTime.Now >= _Loan.ExpiryTimestamp) { await __LoanManager.ChangeStatusAsync(_Loan.UID, Status.Complete); } else { await __LoanManager.ChangeStatusAsync(_Loan.UID, Status.EarlyComplete); } await __LoanManager.CompleteLoanAsync(model.UID); foreach (LoanEquipmentResponse loanEquipment in await __LoanEquipmentManager.GetAsync(model.UID)) { await __EquipmentManager.UpdateStatusAsync(loanEquipment.EquipmentUID, NsEquipmentEnum.Status.Available); } EmailScheduleResponse _Schedule = (await __EmailScheduleManager.GetAsync()).FirstOrDefault(s => s.Sent == false && s.RecipientEmailAddress == _Loan.LoaneeEmail && s.SendTimestamp == _Loan.ExpiryTimestamp); if (_Schedule != null) { await __EmailScheduleManager.UpdateSentAsync(_Schedule.UID, true); } return(Json(new { success = $"{GlobalConstants.SUCCESS_ACTION_PREFIX} completed {ENTITY_NAME}." })); }