示例#1
0
        /// <summary>
        /// Convert value in to dollar from current current currency.
        /// </summary>
        /// <param name="dtimportData"></param>
        /// <returns></returns>
        private DataTable ConvertValueAsperCurrency(DataTable dtimportData)
        {
            //following index is value column startindex
            int valueColumnIndex = 3;

            for (int i = valueColumnIndex; i < dtimportData.Columns.Count; i++)
            {
                RevenuePlanner.Services.ICurrency objCurrency = new RevenuePlanner.Services.Currency();
                for (int j = 0; j < dtimportData.Rows.Count; j++)
                {
                    if (i > 2 && dtimportData.Rows[j][i].ToString().Trim() != "")
                    {
                        dtimportData.Rows[j][i] = dtimportData.Rows[j][i].ToString().Replace(",", "").Replace("---", "");
                        if (!string.IsNullOrEmpty(Convert.ToString(dtimportData.Rows[j][i])))
                        {
                            double value = 0;
                            double.TryParse(Convert.ToString(dtimportData.Rows[j][i]), out value);
                            dtimportData.Rows[j][i] = Convert.ToString(objCurrency.SetValueByExchangeRate(value, Sessions.PlanExchangeRate));
                        }
                    }
                    else
                    {
                        dtimportData.Rows[j][i] = "0";
                    }
                }
            }

            return(dtimportData);
        }
        /// <summary>
        /// Following Common method is created to set parameter to call report API.
        /// </summary>
        /// <param name="DbName"></param>
        /// <param name="StartDate"></param>
        /// <param name="EndDate"></param>
        //TO DO:Currenly This method is used only in Chart Method of this controller, for other method we will implement it letter.
        /// <returns></returns>
        private APIParameters SetApiParameters(string DbName, string StartDate, string EndDate)
        {
            RevenuePlanner.Services.ICurrency objCurrency = new RevenuePlanner.Services.Currency();
            APIParameters objApiParameters = new APIParameters();


            if (!string.IsNullOrEmpty(DbName) && DbName == Convert.ToString(Enums.ApplicationCode.RPC))
            {
                objApiParameters.ConnectionString = Sessions.User.UserApplicationId.Where(o => o.ApplicationTitle.ToLower() == Convert.ToString(Enums.ApplicationCode.RPC).ToLower()).Select(o => o.ConnectionString).FirstOrDefault();
            }
            else if (!string.IsNullOrEmpty(DbName) && DbName.ToLower() == Convert.ToString(Enums.ApplicationCode.MRP).ToLower())
            {
                if (!string.IsNullOrEmpty(Convert.ToString(ConfigurationManager.ConnectionStrings["MRPEntities"])))
                {
                    string efConnectionString             = Convert.ToString(ConfigurationManager.ConnectionStrings["MRPEntities"]);
                    EntityConnectionStringBuilder builder = new EntityConnectionStringBuilder(efConnectionString);
                    string regularConnectionString        = builder.ProviderConnectionString;

                    if (!string.IsNullOrEmpty(regularConnectionString))
                    {
                        objApiParameters.ConnectionString = Convert.ToString(regularConnectionString.Replace(@"\", @"\\"));
                    }
                }
            }

            if (ConfigurationManager.AppSettings.Count > 0)
            {
                if (!string.IsNullOrEmpty(Convert.ToString(ConfigurationManager.AppSettings["AuthorizedReportAPIUserName"])))
                {
                    objApiParameters.AuthorizedReportAPIUserName = System.Configuration.ConfigurationManager.AppSettings.Get("AuthorizedReportAPIUserName");
                }
                if (!string.IsNullOrEmpty(Convert.ToString(ConfigurationManager.AppSettings["AuthorizedReportAPIPassword"])))
                {
                    objApiParameters.AuthorizedReportAPIPassword = System.Configuration.ConfigurationManager.AppSettings.Get("AuthorizedReportAPIPassword");
                }
                if (!string.IsNullOrEmpty(Convert.ToString(ConfigurationManager.AppSettings["IntegrationApi"])))
                {
                    objApiParameters.ApiUrl = System.Configuration.ConfigurationManager.AppSettings.Get("IntegrationApi");
                    if (!string.IsNullOrEmpty(objApiParameters.ApiUrl) && !objApiParameters.ApiUrl.EndsWith("/"))
                    {
                        objApiParameters.ApiUrl += "/";
                    }
                }
                List <RevenuePlanner.Models.CurrencyModel.ClientCurrency> MonthWiseUserReportCurrency = objCurrency.GetUserCurrencyMonthwise(StartDate, EndDate);
                //string[] CurrencyRate = null;
                if (MonthWiseUserReportCurrency != null)
                {
                    objApiParameters.CurrencyRate = new string[MonthWiseUserReportCurrency.Count];
                    int i = 0;
                    foreach (var item in MonthWiseUserReportCurrency)
                    {
                        objApiParameters.CurrencyRate[i] = item.StartDate.ToString("MM/dd/yyyy") + ":" + item.EndDate.ToString("MM/dd/yyyy") + ":" + item.ExchangeRate + ":" + item.CurrencySymbol;
                        i++;
                    }
                }
            }
            return(objApiParameters);
        }