public async Task <OutputResponse> Add(ScheduledNotificationEscalationRuleDTO notificationEscalationRule) { var isFound = await _context.ScheduledNotificationEscalationRules.AnyAsync(x => x.Name.ToLower() == notificationEscalationRule.Name.ToLower()); if (isFound) { return(new OutputResponse { IsErrorOccured = true, Message = "Notification escalation rule name already exist, duplicates not allowed" }); } var mappedScheduledNotificationEscalationRule = new AutoMapperHelper <ScheduledNotificationEscalationRuleDTO, ScheduledNotificationEscalationRules>().MapToObject(notificationEscalationRule); mappedScheduledNotificationEscalationRule.RowAction = "I"; mappedScheduledNotificationEscalationRule.DateCreated = DateTime.UtcNow; await _context.ScheduledNotificationEscalationRules.AddAsync(mappedScheduledNotificationEscalationRule); await _context.SaveChangesAsync(); return(new OutputResponse { IsErrorOccured = false, Message = MessageHelper.AddNewSuccess }); }
public async Task <IActionResult> Update([FromBody] ScheduledNotificationEscalationRuleDTO notificationEscalationRule) { var outputHandler = await _service.Update(notificationEscalationRule); if (outputHandler.IsErrorOccured) { return(BadRequest(outputHandler.Message)); } return(Ok(outputHandler.Message)); }
private async Task <ScheduledNotificationEscalationRuleDTO> GetScheduledNotificationEscalationRule(int ruleId) { string url = $"{NotificationsApiUrl}ScheduledNotificationEscalationRules/GetById?ruleId={ruleId}"; var ScheduledNotificationEscalationRule = new ScheduledNotificationEscalationRuleDTO(); var accessToken = await HttpContext.GetTokenAsync("access_token"); var response = await HttpRequestFactory.Get(accessToken, url); if (response.StatusCode == HttpStatusCode.OK) { ScheduledNotificationEscalationRule = response.ContentAsType <ScheduledNotificationEscalationRuleDTO>(); } else { ModelState.AddModelError("", HttpResponseHandler.Process(response)); } return(ScheduledNotificationEscalationRule); }
public async Task <IActionResult> Edit([Bind] ScheduledNotificationEscalationRuleDTO escalationRule) { string url = $"{NotificationsApiUrl}ScheduledNotificationEscalationRules/Update"; var accessToken = await HttpContext.GetTokenAsync("access_token"); var response = await HttpRequestFactory.Put(accessToken, url, escalationRule); if (response.StatusCode == HttpStatusCode.OK) { AppContextHelper.SetToastMessage("Scheduled notification escalation rule has been successfully updated", MessageType.Success, 1, Response); return(RedirectToAction(nameof(Index))); } else { AppContextHelper.SetToastMessage("Failed to update scheduled notification escalation rule", MessageType.Danger, 1, Response); ModelState.AddModelError("", HttpResponseHandler.Process(response)); } return(View(escalationRule)); }
public async Task <IActionResult> VerifyDelete(int ruleId) { string url = $"{NotificationsApiUrl}ScheduledNotificationEscalationRules/Delete?ruleId={ruleId}"; var ScheduledNotificationEscalationRule = new ScheduledNotificationEscalationRuleDTO(); var accessToken = await HttpContext.GetTokenAsync("access_token"); var response = await HttpRequestFactory.Delete(accessToken, url); if (response.StatusCode == HttpStatusCode.OK) { AppContextHelper.SetToastMessage("Scheduled notification escalation rule has been successfully deleted", MessageType.Success, 1, Response); return(RedirectToAction(nameof(Index))); } else { AppContextHelper.SetToastMessage("Failed to delete scheduled notification escalation rule", MessageType.Danger, 1, Response); ModelState.AddModelError("", HttpResponseHandler.Process(response)); } return(View(await GetScheduledNotificationEscalationRule(ruleId))); }
public async Task <OutputResponse> Update(ScheduledNotificationEscalationRuleDTO notificationEscalationRule) { var notificationEscalationRuleToUpdate = await _context.ScheduledNotificationEscalationRules.FirstOrDefaultAsync(x => x.RuleId.Equals(notificationEscalationRule.RuleId)); if (notificationEscalationRuleToUpdate == null) { return(new OutputResponse { IsErrorOccured = true, Message = "Notification escalation rule specified does not exist, update cancelled" }); } var isFound = await _context.ScheduledNotificationEscalationRules.Where(x => x.RuleId != notificationEscalationRule.RuleId).AnyAsync(x => x.Name.ToLower() == notificationEscalationRule.Name.ToLower()); if (isFound) { return(new OutputResponse { IsErrorOccured = true, Message = "Notification escalation rule name already exist, duplicates not allowed" }); } //update details notificationEscalationRuleToUpdate.Name = notificationEscalationRule.Name; notificationEscalationRuleToUpdate.EscalateTo = notificationEscalationRule.EscalateTo; notificationEscalationRuleToUpdate.Message = notificationEscalationRule.Message; notificationEscalationRuleToUpdate.RowAction = "U"; notificationEscalationRuleToUpdate.ModifiedBy = notificationEscalationRule.CreatedBy; notificationEscalationRuleToUpdate.DateModified = DateTime.UtcNow; await _context.SaveChangesAsync(); return(new OutputResponse { IsErrorOccured = false, Message = MessageHelper.UpdateSuccess }); }