示例#1
0
        /// <summary>
        /// Gets the WalletDeduction.
        /// </summary>
        /// <param name="walletDeductionParameter">The WalletDeduction parameter request.</param>
        /// <returns></returns>
        //public async Task<APIResponse> GetAllWalletDeduction(WalletDeductionParameter walletDeductionParameter)
        //{
        //    try
        //    {
        //        string serializedWalletDeduction;

        //        List<WalletDeductionResponse> walletDeduction;

        //        var encodedWalletDeduction = await distributedCache.GetAsync(WalletServiceOperation.GetWalletCacheName);

        //        if (encodedWalletDeduction != null)
        //        {
        //            serializedWalletDeduction = Encoding.UTF8.GetString(encodedWalletDeduction);
        //            walletDeduction = JsonConvert.DeserializeObject<List<WalletDeductionResponse>>(serializedWalletDeduction);
        //        }
        //        else
        //        {
        //            var client = httpClientFactory.CreateClient(WalletServiceOperation.serviceName);

        //            UriBuilder url = new UriBuilder(servicesConfig.Wallet + WalletServiceOperation.GetAllWalletDeduction());
        //            url.Query = QueryStringHelper.ConvertToQueryString(walletDeductionParameter);

        //            var response = await client.GetAsync(url.ToString());
        //            walletDeduction = JsonConvert.DeserializeObject<List<WalletDeductionResponse>>(await response.Content.ReadAsStringAsync());

        //            serializedWalletDeduction = JsonConvert.SerializeObject(walletDeduction);
        //            encodedWalletDeduction = Encoding.UTF8.GetBytes(serializedWalletDeduction);
        //            var options = new DistributedCacheEntryOptions()
        //                            .SetSlidingExpiration(TimeSpan.FromMinutes(1))
        //                            .SetAbsoluteExpiration(DateTime.Now.AddHours(1));

        //            await distributedCache.SetAsync(WalletServiceOperation.GetWalletCacheName, encodedWalletDeduction, options);
        //        }

        //        return new APIResponse(walletDeduction, HttpStatusCode.OK);
        //    }
        //    catch (Exception ex)
        //    {
        //        logger.Error(ex, "Exception in method 'GetAllWalletDeduction()'");
        //        var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
        //        return new APIResponse(exMessage, HttpStatusCode.InternalServerError);
        //    }
        //}
        public async Task <APIResponse> GetAllWalletDeduction(WalletDeductionParameter walletDeductionParameter)
        {
            try
            {
                var client = httpClientFactory.CreateClient(WalletServiceOperation.serviceName);

                UriBuilder url = new UriBuilder(servicesConfig.Wallet + WalletServiceOperation.GetAllWalletDeduction());
                url.Query = QueryStringHelper.ConvertToQueryString(walletDeductionParameter);
                var response = await client.GetAsync(url.ToString());

                if (response.IsSuccessStatusCode)
                {
                    var walletDeduction = JsonConvert.DeserializeObject <List <WalletDeductionResponse> >(await response.Content.ReadAsStringAsync());
                    return(new APIResponse(walletDeduction, HttpStatusCode.OK));
                }

                return(new APIResponse(response.StatusCode));
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Exception in method 'GetAllWalletDeduction()'");
                var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
                return(new APIResponse(exMessage, HttpStatusCode.InternalServerError));
            }
        }
示例#2
0
        public async Task <IActionResult> GetAllWalletDeduction([FromQuery] WalletDeductionParameter walletDeductionParameter)
        {
            var getAllWalletDeductionQuery = new GetAllWalletDeductionQuery(walletDeductionParameter);

            var result = await mediator.Send(getAllWalletDeductionQuery);

            return(StatusCode((int)result.Code, result.Value));
        }
        /// <summary>
        /// Gets all Wallet Deduction.
        /// </summary>
        /// <param name="walletDeductionParameter">The Wallet Deduction parameters.</param>
        /// <returns></returns>
        //public async Task<List<Walletdeduction>> GetAllWalletDeduction(WalletDeductionParameter walletDeductionParameter)
        //{
        //    {
        //        var getWalletDeductionParams = new object[]
        //        {
        //            new MySqlParameter("@p_Value", walletDeductionParameter.Value),
        //            new MySqlParameter("@p_IsForSingleDeduction", walletDeductionParameter.IsForSingleDeduction),
        //            new MySqlParameter("@p_IsForLeadId", walletDeductionParameter.IsForLeadId),
        //            new MySqlParameter("@p_IsForVendorId", walletDeductionParameter.IsForVendorId)
        //        };

        //        var walletDeduction = await FindAll("CALL SpSelectActiveWalletDeduction(@p_Value,@p_IsForSingleDeduction,@p_IsForLeadId,@p_IsForVendorId)", getWalletDeductionParams).ToListAsync();

        //        return walletDeduction;
        //    }
        //}

        public async Task <List <WalletDeductionResponse> > GetAllWalletDeduction(WalletDeductionParameter walletDeductionParameter)
        {
            var walletdeductions = FindByCondition(x => x.Active == Convert.ToInt16(true))
                                   .ProjectTo <WalletDeductionResponse>(mapper.ConfigurationProvider);

            SearchByWalletDeductionById(ref walletdeductions, walletDeductionParameter);
            var result = await walletdeductions.ToListAsync();

            return(result);
        }
示例#4
0
        public async Task <IActionResult> GetAllWalletDeduction([FromQuery] WalletDeductionParameter walletDeductionParameter)
        {
            var result = await walletDeductionService.GetAllWalletDeduction(walletDeductionParameter);

            return(StatusCode((int)result.Code, result.Value));
        }
示例#5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetAllWalletDeductionQuery"/> class.
 /// </summary>
 /// <param name="walletDeductionParameter">The WalletDeduction parameters.</param>
 public GetAllWalletDeductionQuery(WalletDeductionParameter walletDeductionParameter)
 {
     WalletDeductionParameter = walletDeductionParameter;
 }
        private void SearchByWalletDeductionById(ref IQueryable <WalletDeductionResponse> walletdeductions, WalletDeductionParameter walletDeductionParameter)
        {
            if (walletDeductionParameter.IsForSingleDeduction == true)
            {
                walletdeductions = walletdeductions.Where(x => x.Id == walletDeductionParameter.Value);
            }

            else if (walletDeductionParameter.IsForLeadId == true)
            {
                walletdeductions = walletdeductions.Where(x => x.LeadId.Equals(walletDeductionParameter.Value));
            }
            else if (walletDeductionParameter.IsForVendorId == true)
            {
                walletdeductions = walletdeductions.Where(x => x.VendorId.Equals(walletDeductionParameter.Value));
            }
        }