示例#1
0
        public override DataContract.Common.IMovilwayApiResponse PerformKinacuOperation(DataContract.Common.IMovilwayApiRequest requestObject, KinacuWebService.SaleInterface kinacuWS, string sessionID)
        {
            // throw new NotImplementedException();
            ValidateDepositRequestBody  request  = (ValidateDepositRequestBody)requestObject;
            ValidateDepositResponseBody response = new ValidateDepositResponseBody();

            try
            {
                //OK
                response.ResponseCode    = 0;
                response.ResponseMessage = "OK";
                response.DepositResult   = Utils.GetDepositStatus(request.Date.ToString("yyyyMMdd"), request.Amount, request.TransactionReference, request.BankName);
                response.TransactionID   = new Random().Next(100000, 999999);
            }
            catch (Exception ex)
            {
                response.ResponseCode    = 500;
                response.ResponseMessage = ex.Message;//"ERROR INESPERADO";
                response.DepositResult   = "EX";
                response.TransactionID   = 0;

                string mensaje = String.Concat("[API] ", base.LOG_PREFIX, "[ValidateDepositProvider] ", ". Exception: ", ex.Message, ". ", ex.StackTrace);
                logger.ErrorLow(mensaje);
            }
            return(response);
        }
示例#2
0
        public override DataContract.Common.IMovilwayApiResponse PerformKinacuOperation(DataContract.Common.IMovilwayApiRequest requestObject, KinacuWebService.SaleInterface kinacuWS, string sessionID)
        {
            // throw new NotImplementedException();

            SecurityResponseBody response = new SecurityResponseBody();

            try
            {
                response = dummyKinacuImplementation(requestObject, kinacuWS, sessionID);
            }
            catch (Exception ex)
            {
                response.ResponseCode    = 500;
                response.ResponseMessage = ex.Message;//_GenericError;
                response.TransactionID   = 0;

                string mensaje = String.Concat("[API] " + base.LOG_PREFIX + "[UpdateAgentProvider] ", ". Exception: ", ex.Message, ". ", ex.StackTrace);
                logger.ErrorLow(mensaje);
            }
            return(response);
        }
        public override IMovilwayApiResponse PerformKinacuOperation(IMovilwayApiRequest requestObject, KinacuWebService.SaleInterface kinacuWS, string sessionID)
        {
            GetLatestAccessRequestBody  request  = (GetLatestAccessRequestBody)requestObject;
            GetLatestAccessResponseBody response = new GetLatestAccessResponseBody();

            try
            {
                if (sessionID.Equals("0"))
                {
                    response.ResponseMessage = "error session";
                    response.ResponseCode    = 90;
                    return(response);
                }

                response.List = Utils.GetLatestAccess();
            }
            catch (Exception ex)
            {
                logger.ErrorLow(String.Concat("[QRY] ", LOG_PREFIX, "-", response.ResponseCode, "-", response.ResponseMessage, ". Exception: ", ex.Message, ". ", ex.StackTrace));
            }

            return(response);
        }
示例#4
0
        public override DataContract.Common.IMovilwayApiResponse PerformKinacuOperation(DataContract.Common.IMovilwayApiRequest requestObject, KinacuWebService.SaleInterface kinacuWS, string sessionID)
        {
            //throw new NotImplementedException();
            AddTrustedDeviceRequestBody  request  = (AddTrustedDeviceRequestBody)requestObject;
            AddTrustedDeviceResponseBody response = new AddTrustedDeviceResponseBody();

            try
            {
                if (request.DeviceType != (int)cons.ACCESS_POSWEB)
                {
                    response.ResponseCode    = 90;
                    response.ResponseMessage = "NO ESTA AUTORIZADO PARA ACCEDER A ESTE SERVICIO";//"ERROR INESPERADO";
                    response.TransactionID   = 0;
                    return(response);
                }

                //desnecriptar
                //String jsonString = request.InfoTokken;


                //int idUser = Utils.GetUserId(request.AuthenticationData.Username, cons.ACCESS_POSWEB);

                String jsonDecrypt = Cryptography.decrypt(request.InfoTokken);


                Dictionary <string, string> dictionary = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, string> >(jsonDecrypt);

                bool status = Convert.ToBoolean(dictionary["status"]);
                int  type   = Convert.ToInt32(dictionary["type"]);

                TrustedDevice device = new TrustedDevice()
                {
                    UserId       = request.AuthenticationData.Username,
                    Token        = dictionary["cookieMonster"],
                    Hash         = dictionary["hash"],
                    IdType       = type,
                    FriendlyName = dictionary["friendlyName"],
                    Description  = dictionary["description"],
                    Status       = status? cons.DEVICE_ACTIVE: cons.DEVICE_TEMPORAL,//cons.DEVICE_ACTIVE, //status? cons.DEVICE_ACTIVE: cons.DEVICE_TEMPORAL,
                    Secure       = status,
                    //IsActive = true,
                    DateActivated = DateTime.MinValue,
                    Model         = dictionary["model"],
                    OS            = dictionary["os"],
                    DateCreated   = DateTime.Now,
                    Ticks         = Convert.ToInt64(dictionary["ticks"])
                };



                if (!device.IsValid())
                {
                    response.ResponseCode    = 90;
                    response.ResponseMessage = "LOS DATOS DEL DISPOSITIVO ESTAN INCOMPLETOS";//"ERROR INESPERADO";
                    response.TransactionID   = 0;
                    //
                    return(response);
                }


                GenericApiResult <bool> result = Utils.AddTrustedDeviceNuevo(device);


                response.ResponseCode    = result.ResponseCode;
                response.ResponseMessage = result.ResponseMessage;
                response.Result          = result.ObjectResult;
            }
            catch (Exception ex)
            {
                response.ResponseCode    = 500;
                response.ResponseMessage = ex.Message;//"ERROR INESPERADO";
                response.TransactionID   = 0;

                string mensaje = String.Concat("[API] ", base.LOG_PREFIX, " [AddTrustedDeviceProvider]  [", ex.GetType().FullName, "] . Exception: ", ex.Message, ". ", ex.StackTrace);
                logger.ErrorLow(mensaje);
            }
            return(response);
        }
