예제 #1
0
        public ActionResult Solicitud(SobreGiroDetalleSolicitudDto data)
        {
            string mensaje = "No envió datos.";

            if (data != null && data.isValidateRequisition(_settings, out mensaje))
            {
                Session["solicitud"] = data;
                return(Json(new { codError = "200" }));
            }
            return(Json(new { codError = "400", mensaje }));
        }
예제 #2
0
        public string ValidarOTP(SobreGiroDetalleSolicitudDto requisition, string cedula, string posibleOtp, out long idExpediente, out string codigoRetorno, out string mensajeRetorno)
        {
            mensajeRetorno = "";
            string resp;

            idExpediente  = 0;
            codigoRetorno = "0000";
            try
            {
                ServicioContratacionProductos.Solicitud solicitud = new ServicioContratacionProductos.Solicitud();

                Mapper.Map(requisition, solicitud);
                Mapper.Map(_settings, solicitud);
                solicitud.IdentificacionCliente = cedula;

                var resp1 = _ContratacionProducto.ValidarOtpSobregiro(cedula, posibleOtp, _settings.ProductoSG.IdProductoNeo,
                                                                      solicitud, out idExpediente, out codigoRetorno, out mensajeRetorno);
            }
            catch (Exception e)
            {
                codigoRetorno  = "503";
                mensajeRetorno = InitialConfig.getNotiMessage("503", _settings).paragraph;
                return("0");
            }

            if (codigoRetorno == "099")
            {
                codigoRetorno = "200";
                return("099");
            }
            if (codigoRetorno == "000")
            {
                codigoRetorno = "200";
                return("000");
            }
            if (codigoRetorno == "0001" || codigoRetorno == "9999")
            {
                codigoRetorno  = "400";
                mensajeRetorno = "El código ingresado está incorrecto. Por favor ingrésalo nuevamente";
                return("");
            }

            return("");
        }
예제 #3
0
        public static bool isValidateRequisition(this SobreGiroDetalleSolicitudDto myObject, CommonApplicationSettings _settings, out string mensaje)
        {
            foreach (PropertyInfo pi in myObject.GetType().GetProperties())
            {
                if (pi.PropertyType == typeof(string))
                {
                    string value = (string)pi.GetValue(myObject);
                    if (string.IsNullOrEmpty(value) && (pi.Name != "TasaInteres" && pi.Name != "celular"))
                    {
                        mensaje = pi.Name + " no fué ingresado";
                        return(false);
                    }
                }
            }

            var cantidad = myObject.Cantidad.Replace(",", "");


            if (cantidad.Any(char.IsLetter))
            {
                mensaje = "la cantidad contenía letras";
                return(false);
            }

            if (cantidad.ToInt() < _settings.RangoDeSobregiro.valorMin || cantidad.ToInt() > _settings.RangoDeSobregiro.valorMax)
            {
                mensaje = cantidad + $" no está en el rango de ({_settings.RangoDeSobregiro.valorMin} - {_settings.RangoDeSobregiro.valorMax})";
                return(false);
            }

            var cuenta = myObject.Cuenta.Split('-');

            if (cuenta[0].Any(char.IsLetter))
            {
                mensaje = "la cuenta contiene letras";
                return(false);
            }


            if (myObject.TipoSobregiro != "82" && myObject.TipoSobregiro != "85")
            {
                mensaje = "Tipo Sobregiro no válido";
                return(false);
            }


            DateTime temp;

            if (!(DateTime.TryParse(myObject.FechaPago, CultureInfo.CreateSpecificCulture("es-EC"), DateTimeStyles.None, out temp)))
            {
                mensaje = "fecha no válida. formato fecha: " + String.Format("{0:dd/MM/yyyy}", DateTime.Today);
                return(false);
            }

            var hoy = Convert.ToDateTime(DateTime.Today.Date, new CultureInfo("es-EC"));

            if (hoy.Month != temp.Month)
            {
                mensaje = "\n  Mes erroneo. \n fecha actual: " + String.Format("{0:dd/MM/yyyy}", hoy) + "\n" + "fecha introducida: " + String.Format("{0:dd/MM/yyyy}", temp);
                return(false);
            }

            if (hoy.Year != temp.Year)
            {
                mensaje = "\n  Año erroneo. \n fecha actual: " + String.Format("{0:dd/MM/yyyy}", hoy) + "\n" + "fecha introducida: " + String.Format("{0:dd/MM/yyyy}", temp);
                return(false);
            }


            if ((temp.DayOfWeek == DayOfWeek.Saturday) || (temp.DayOfWeek == DayOfWeek.Sunday))
            {
                string dateToday = hoy.ToString("d");
                mensaje = "\n No se permiten Sábado y Domingos";
                return(false);
            }

            mensaje = "";

            return(true);
        }