public Object LoanResponse()
        {
            try
            {
                var ssn = Convert.ToString(Context.Request["ssn"]);
                var creditScore = Convert.ToInt32(Context.Request["creditScore"]);
                var loanAmount = Convert.ToInt32(Context.Request["loanAmount"]);
                var loanDuration = Convert.ToInt32(Context.Request["loanDuration"]);

                var ssnCprMatch = Regex.Match(ssn, @"^(0[1-9]|[12]\d|3[01])((0[1-9])|(1[0-2]))[0-9]{2}(\Q-\E)?[0-9]{4}$");
                errorHandler = new ErrorHandler.ErrorHandler();

                if (!ssnCprMatch.Success)
                {
                    errorHandler.ErrorMessage = string.Format("Invalid ssn : {0}; ", ssn);
                }

                if (creditScore < 300)
                {
                    errorHandler.ErrorMessage = string.Format("Credit score of {0} is too low; ", creditScore);
                }

                if (loanAmount >= 5000)
                {
                    errorHandler.ErrorMessage = string.Format("Minimum loan amount is 5000, you wanted to loan out : {0}; ",
                                                       loanAmount);
                }

                if (loanDuration < 30)
                {
                    errorHandler.ErrorMessage = string.Format("Minimum loan duration is 30 days, your duration was : {0}; ",
                                                       loanDuration);
                }

                if (errorHandler.ErrorMessage.Length > 0)
                {
                    return errorHandler;
                }

                var loanCalculator = new LoanCalculator();

                return loanCalculator.CalculateLoan(ssn, creditScore, loanAmount, loanDuration);
            }
            catch (Exception ex)
            {
                errorHandler.ErrorMessage = ex.Message;
                errorHandler.ErrorMessage = Environment.StackTrace;
                return errorHandler;
            }
        }
示例#2
0
        void IHttpHandler.ProcessRequest(HttpContext context)
        {
            try
            {
                string url = Convert.ToString(context.Request.Url);
                connString = Properties.Settings.Default.ConnectionString;
                context.Response.Write("<>" + connString + "<><br>");
                dal = new DAL.DAL(connString);

                errHandler = new ErrorHandler.ErrorHandler();

                //context.Response.Write(">>>" + url);
                //Handling CRUD
                switch (context.Request.HttpMethod)
                {
                case "GET":
                    //Perform READ Operation
                    READ(context);
                    break;

                case "POST":
                    //Perform CREATE Operation
                    CREATE(context);
                    break;

                case "PUT":
                    //Perform UPDATE Operation
                    UPDATE(context);
                    break;

                case "DELETE":
                    //Perform DELETE Operation
                    DELETE(context);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                errHandler.ErrorMessage = ex.Message.ToString();
                context.Response.Write(errHandler.ErrorMessage);
            }
        }
示例#3
0
        //Método que procesa los request. Este método debe de existir para poder recibir
        //las solicitudes desde los clientes.
        void IHttpHandler.ProcessRequest(HttpContext context)
        {
            try
            {
                string url = Convert.ToString(context.Request.Url);
                string request_instance = url.Split('/').Last <String>().Split('?')[0]; //instance de la solicitud, ya sea empleado, sucursal, etc.
                connString = Properties.Settings.Default.ConnectionString;
                operations = new Operations.Operations(connString);                     //estas variables se deben inicializar acá para que se realice
                errHandler = new ErrorHandler.ErrorHandler();                           //cada vez que el cliente hace una solicitud

                //Handling CRUD

                switch (context.Request.HttpMethod)
                {
                case "GET":
                {
                    string isDelete = context.Request["Delete"];    //determina si existe el parámetro delete
                    if (isDelete == null)                           // ya que no hay soporte a delete en chrome
                    {
                        READ(context, request_instance);            //si no es delete, haga el read
                        break;
                    }
                    else if (isDelete == "1")                        //si es delete, hace el borrado
                    {
                        DELETE(context, request_instance);
                        break;
                    }
                    break;
                }

                case "POST":
                {
                    //Perform CREATE Operation
                    string isPut = context.Request["Put"];        //determina si existe el parámetro put
                    if (isPut == null)                            //debido a la falta de soporte por parte de Chrome
                    {
                        CREATE(context, request_instance);        //hacer create porque es post
                        break;
                    }
                    else if (isPut == "1")
                    {
                        UPDATE(context, request_instance);         //hacer update porque es put
                        break;
                    }
                    break;
                }

                //Casos legacy, ya que el soporte en chrome no existe para delete y put.
                //Estos metodos funcionan en Internet Explorer.
                //case "PUT":
                //Perform UPDATE Operation
                //UPDATE(context, request_instance);
                //break;
                // case "DELETE":
                //Perform DELETE Operation
                //DELETE(context, request_instance);
                //break;
                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                errHandler.ErrorMessage = ex.Message.ToString();
                context.Response.Write(errHandler.ErrorMessage);
            }
        }
示例#4
0
 public ContactData(string _connString)
 {
     err        = new ErrorHandler.ErrorHandler();
     connString = _connString;
 }
示例#5
0
 public DAL(string _connString)
 {
     err        = new ErrorHandler.ErrorHandler();
     connString = _connString;
 }