示例#5
0
        public override DataContract.Common.IMovilwayApiResponse PerformKinacuOperation(DataContract.Common.IMovilwayApiRequest requestObject, KinacuWebService.SaleInterface kinacuWS, string sessionID)
        {
            // throw new NotImplementedException();
            ValidateDeviceRequestBody  request  = (ValidateDeviceRequestBody)requestObject;
            ValidateDeviceResponseBody response = new ValidateDeviceResponseBody();

            response.LastVersion = "";

            try
            {
                // int idUser = Utils.GetUserId(request.AuthenticationData.Username, cons.ACCESS_POSWEB);


                GenericApiResult <TrustedDevice> device = Utils.GetDeviceByKey(request.TokenToValidate, requestObject.AuthenticationData.Username);


                if (device.IsObjectValidResult())
                {
                    GenericApiResult <bool> result = Utils.IsActiveDevice(device.ObjectResult); //Utils.ValidateDevice(request.TokenToValidate, idUser);

                    response.IsValid         = result.ObjectResult;
                    response.ResponseCode    = result.ResponseCode;
                    response.ResponseMessage = result.ResponseMessage;//"ERROR INESPERADO";

                    /// SE CAMBIO A A ESTADO SI NO ES ACTIVO Y SI ES TEMPORAL
                    if (!result.ObjectResult && device.ObjectResult.Status == cons.DEVICE_TEMPORAL)
                    {
                        //CAMBIAR A SERVICE EXCUTE DELEGATOR
                        string ERROR = "[NO SE PUDO CAMBIAR ESTADO A DISPOSITIVO TEMPORAL]";
                        try
                        {
                            //SE CAMBIA EL ESTADO BORRANDO
                            device.ObjectResult.Status = cons.DEVICE_DELETE;
                            if (!
                                Utils.SetStatusDevice(device.ObjectResult)//;
                                )
                            {
                                string mensaje = String.Concat("[API] ", base.LOG_PREFIX, "[ValidateDeviceProvider] ", ERROR);
                                logger.InfoLow(mensaje);
                            }
                        }
                        catch (Exception ex)
                        {
                            string mensaje = String.Concat("[API] ", base.LOG_PREFIX, "[ValidateDeviceProvider] ", ERROR, ". Exception: ", ex.Message, ". ", ex.StackTrace);
                            logger.ErrorLow(mensaje);
                            response.ResponseMessage = String.Concat(response.ResponseMessage, " ", ERROR);
                        }
                    }



                    if (device.ObjectResult.IdType != cons.DEVICE_TYPE_WEB)
                    {
                        response.LastVersion = System.Configuration.ConfigurationManager.AppSettings[String.Concat("VERSION_APP_", device.ObjectResult.IdType)] ?? System.Configuration.ConfigurationManager.AppSettings["VERSION_APP"] ?? "0";
                    }
                }
                else
                {
                    // RESPONSE CODE


                    response.ResponseCode    = 100;
                    response.ResponseMessage = device.ResponseMessage; //"ERROR INESPERADO";
                                                                       // response.LastVersion =   System.Configuration.ConfigurationManager.AppSettings["VERSION_APP"] ?? "0";
                }
            }
            catch (Exception ex)
            {
                response.ResponseCode    = 500;
                response.ResponseMessage = ex.Message;//"ERROR INESPERADO";
                response.TransactionID   = 0;

                string mensaje = String.Concat("[API] ", base.LOG_PREFIX, "[ValidateDeviceProvider] ", ". Exception: ", ex.Message, ". ", ex.StackTrace);
                logger.ErrorLow(mensaje);
            }
            return(response);
        }