public async Task <IActionResult> CreateComments([FromBody] JobStatusCommentsViewModel jscvm) { try { CurrentUser cUser = new CurrentUser(HttpContext, _configuration); jscvm.CommentId = 0; jscvm.Active = "Y"; jscvm.UserId = cUser.UserId; if (jscvm.Type == null && jscvm.Type == "") { throw new CustomException("Please select valid type for comments", "Error", true, "Type(s) are Job, Equipment and UnitAnalysis and it is mandatory to Save Comments."); } else { if (jscvm.Type == "J") { var result = await reportFeederRepo.SaveJobComments(jscvm); await auditLogService.LogActivity(cUser.UserId, cUser.HostIP, cUser.SessionId, "Create Report", "Comments Created for Job."); return(Ok(result)); } else if (jscvm.Type == "E") { var result = await reportFeederRepo.SaveEquipmentComments(jscvm); await auditLogService.LogActivity(cUser.UserId, cUser.HostIP, cUser.SessionId, "Create Report", "Comments Created for Equipment."); return(Ok(result)); } else if (jscvm.Type == "U") { var result = await reportFeederRepo.SaveUnitAnalysisComments(jscvm); await auditLogService.LogActivity(cUser.UserId, cUser.HostIP, cUser.SessionId, "Create Report", "Comments Created for Unit."); return(Ok(result)); } else { throw new CustomException("Please select valid type for comments", "Error", true, "Type(s) are Job, Equipment and UnitAnalysis and it is mandatory to Save Comments."); } } } 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))); } }
/** This method is used to Save Equipment Comments */ public async Task <IEnumerable <dynamic> > SaveEquipmentComments(JobStatusCommentsViewModel jscvm) { string sql = "dbo.EAppSaveJobEquipmentComment"; using (var conn = util.MasterCon()) { try { DynamicParameters _params = new DynamicParameters(); _params.Add("@JobEquipCommentId", jscvm.CommentId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@JobEquipmentId", jscvm.TypeId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@StatusId", jscvm.StatusId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@DataCollectionDate", jscvm.DataCollectionDate, DbType.Date, direction: ParameterDirection.Input); _params.Add("@ReportDate", jscvm.ReportDate, DbType.Date, direction: ParameterDirection.Input); _params.Add("@Comments", jscvm.Comments, DbType.String, direction: ParameterDirection.Input); _params.Add("@ConditionId", jscvm.ConditionId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@EquipmentComment", jscvm.EquipmentComment, DbType.String, direction: ParameterDirection.Input); _params.Add("@Active", jscvm.Active, DbType.String, direction: ParameterDirection.Input); _params.Add("@UserId", jscvm.UserId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@Result", null, DbType.String, direction: ParameterDirection.Output, size: 4000); _params.Add("@ResultText", null, DbType.String, direction: ParameterDirection.Output, size: 4000); _params.Add("@IsWarningAccepted ", jscvm.IsWarningAccepted, DbType.Int32, direction: ParameterDirection.Input); var returnValue = await(conn.QueryAsync <dynamic>(sql, _params, commandType: CommandType.StoredProcedure)); string result = _params.Get <string>("Result"); string resultText = _params.Get <string>("ResultText"); if (result == "F") { throw new CustomException(resultText, "Error", true, resultText); } else if (result == "W") { throw new CustomException(resultText, "Confirmation", true, resultText); } return(returnValue); } catch (CustomException cex) { throw new CustomException(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString()); } catch (Exception ex) { throw new CustomException("Unable to Save Or Update, Please Contact Support!!!", "Error", true, ex); } } }
/** This method is used to Save Job Comments */ public async Task <IEnumerable <dynamic> > SaveJobComments(JobStatusCommentsViewModel jscvm) { string sql = "dbo.EAppSaveJobComment"; using (var conn = util.MasterCon()) { try { DynamicParameters _params = new DynamicParameters(); _params.Add("@JobCommentId", jscvm.CommentId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@JobId", jscvm.TypeId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@StatusId", jscvm.StatusId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@DatacollectionDone", jscvm.DatacollectionDone, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@ReportSent", jscvm.ReportSent, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@Comments", jscvm.Comments, DbType.String, direction: ParameterDirection.Input); _params.Add("@DataCollectionDate", jscvm.DataCollectionDate, DbType.Date, direction: ParameterDirection.Input); _params.Add("@ReportDate", jscvm.ReportDate, DbType.Date, direction: ParameterDirection.Input); _params.Add("@Active", jscvm.Active, DbType.String, direction: ParameterDirection.Input); _params.Add("@UserId", jscvm.UserId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@ReviewerId", jscvm.ReviewerId, DbType.Int32, direction: ParameterDirection.Input); _params.Add("@Result", null, DbType.String, direction: ParameterDirection.Output, size: 4000); _params.Add("@ResultText", null, DbType.String, direction: ParameterDirection.Output, size: 4000); _params.Add("@IsWarningAccepted ", jscvm.IsWarningAccepted, DbType.Int32, direction: ParameterDirection.Input); var returnValue = await(conn.QueryAsync <dynamic>(sql, _params, commandType: CommandType.StoredProcedure)); string result = _params.Get <string>("Result"); string resultText = _params.Get <string>("ResultText"); if (result == "F") { throw new CustomException(resultText, "Error", true, resultText); } else if (result == "W") { throw new CustomException(resultText, "Confirmation", true, resultText); } /** Notify EMail to Analyst */ if (jscvm.DatacollectionDone == 1) { try { await Task.Factory.StartNew(async() => { //string Type = "Notify_Analyst"; //int ClientSiteId = 0; //int LanguageId = 1; //int Id = (int)jscvm.TypeId; //int UserId = jscvm.UserId; //String evmStr = (String)await conn.QueryFirstAsync<String>("dbo.EAppGetNotification", new { Type, ClientSiteId, LanguageId, Id, UserId }, commandType: CommandType.StoredProcedure); String evmStr = await emailService.GetEmailNotificationTemplate("Notify_Analyst", 0, 1, (int)jscvm.TypeId, jscvm.UserId); EmailViewModel evm = JsonConvert.DeserializeObject <EmailViewModel>(evmStr); await notificationServiceHelper.PrepareCalendarNotification(evm); }); } catch (Exception ex) { // Notification exception. var e = ex; } } int x = await lookupsRepo.GetLookupByNameNCode("SU", "JobProcessStatus"); if (jscvm.StatusId == x && jscvm.ReviewerId != null && jscvm.ReviewerId > 0) { if (jscvm.StatusId != jscvm.OldStatusId) { /** Notify EMail to Reviewer */ try { await Task.Factory.StartNew(async() => { String evmStr = await emailService.GetEmailNotificationTemplate("Notify_Reviewer", 0, 1, (int)jscvm.TypeId, jscvm.UserId); EmailViewModel evm = JsonConvert.DeserializeObject <EmailViewModel>(evmStr); await notificationServiceHelper.PrepareCalendarNotification(evm); }); } catch (Exception ex) { // Notification exception. } } } x = await lookupsRepo.GetLookupByNameNCode("C", "JobProcessStatus"); if (jscvm.StatusId == x && jscvm.StatusId != jscvm.OldStatusId) { /** Notify EMail to Reviewer */ try { await Task.Factory.StartNew(async() => { String evmStr = await emailService.GetEmailNotificationTemplate("Notify_Planner", 0, 1, (int)jscvm.TypeId, jscvm.UserId); EmailViewModel evm = JsonConvert.DeserializeObject <EmailViewModel>(evmStr); await notificationServiceHelper.PrepareCalendarNotification(evm); }); } catch (Exception ex) { // Notification exception. } } return(returnValue); } catch (CustomException cex) { throw new CustomException(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString()); } catch (Exception ex) { throw new CustomException("Unable to Save Or Update, Please Contact Support!!!", "Error", true, ex); } } }