public bool IsCardCommissionDuplicate(decimal lowerAmount, decimal upperAmount, decimal commissionRate, int cardTypeId, int callType, ref SettingsRegResponseObj response) { try { var sql = $"Select * FROM \"NewVPlusSales\".\"CardCommission\" WHERE \"CardTypeId\" = '{cardTypeId}' AND \"Status\" != {-100})"; var check = _repository.RepositoryContext().Database.SqlQuery <CardCommission>(sql).ToList(); if (check.Count == 0) { return(false); } if (check.FindAll(m => m.LowerAmount <= lowerAmount && m.UpperAmount >= lowerAmount).Count > 0) { if (callType != 2) { response.Status.Message.FriendlyMessage = "Duplicate Error Check Lower Amount! The selected range is already covered Range already exist"; response.Status.Message.TechnicalMessage = "Duplicate Error Check Lower Amount!The selected range is already covered Range already exist"; return(true); } } if (check.FindAll(amt => amt.LowerAmount <= upperAmount && amt.UpperAmount >= upperAmount).Count > 0) { if (callType != 2) { response.Status.Message.FriendlyMessage = "Duplicate Error Check Upper Amount!The selected range is already covered"; response.Status.Message.TechnicalMessage = "Duplicate Error Check Upper Amount!The selected range is already covered"; return(true); } } if (check.FindAll(rate => rate.CommissionRatee == commissionRate).Count > 0) { if (callType != 2) { response.Status.Message.FriendlyMessage = "Duplicate Error! Commission Rate already exist"; response.Status.Message.TechnicalMessage = "Duplicate Error! Commission Rate already exist"; return(true); } } return(false); } catch (Exception ex) { response.Status.Message.FriendlyMessage = "Unable to complete your request due to validation error. Please try again later"; response.Status.Message.TechnicalMessage = "Duplicate Check Error: " + ex.Message; ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); return(true); } }
public bool IsCardTypeDuplicate(string name, int callType, ref SettingsRegResponseObj response) { try { var sql = $"Select coalesce(Count(\"CardTypeId\"),0) FROM \"NewVPlusSales\".\"CardType\" WHERE lower(\"Name\")= lower('{name.Replace("'", "''")}')"; var check = _repository.RepositoryContext().Database.SqlQuery <long>(sql).ToList(); if (check.IsNullOrEmpty()) { response.Status.Message.FriendlyMessage = "Unable to complete your request due to validation error. Please try again later"; response.Status.Message.TechnicalMessage = "Unable to chech for duplicate"; return(true); } if (check.Count != 1) { response.Status.Message.FriendlyMessage = "Unable to complete your request due to validation error. Please try again later"; response.Status.Message.TechnicalMessage = "Unable to chech for duplicate"; return(true); } if (check[0] < 1) { return(false); } if (check[0] > 0) { if (callType != 2 || check[0] > 1) { response.Status.Message.FriendlyMessage = "Duplicate Error! Card Type name already exist "; response.Status.Message.TechnicalMessage = "Duplicate Error! Card Type name already exist"; return(true); } } return(false); } catch (Exception ex) { response.Status.Message.FriendlyMessage = "Unable to complete your request due to Validation Error:Please try again later"; response.Status.Message.TechnicalMessage = "Duplicate check error:" + ex.Message; ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); return(true); } }
public SettingsRegResponseObj AddCardCommission(RegCardCommissionObj regObj) { var response = new SettingsRegResponseObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage() } }; try { if (regObj.Equals(null)) { response.Status.Message.FriendlyMessage = "Error occure!Unable to proceed to your Request"; response.Status.Message.TechnicalMessage = "Registration Object is empty/Invaild"; return(response); } if (regObj.LowerAmount == 0 || regObj.UpperAmount == 0) { response.Status.Message.FriendlyMessage = "Error occure!Lower/Upper Amount cannot be zero"; response.Status.Message.TechnicalMessage = "Registration Object is empty/Invaild"; return(response); } if (regObj.LowerAmount > regObj.UpperAmount) { response.Status.Message.FriendlyMessage = "Error occure!LowerAmount cannot be greater than UpperAmount"; response.Status.Message.TechnicalMessage = "Registration Object is empty/Invaild"; return(response); } var associatedCardType = GetCardTypeInfo(regObj.CardTypeId); if (associatedCardType == null) { response.Status.Message.FriendlyMessage = "Specified Card Type Info not available"; response.Status.Message.TechnicalMessage = "Specified Card Type Info not available"; return(response); } if (regObj.LowerAmount != associatedCardType.FaceValue) { response.Status.Message.FriendlyMessage = "Error occure!LowerAmount must be equal to face value"; response.Status.Message.TechnicalMessage = "Registration Object is empty/Invaild"; return(response); } #region Lower Modulo if (regObj.LowerAmount % 2 == 0) { if (regObj.LowerAmount % associatedCardType.FaceValue != 0) { response.Status.Message.FriendlyMessage = $"Lower Amount must be a multiple of {associatedCardType.FaceValue}"; response.Status.Message.TechnicalMessage = $"Lower Amount must be a multiple of {associatedCardType.FaceValue}"; return(response); } } else { var lowerAmountCheck = regObj.LowerAmount + 1; if (lowerAmountCheck % associatedCardType.FaceValue != 0) { response.Status.Message.FriendlyMessage = $"Lower Amount must be a multiple of {associatedCardType.FaceValue}"; response.Status.Message.TechnicalMessage = $"Lower Amount must be a multiple of {associatedCardType.FaceValue}"; return(response); } } #endregion #region Upper Modulo if (regObj.UpperAmount % 2 == 0) { if (regObj.UpperAmount % associatedCardType.FaceValue != 0) { response.Status.Message.FriendlyMessage = $"Upper Amount must be a multiple of {associatedCardType.FaceValue}"; response.Status.Message.TechnicalMessage = $"Upper Amount must be a multiple of {associatedCardType.FaceValue}"; return(response); } } else { var upperAmountCheck = regObj.UpperAmount + 1; if (upperAmountCheck % associatedCardType.FaceValue != 0) { response.Status.Message.FriendlyMessage = $"Upper Amount must be a multiple of {associatedCardType.FaceValue}"; response.Status.Message.TechnicalMessage = $"Upper Amount must be a multiple of {associatedCardType.FaceValue}"; return(response); } } #endregion 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.getRequesterRoles(), ref response.Status.Message)) { return(response); } if (IsCardCommissionDuplicate(regObj.LowerAmount, regObj.UpperAmount, regObj.CommissionRatee, regObj.CardTypeId, 1, ref response)) { return(response); } var cardCommission = new CardCommission { CommissionRatee = regObj.CommissionRatee, CardTypeId = regObj.CardTypeId, LowerAmount = regObj.LowerAmount, UpperAmount = regObj.UpperAmount, Status = (Status)regObj.Status }; var added = _repository.Add(cardCommission); _uoWork.SaveChanges(); if (added.CardCommissionId < 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.CardCommissionId; } 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); }
public SettingsRegResponseObj DeleteCardCommission(DeleteCardCommission regObj) { var response = new SettingsRegResponseObj { 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, new[] { "PortalAdmin", "CRMAdmin", "CRMManager" }, ref response.Status.Message)) { return(response); } var thisCardCommission = GetCardCommissionInfo(regObj.CardCommissionId); if (thisCardCommission == null) { response.Status.Message.FriendlyMessage = "No CardCommission Information found for the specified CardCommission Id"; response.Status.Message.TechnicalMessage = "No CardCommission Information found!"; return(response); } thisCardCommission.Status = Status.Deleted; var added = _repository.Update(thisCardCommission); _uoWork.SaveChanges(); if (added.CardCommissionId < 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.CardCommissionId; } 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); }
public SettingsRegResponseObj AddCardType(RegCardTypeObj regObj) { var response = new SettingsRegResponseObj { 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 (regObj.FaceValue == 0) { response.Status.Message.FriendlyMessage = "Error Occurred! Face Value cannot be Zero"; response.Status.Message.TechnicalMessage = "Registration Object is empty / invalid"; return(response); } if (!EntityValidatorHelper.Validate(regObj, out var valResult)) { var errorDetails = new StringBuilder(); if (!valResult.IsNullOrEmpty()) { errorDetails.Append("The following error occured:"); valResult.ForEachx(m => errorDetails.Append(m.ErrorMessage)); } else { errorDetails.Append( "Validation Error Occured! Please check all supplied parameter and try again"); } response.Status.Message.FriendlyMessage = errorDetails.ToString(); response.Status.Message.FriendlyMessage = errorDetails.ToString(); response.Status.IsSuccessful = false; return(response); } if (!HelperMethods.IsUserValid(regObj.AdminUserId, regObj.SysPathCode, HelperMethods.getRequesterRoles(), ref response.Status.Message)) { return(response); } if (IsCardTypeDuplicate(regObj.Name, 1, ref response)) { return(response); } var card = new CardType { Name = regObj.Name, FaceValue = regObj.FaceValue, Status = (Status)regObj.Status }; var added = _repository.Add(card); _uoWork.SaveChanges(); if (added.CardTypeId < 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.CardTypeId; } 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); }
public SettingsRegResponseObj DeleteCard(DeleteCardObj regObj) { var response = new SettingsRegResponseObj() { 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.getRequesterRoles(), ref response.Status.Message)) { return(response); } var thisCard = GetCardInfo(regObj.CardId); if (thisCard == null) { response.Status.Message.FriendlyMessage = "No Card Production Information found for the specified Card Id"; response.Status.Message.TechnicalMessage = "No Card Production Information found!"; return(response); } if (thisCard.Status != CardStatus.Registered) { response.Status.Message.FriendlyMessage = "Sorry This Card Production Is Not Valid For Delete! Please Try Again Later"; response.Status.Message.TechnicalMessage = " Supply Requisition Status is either already Active/Issued/Retired!"; return(response); } thisCard.CardTitle = thisCard.CardTitle + "_Deleted_" + DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss"); thisCard.Status = CardStatus.Defective; var added = _repository.Update(thisCard); _uoWork.SaveChanges(); if (added.CardId < 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); } response.Status.IsSuccessful = true; response.SettingId = added.CardId; } 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); }