Example #1
0
        public DataContract.Macro.GetMacroProductListResponse GetMacroProducts(DataContract.Macro.GetMacroProductListRequest request)
        {
            if (String.IsNullOrEmpty(request.Platform))
            {
                request.Platform = ConfigurationManager.AppSettings["DefaultPlatform"];
            }

            var response = new MacroProductProvider().GetMacroProducts(request);

            return(response);
        }
Example #2
0
        public DataContract.Macro.GetMacroProductListByCategoryResponse GetMacroProductsByCategory(DataContract.Macro.GetMacroProductListRequest request)
        {
            LogRequest(request);

            var response  = new DataContract.Macro.GetMacroProductListByCategoryResponse();
            var sessionId = GetSessionId(request, out errorMessage);

            logger.InfoLow("[API] [" + sessionId + "] [MacroProductProvider] [SEND-DATA] GetMacroProductsByCategory {sessionId = " + sessionId + ", UserId=" + request.Agent + ", DeviceType=" + request.DeviceType + "}");

            if (errorMessage != ErrorMessagesMnemonics.None)
            {
                response.ResponseCode    = (int)errorMessage;
                response.ResponseMessage = errorMessage.ToDescription();
                logger.InfoLow("[API Binwus] [" + sessionId + "] [MacroProductProvider] [SEND-DATA] GetMacroProductsByCategory Error: " + errorMessage.ToDescription());

                return(response);
            }

            try
            {
                var platformId = Convert.ToInt32(request.Platform);                              //1
                var countryId  = Convert.ToInt32(ConfigurationManager.AppSettings["CountryId"]); //10
                logger.InfoLow("[API BinwusA] [MacroProductProvider]");

                //Platform products.
                var productList = new ServiceExecutionDelegator <GetProductListResponseBody, GetProductListRequestBody>().
                                  ResolveRequest(new GetProductListRequestBody()
                {
                    AuthenticationData = new AuthenticationData()
                    {
                        Username  = request.AuthenticationData.Username,
                        Password  = request.AuthenticationData.Password,
                        SessionID = sessionId
                    },
                    Agent      = request.Agent,
                    DeviceType = request.DeviceType
                }, request.Platform, ApiServiceName.GetProductList);
                logger.InfoLow("[API BinwusB] [MacroProductProvider]");
                if (productList.ProductList == null)
                {
                    response = new GetMacroProductListByCategoryResponse
                    {
                        ResponseCode    = 99,
                        ResponseMessage = "Error: El usuario no tiene productos asignados en la plataforma.",
                        TransactionID   = 0
                    };
                    logger.InfoLow("[API Binwus1] [" + sessionId + "] [MacroProductProvider] [SEND-DATA] GetMacroProductsByCategory Error: El usuario no tiene productos asignados en la plataforma.");
                }
                else
                {
                    logger.InfoLow("[API BinwusC.] [MacroProductProvider]");
                    var dm = new Movilway.API.Data.MacroProduct.MacroProductDataManager();
                    logger.InfoLow("[API BinwusD.] [MacroProductProvider]");
                    response = dm.GetMacroProductsByCategory(platformId, countryId, productList.ProductList, request.DeviceType);
                    logger.InfoLow("[API BinwusE.] [MacroProductProvider]");

                    logger.InfoLow("[API Binwus2] [" + sessionId + "] [MacroProductProvider] [RECV-DATA] GetMacroProductsByCategory {response={" + productList.ProductList.ToString() + "}}");

                    response.ResponseCode    = 0;
                    response.ResponseMessage = "Exito.";
                    response.TransactionID   = 0;
                }
            }
            catch (Exception e)
            {
                logger.InfoLow("[API Binwus3] [" + sessionId + "] [MacroProductProvider] [RECV-DATA] GetMacroProductsByCategory Error: " + e.Message);

                ProviderLogger.ExceptionLow(() => TagValue.New().Message("Exception trying to serve KINACU Operation").Exception(e));
            }

            LogResponse(response);

            return(response);
        }
Example #3
0
        public DataContract.Macro.GetMacroProductListResponse GetMacroProducts(DataContract.Macro.GetMacroProductListRequest request)
        {
            LogRequest(request);


            var response = new DataContract.Macro.GetMacroProductListResponse();

            var sessionId = GetSessionId(request, out errorMessage);

            if (errorMessage != ErrorMessagesMnemonics.None)
            {
                response.ResponseCode    = (int)errorMessage;
                response.ResponseMessage = errorMessage.ToDescription();
                return(response);
            }

            try
            {
                var platformId = Convert.ToInt32(request.Platform);                              //1
                var countryId  = Convert.ToInt32(ConfigurationManager.AppSettings["CountryId"]); //10

                //Platform products.
                var productList = new ServiceExecutionDelegator <GetProductListResponseBody, GetProductListRequestBody>().
                                  ResolveRequest(new GetProductListRequestBody()
                {
                    AuthenticationData = new AuthenticationData()
                    {
                        Username  = request.AuthenticationData.Username,
                        Password  = request.AuthenticationData.Password,
                        SessionID = sessionId
                    },
                    Agent      = request.Agent,
                    DeviceType = request.DeviceType
                }, request.Platform, ApiServiceName.GetProductList);

                if (productList.ProductList == null)
                {
                    response = new GetMacroProductListResponse
                    {
                        ResponseCode    = 99,
                        ResponseMessage = "Error: El usuario no tiene productos asignados en la plataforma.",
                        TransactionID   = 0
                    };
                }
                else
                {
                    var dm = new MacroProductDataManager();
                    response = dm.GetMacroProducts(platformId, countryId, productList.ProductList, request.DeviceType);
                    response.ResponseCode    = 0;
                    response.ResponseMessage = "Exito.";
                    response.TransactionID   = 0;
                }
            }
            catch (Exception e)
            {
                ProviderLogger.ExceptionLow(() => TagValue.New().Message("Exception trying to serve KINACU Operation").Exception(e));
            }

            LogResponse(response);

            return(response);
        }