/// <summary> /// Get the real real income amount and make the validation specified /// </summary> /// <param name="tss_loan_request"></param> /// <returns>bool(true if is in the range or false if is without the range)</returns> public bool GetIncomeAmount(Tss_loan_request tss_loan_request) { float getSalary = GetSalary(tss_loan_request); foreach (var item in tss_loan_request.Data) { if (XMLConstant.Income_Frequency.Contains(item.Name)) { switch (item.Text.ToLower()) { case "weekly": return(GetAvgSalary(4, getSalary)); case "biweekly": return(GetAvgSalary(2, getSalary)); case "monthly": return(GetAvgSalary(1, getSalary)); default: break; } } } return(false); }
public JsonResult ValidateXml([FromBody] Tss_loan_request tss_loan_request) { try { string HomeState = _xMLProcess.GetHomeState(tss_loan_request); if (!_xMLProcess.GetAge(tss_loan_request)) { return(MessageResult("El XML no cumple con el formato válido: " + "No cumple con la edad requerida")); } if (!_xMLProcess.GetEmployerMonth(tss_loan_request)) { return(MessageResult("El XML no cumple con el formato válido: " + "Debe tener al menos 12 meses de estar trabajando ")); } if (!_xMLProcess.GetLoanAmountDesired(tss_loan_request)) { return(MessageResult("El XML no cumple con el formato válido: " + "No cumple con el monto del prestamo deseado")); } if (HomeState != "") { return(MessageResult("El XML no cumple con el formato válido: " + HomeState)); } if (!_xMLProcess.GetIncomeAmount(tss_loan_request)) { return(MessageResult("El XML no cumple con el formato válido: " + "El salario se encuentra 15% por debajo de 2000 ó 15% por arriba")); } return(MessageResult(_xMLProcess.MessageSuccess(tss_loan_request))); } catch (Exception e) { return(MessageResult(e.Message)); } }
/// <summary> /// Methos to validate the home state /// </summary> /// <param name="tss_loan_request"></param> /// <returns>string message with the response</returns> public string GetHomeState(Tss_loan_request tss_loan_request) { foreach (var item in tss_loan_request.Data) { if (XMLConstant.Home_State == item.Name) { if (!(item.Text.Length == 2)) { return("El valor de Home_State no puede ser menor ni mayor a los dos caracteres"); } switch (item.Text) { //CA, FL, NY, ND, GA, NC case "CA": return("Fromato CA no es valido"); case "FL": return("Fromato FL no es valido"); case "NY": return("Fromato NY no es valido"); case "ND": return("Fromato ND no es valido"); case "GA": return("Fromato GA no es valido"); case "NC": return("Fromato NC no es valido"); default: break; } } } return(""); }
/// <summary> /// Get the real age /// </summary> /// <param name="tss_loan_request"></param> /// <returns>bool(true>18 || false<18)</returns> public bool GetAge(Tss_loan_request tss_loan_request) { double AgeDate = (DateTime.Today - GetDate(tss_loan_request)).TotalDays / 365; if ((int)AgeDate < 18) { return(false); } return(true); }
/// <summary> /// Get the salary value contained in the xml and return the value /// </summary> /// <param name="tss_loan_request"></param> /// <returns>float with the salary value</returns> private float GetSalary(Tss_loan_request tss_loan_request) { foreach (var item in tss_loan_request.Data) { if (XMLConstant.Income_Ammount == item.Name.Trim()) { return(float.Parse(item.Text)); } } return(float.Parse("0")); }
/// <summary> /// Compare how many months the employer have work for the company /// </summary> /// <param name="tss_loan_request"></param> /// <returns>bool (true>12 || false<12)</returns> public bool GetEmployerMonth(Tss_loan_request tss_loan_request) { foreach (var item in tss_loan_request.Data) { if (XMLConstant.Employer_Lenght_Month == item.Name) { if (Convert.ToInt32(item.Text) < 12) { return(false); } else { return(true); } } } return(false); }
/// <summary> /// Get yhe amount desired specified in the xml and compare if is within the range /// </summary> /// <param name="tss_loan_request"></param> /// <returns>bool (true if is within the range,false is not)</returns> public bool GetLoanAmountDesired(Tss_loan_request tss_loan_request) { foreach (var item in tss_loan_request.Data) { if (XMLConstant.Loan_Amount_Desired == item.Name) { if (Convert.ToInt32(item.Text) >= 200 && Convert.ToInt32(item.Text) <= 500) { return(true); } else { return(false); } } } return(false); }
/// <summary> /// This method converts to valid datetime the born day contained in the xml /// </summary> /// <param name="tss_loan_request"></param> /// <returns>Datetime object with the born day</returns> private DateTime GetDate(Tss_loan_request tss_loan_request) { string dateTime = ""; foreach (var item in tss_loan_request.Data) { switch (item.Name) { case XMLConstant.Day: dateTime += item.Text + "/"; break; case XMLConstant.Month: dateTime += item.Text + "/"; break; case XMLConstant.Year: dateTime += item.Text; break; default: break; } } return(DateTime.Parse(dateTime)); }
/// <summary> /// This method create the success message /// </summary> /// <param name="tss_loan_request"></param> /// <returns>string with the message</returns> public string MessageSuccess(Tss_loan_request tss_loan_request) { string Message = "El XML ID:"; foreach (var item in tss_loan_request.Data) { if (XMLConstant.Customer_Id == item.Name.Trim()) { Message += item.Text; } if (XMLConstant.First_Name == item.Name.Trim()) { Message += " " + item.Text + ",fue aceptado con el nombre " + item.Text; } if (XMLConstant.Last_Name == item.Name.Trim()) { Message += " " + item.Text; } } return(Message); }
public JsonResult ValidateXmlString([FromBody] string tss_loan_request) { try { XmlSerializer serializer = new XmlSerializer(typeof(Tss_loan_request)); using (StringReader reader = new StringReader(tss_loan_request)) { Tss_loan_request data = (Tss_loan_request)(serializer.Deserialize(reader)); string HomeState = _xMLProcess.GetHomeState(data); if (!_xMLProcess.GetAge(data)) { return(MessageResult("El XML no cumple con el formato válido: " + "No cumple con la edad requerida")); } if (!_xMLProcess.GetEmployerMonth(data)) { return(MessageResult("El XML no cumple con el formato válido: " + "Debe tener al menos 12 meses de estar trabajando ")); } if (!_xMLProcess.GetLoanAmountDesired(data)) { return(MessageResult("El XML no cumple con el formato válido: " + "No cumple con el monto del prestamo deseado")); } if (HomeState != "") { return(MessageResult("El XML no cumple con el formato válido: " + HomeState)); } if (!_xMLProcess.GetIncomeAmount(data)) { return(MessageResult("El XML no cumple con el formato válido: " + "El salario se encuentra 15% por debajo de 2000 ó 15% por arriba")); } return(MessageResult(_xMLProcess.MessageSuccess(data))); } } catch (Exception e) { return(MessageResult(e.Message)); } }