Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
 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));
     }
 }
Esempio n. 3
0
        /// <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("");
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
 /// <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"));
 }
Esempio n. 6
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);
 }
Esempio n. 7
0
 /// <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);
 }
Esempio n. 8
0
        /// <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));
        }
Esempio n. 9
0
        /// <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);
        }
Esempio n. 10
0
        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));
            }
        }