Beispiel #1
0
 /// <summary>
 ///
 /// </summary>
 public ResponseBussiness <ValidacionOperacionResponse> LoginOffline(AutenticacionOfflineRequest autenticacionOfflineRequest)
 {
     return(tryCatch.SafeExecutor(() =>
     {
         return autenticacionOfflineRepository.LoginOffline(token, autenticacionOfflineRequest);
     }));
 }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ValidacionOperacionResponse LoginOffline(TokenDto token, AutenticacionOfflineRequest autenticacionOfflineRequest)
        {
            ValidacionOperacionResponse validacionOperacionResponse = new ValidacionOperacionResponse();
            var parametros = new Dictionary <string, object>();

            parametros.Add("@CodigoTienda", token.CodeStore);
            parametros.Add("@CodigoCaja", token.CodeBox);
            parametros.Add("@CodigoEmpleado", token.CodeEmployee);

            // Obtener la informacion de folio y fecha de operacion
            List <System.Data.SqlClient.SqlParameter> parametrosOutInfo = new List <System.Data.SqlClient.SqlParameter>();

            parametrosOutInfo.Add(new System.Data.SqlClient.SqlParameter()
            {
                ParameterName = "@FechaOperacion", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Date
            });
            parametrosOutInfo.Add(new System.Data.SqlClient.SqlParameter()
            {
                ParameterName = "@Folio", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Int
            });
            var resultadoInfo  = data.ExecuteProcedure("[dbo].[sp_vanti_Obtener_Informacion_LoginOffline]", parametros, parametrosOutInfo);
            var fechaOperacion = Convert.ToDateTime(resultadoInfo["@FechaOperacion"]);
            var folio          = Convert.ToInt32(resultadoInfo["@Folio"]);

            //Obtener cadena del algoritmo
            string cadenaAlgoritmo = this.getCodeAlgorithm(fechaOperacion.ToString("yyyyMMdd"), fechaOperacion.ToString("yyyy-MM-dd"), token.CodeStore, token.CodeBox, folio);

            //Validar cadena generada con el algoritmo vs la clave que nos envian desde cliente
            if (cadenaAlgoritmo == autenticacionOfflineRequest.Clave)
            {
                // Agegar fecha operacion
                parametros.Add("@FechaOperacion", fechaOperacion);
                List <System.Data.SqlClient.SqlParameter> parametrosOut = new List <System.Data.SqlClient.SqlParameter>();
                parametrosOut.Add(new System.Data.SqlClient.SqlParameter()
                {
                    ParameterName = "@CodigoResultado", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Int
                });
                parametrosOut.Add(new System.Data.SqlClient.SqlParameter()
                {
                    ParameterName = "@MensajeResultado", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.NVarChar, Size = 4000
                });
                var resultado = data.ExecuteProcedure("[dbo].[sp_vanti_LoginOffline_InicioDia]", parametros, parametrosOut);
                validacionOperacionResponse.CodeNumber      = resultado["@CodigoResultado"].ToString();
                validacionOperacionResponse.CodeDescription = resultado["@MensajeResultado"].ToString();
            }
            else
            {
                validacionOperacionResponse.CodeNumber      = "409";
                validacionOperacionResponse.CodeDescription = "No se ha podido iniciar sesion, verifique la clave de acceso";
            }
            return(validacionOperacionResponse);
        }
Beispiel #3
0
        public ResponseBussiness <ValidacionOperacionResponse> SolicitaAutenticacion(AutenticacionOfflineRequest autenticacionOfflineRequest)
        {
            TokenDto token = new TokenService().Get();

            return(new AutenticacionOfflineBusiness(token).LoginOffline(autenticacionOfflineRequest));
        }
Beispiel #4
0
 /// <summary>
 /// Business para validar operación de Corte Z Offline
 /// </summary>
 public ResponseBussiness <ValidacionOperacionResponse> ValidarCorteOffline(TokenDto token, AutenticacionOfflineRequest autenticacionOfflineRequest)
 {
     return(tryCatch.SafeExecutor(() =>
     {
         return inicioFinDiaRepository.ValidarCorteOffline(token, autenticacionOfflineRequest);
     }));
 }
Beispiel #5
0
        public ResponseBussiness <ValidacionOperacionResponse> ValidarCorteOffline(AutenticacionOfflineRequest autenticacionOfflineRequest)
        {
            TokenDto token = new TokenService().Get();

            return(new InicioFinDiaBusiness().ValidarCorteOffline(token, autenticacionOfflineRequest));
        }