public async Task <IEnumerable <dynamic> > SaveOrUpdate([FromBody] AlarmEmailNotificationViewModel sv) { string sql = "dbo.OAppSaveAlarmEmailNotificationSetup"; using (var conn = util.MasterCon()) { try { string AlarmEmailNotificationEquipmentsJson = null; // string AlarmEmailNotificationServicesJson = null; if (sv.AlarmEmailNotificationEquipments != null && sv.AlarmEmailNotificationEquipments.Count > 0) { string Header = "{\"AlarmEmailNotificationEquipments\": "; string Footer = "}"; AlarmEmailNotificationEquipmentsJson = Header + JsonConvert.SerializeObject(sv.AlarmEmailNotificationEquipments) + Footer; } //if (sv.AlarmEmailNotificationServices != null && sv.AlarmEmailNotificationServices.Count > 0) //{ // string Header = "{\"AlarmEmailNotificationServices\": "; // string Footer = "}"; // AlarmEmailNotificationServicesJson = Header + JsonConvert.SerializeObject(sv.AlarmEmailNotificationServices) + Footer; //} return(await(conn.QueryAsync <dynamic>(sql, new { sv.AlarmEmailNotificationSetupId, sv.ClientSiteId, sv.AlarmEmailNotificationID, sv.AlarmSMSNotificationNo, sv.IntervalDays, sv.AdditionalEmailID, sv.AdditionalMobileNo, AlarmEmailNotificationEquipmentsJson, // AlarmEmailNotificationServicesJson, sv.StatusId, sv.UserId, //sv.ProgramTypeId }, commandType: CommandType.StoredProcedure))); } catch (SqlException sqlException) { if (sqlException.Number == 2601 || sqlException.Number == 2627) { throw new CustomException("Duplicate", "AlarmEmailNotification Name already Exists.", "Error", true, sqlException); } else { throw new CustomException("Due to some Technical Reason, Unable to Save or Update", "Error", true, sqlException); } } catch (Exception ex) { throw new CustomException("Unable to Save Or Update, Please Contact Support!!!", "Error", true, ex); } } }
// [SKFAuthorize("PRG68:P3")] public async Task <IActionResult> Update([FromBody] AlarmEmailNotificationViewModel scv) { try { CurrentUser cUser = new CurrentUser(HttpContext, _configuration); scv.UserId = cUser.UserId; var result = await AlarmEmailNotificationRepo.SaveOrUpdate(scv); await auditLogService.LogActivity(cUser.UserId, cUser.HostIP, cUser.SessionId, "AlarmEmailNotification", "AlarmEmailNotification Modified."); return(Ok(result)); } catch (CustomException cex) { var returnObj = new EmaintenanceMessage(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString()); return(StatusCode(StatusCodes.Status500InternalServerError, returnObj)); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, new EmaintenanceMessage(ex.Message))); } }