public string ValidateData(string pMessage, Enumerations.LogType pLogType) { string messageResult = string.Empty; pMessage = pMessage == null ? "" : pMessage.Trim(); if (string.IsNullOrEmpty(pMessage)) { messageResult = "Message can't be null or empty"; } if (!LogToConsole && !LogToFile && !LogToDatabase) { messageResult = "Error or Warning or Message must be specified"; } if ((pLogType == Enumerations.LogType.message && !LogTypeMessage) || (pLogType == Enumerations.LogType.error && !LogTypeError) || (pLogType == Enumerations.LogType.warning && !LogTypeWarning)) { messageResult = "JobLogger is not configured to save this type of log"; } return(messageResult); }
public void LogMessage(string pMessage, Enumerations.LogType pLogType) { string validationResult = ValidateData(pMessage, pLogType); if (!string.IsNullOrEmpty(validationResult)) { throw new Exception(validationResult); } try { if (LogToDatabase) { LogMsgToDataBase.LogMessageToDataBase(pMessage, Convert.ToInt32(pLogType.GetHashCode().ToString())); } if (LogToFile) { LogMsgToFile.LogMessageToFile(pMessage); } if (LogToConsole) { LogMsgToConsole.LogMessageToConsole(pMessage, pLogType); } } catch (Exception ex) { throw new Exception("Excepcion al intentar registrar el mensaje", ex); } }
public void LogMessageToConsole(string pMessage, Enumerations.LogType pType) { switch (pType) { case Enumerations.LogType.message: { Console.ForegroundColor = ConsoleColor.White; break; } case Enumerations.LogType.error: { Console.ForegroundColor = ConsoleColor.Red; break; } case Enumerations.LogType.warning: { Console.ForegroundColor = ConsoleColor.Yellow; break; } } Console.WriteLine(string.Format("{0} {1}", DateTime.Now.ToShortDateString(), pMessage)); }
public void LogMessage(string pName, Enumerations.LogType pLogType) { IfJobLogger.LogMessage(pName, pLogType); }
public IActionResult BulkSave(LessonIndexViewModel updatedModel) { UserSessionContext userSessionContext = new UserSessionContext(this.HttpContext); ApplicationContext appContext = new ApplicationContext(this.HttpContext); LessonBusiness lessonManager = new LessonBusiness(DbContext); var selectedLessonIds = string.IsNullOrWhiteSpace(updatedModel.BulkSelectedLessons) ? new List <int>() : updatedModel.BulkSelectedLessons.Split(',').Select(x => int.Parse(x)).ToList(); var selectedLessons = userSessionContext.LastSearchResults.Where(x => selectedLessonIds.Contains(x.Id)); List <string> errorMessages = new List <string>(); bool hasSuccesses = false; List <EmailInfo> emailsToSend = new List <EmailInfo>(); List <Lesson> AssignLessonIds = new List <Lesson>(); if (updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.ActionLog || updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.CsvLog || updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.CsvLogAll || updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.ActionLogAll) { Enumerations.LogType logType = Enumerations.LogType.ActionLog; if (updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.CsvLog || updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.CsvLogAll) { logType = userSessionContext.CurrentUser.RoleId == (int)Enumerations.Role.Administrator ? Enumerations.LogType.AdminLog : Enumerations.LogType.GenericLog; } if (updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.CsvLogAll || updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.ActionLogAll) { userSessionContext.ExportLog = lessonManager.GenerateLog(userSessionContext.CurrentUser, userSessionContext.LastSystemSearch, logType); } else { userSessionContext.ExportLog = lessonManager.GenerateLog(selectedLessonIds, logType); } } else { foreach (var selectedLesson in selectedLessons) { if (updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.Delete || updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.UnDelete) { //Just save, no need to validate lessonManager.SaveLesson(selectedLesson, userSessionContext.CurrentUser, null, updatedModel.BulkLesson.SaveAction); hasSuccesses = true; } else { List <Lesson> successLessons = new List <Lesson>(); if (updatedModel.BulkLesson.SaveAction == Enumerations.SaveAction.BPOToClose) { selectedLesson.Resolution = updatedModel.BulkLesson.Resolution; selectedLesson.LessonTypeValidId = updatedModel.BulkLesson.LessonTypeValidId; selectedLesson.LessonTypeInvalidId = updatedModel.BulkLesson.LessonTypeInvalidId; } var model = LessonViewModel.ToViewModel(this.HttpContext, selectedLesson); model.TransferBpoDisciplineId = updatedModel.BulkLesson.TransferBpoDisciplineId; model.SaveAction = updatedModel.BulkLesson.SaveAction; var validatedErrors = model.Validate(null); if (validatedErrors.Count() == 0) { string comment = null; switch (updatedModel.BulkLesson.SaveAction) { case Enumerations.SaveAction.AdminToClarification: case Enumerations.SaveAction.BPOToClarification: case Enumerations.SaveAction.ClarificationToBPO: case Enumerations.SaveAction.ClarificationToAdmin: comment = updatedModel.BulkLesson.ClarificationComment; break; case Enumerations.SaveAction.AdminToBPO: case Enumerations.SaveAction.BPOToBPO: selectedLesson.DisciplineId = updatedModel.BulkLesson.TransferBpoDisciplineId; comment = updatedModel.BulkLesson.TransferBpoComment; break; case Enumerations.SaveAction.BPOToClose: comment = updatedModel.BulkLesson.CloseComment; break; case Enumerations.SaveAction.AssignToUser: //selectedLesson.ValidatedBy = updatedModel.BulkLesson.AssignToUserId; selectedLesson.AssignTo = updatedModel.BulkLesson.AssignToUserId; break; } var result = lessonManager.SaveLesson(selectedLesson, userSessionContext.CurrentUser, comment, updatedModel.BulkLesson.SaveAction); successLessons.Add(selectedLesson); hasSuccesses = true; } else { foreach (var validationResult in validatedErrors) { errorMessages.Add(model.Id + ": " + validationResult.ErrorMessage); } } //Send email notification switch (updatedModel.BulkLesson.SaveAction) { case Enumerations.SaveAction.DraftToNew: emailsToSend.AddRange(GenerateNotifications(successLessons, Enumerations.NotificationEmailType.N1_NewToAdmin)); break; case Enumerations.SaveAction.AdminToClarification: emailsToSend.AddRange(GenerateNotifications(successLessons, Enumerations.NotificationEmailType.N3_AdminToClarification)); break; case Enumerations.SaveAction.AdminToBPO: case Enumerations.SaveAction.BPOToBPO: case Enumerations.SaveAction.ClosedToBPO: //TODO: Validate this notification should be sent emailsToSend.AddRange(GenerateNotifications(successLessons, Enumerations.NotificationEmailType.N2_AdminToBPO_And_BPOToBPO)); break; case Enumerations.SaveAction.BPOToClarification: emailsToSend.AddRange(GenerateNotifications(successLessons, Enumerations.NotificationEmailType.N5_BPOToClarification)); break; case Enumerations.SaveAction.BPOToClose: emailsToSend.AddRange(GenerateNotifications(successLessons, Enumerations.NotificationEmailType.N7_BPOToCloseLLC)); break; case Enumerations.SaveAction.ClarificationToAdmin: emailsToSend.AddRange(GenerateNotifications(successLessons, Enumerations.NotificationEmailType.N4_ClarificationToAdmin)); break; case Enumerations.SaveAction.ClarificationToBPO: emailsToSend.AddRange(GenerateNotifications(successLessons, Enumerations.NotificationEmailType.N6_ClarificationToBPO)); break; case Enumerations.SaveAction.AssignToUser: if (successLessons.Count > 0) { AssignLessonIds.Add(successLessons.First()); } break; } } } if (AssignLessonIds.Count > 0) { emailsToSend.AddRange(GenerateNotification(AssignLessonIds)); } if (emailsToSend.Count > 0) { LessonBusiness businessManager = new LessonBusiness(DbContext); businessManager.SendEmails(emailsToSend); } } ModelState.Clear(); if (errorMessages.Count > 0) { string message = hasSuccesses ? "Items have been saved, however the following Lessons could not be processed:" : "No Lessons could be processed. The following errors occured:"; errorMessages.Insert(0, message); foreach (var error in errorMessages) { this.AddError(error); } } else if (hasSuccesses) { SetSuccessfulSave(); } //Make sure to re-populate correctly if we came from a system initiated search back to MyLessons TempData["MyLessonModel"] = userSessionContext.LastSystemSearch; return(RedirectToActionPermanent("Index", new { pageAction = updatedModel.BulkLesson.ReturnToAction })); }