public static SettingRegRespObj AddClassOfAward(RegClassOfAwardObj regObj) { return(new ClassOfAwardRepository().AddClassOfAward(regObj)); }
public SettingRegRespObj AddClassOfAward(RegClassOfAwardObj regObj) { var response = new SettingRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage() } }; try { if (regObj.Equals(null)) { response.Status.Message.FriendlyMessage = "Error Occurred! Unable to proceed with your request"; response.Status.Message.TechnicalMessage = "Registration Object is empty / invalid"; return(response); } if (!EntityValidatorHelper.Validate(regObj, out var valResults)) { var errorDetail = new StringBuilder(); if (!valResults.IsNullOrEmpty()) { errorDetail.AppendLine("Following error occurred:"); valResults.ForEachx(m => errorDetail.AppendLine(m.ErrorMessage)); } else { errorDetail.AppendLine( "Validation error occurred! Please check all supplied parameters and try again"); } response.Status.Message.FriendlyMessage = errorDetail.ToString(); response.Status.Message.TechnicalMessage = errorDetail.ToString(); response.Status.IsSuccessful = false; return(response); } if (!HelperMethods.IsUserValid(regObj.AdminUserId, regObj.SysPathCode, HelperMethods.getSeniorAccountant(), ref response.Status.Message)) { return(response); } if (IsClassOfAwardDuplicate(regObj.Name, regObj.LowerGradePoint, regObj.UpperGradePoint, 1, ref response)) { return(response); } if (regObj.UpperGradePoint < regObj.LowerGradePoint) { response.Status.Message.FriendlyMessage = "Upper Grade Point must be higher than the Lower Grade Point"; response.Status.Message.TechnicalMessage = "Upper Grade Point must be higher than the Lower Grade Point"; return(response); } var classOfAward = new ClassOfAward { Name = regObj.Name, LowerGradePoint = regObj.LowerGradePoint, UpperGradePoint = regObj.UpperGradePoint, Status = (ItemStatus)regObj.Status }; var added = _repository.Add(classOfAward); _uoWork.SaveChanges(); if (added.ClassOfAwardId < 1) { response.Status.Message.FriendlyMessage = "Error Occurred! Unable to complete your request. Please try again later"; response.Status.Message.TechnicalMessage = "Unable to save to database"; return(response); } resetCache(); response.Status.IsSuccessful = true; response.SettingId = added.ClassOfAwardId; } catch (DbEntityValidationException ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); response.Status.Message.FriendlyMessage = "Error Occurred! Please try again later"; response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message; response.Status.IsSuccessful = false; return(response); } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); response.Status.Message.FriendlyMessage = "Error Occurred! Please try again later"; response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message; response.Status.IsSuccessful = false; return(response); } return(response); }