Beispiel #1
0
        public static List <CRCreditConfigsInfo> GetCreditConfigs(CreditConfigType type)
        {
            List <CRCreditConfigsInfo> lstConfigs = new CRCreditConfigsController().GetListAllObjects().Cast <CRCreditConfigsInfo>().ToList();

            lstConfigs = lstConfigs.Where(t => !String.IsNullOrWhiteSpace(t.TableName) && DataStructureProvider.IsExistedTable(t.TableName) && !String.IsNullOrWhiteSpace(t.PartnerIDField) && (!String.IsNullOrWhiteSpace(t.AmtField) || !String.IsNullOrWhiteSpace(t.AmtFCField))).ToList();

            if ((type & CreditConfigType.Increase) == CreditConfigType.Increase)
            {
                lstConfigs = lstConfigs.Where(t => t.IsIncrease).ToList();
            }

            if ((type & CreditConfigType.Decrease) == CreditConfigType.Decrease)
            {
                lstConfigs = lstConfigs.Where(t => t.IsDecrease).ToList();
            }

            if ((type & CreditConfigType.Purchase) == CreditConfigType.Purchase)
            {
                lstConfigs = lstConfigs.Where(t => t.IsPurchase).ToList();
            }

            if ((type & CreditConfigType.Sale) == CreditConfigType.Sale)
            {
                lstConfigs = lstConfigs.Where(t => t.IsSale).ToList();
            }


            return(lstConfigs);
        }
Beispiel #2
0
        public static double GetCredit(Guid partnerID, CreditConfigType configType)
        {
            double amt = 0;

            foreach (CRCreditConfigsInfo config in GetCreditConfigs(configType))
            {
                String strFKPartnerIDCol = config.PartnerIDField;
                if (String.IsNullOrWhiteSpace(strFKPartnerIDCol))
                {
                    strFKPartnerIDCol = "FK_MAPartnerID";
                }

                String strQuery = QueryGenerator.GenSelect(config.TableName, String.Format("SUM({0})", config.AmtFCField), true);
                strQuery = QueryGenerator.AddCondition(strQuery, config.ConditionString);

                if (DataStructureProvider.IsTableColumn(config.TableName, strFKPartnerIDCol))
                {
                    strQuery = QueryGenerator.AddEqualCondition(strQuery, strFKPartnerIDCol, partnerID);
                }
                else
                {
                    if (DataStructureProvider.IsExistedTable(config.ParentTableName))
                    {
                        if (DataStructureProvider.IsTableColumn(config.ParentTableName, strFKPartnerIDCol))
                        {
                            String strFK     = DataStructureProvider.GetForeignKeyOfTableName(config.TableName, config.ParentTableName);
                            String strQuery2 = QueryGenerator.GenSelect(config.ParentTableName, DataStructureProvider.GetPrimaryKeyColumn(config.ParentTableName), true);
                            strQuery2 = QueryGenerator.AddEqualCondition(strQuery2, strFKPartnerIDCol, partnerID);
                            strQuery  = QueryGenerator.AddCondition(strQuery, String.Format("{0} IN ({1})", strFK, strQuery2));
                        }
                    }
                }

                object obj = BusinessObjectController.GetData(strQuery);
                if (obj != null && obj != DBNull.Value)
                {
                    amt += Convert.ToDouble(obj);
                }
            }
            return(amt);
        }
Beispiel #3
0
        public static List <CRCreditConfigsInfo> GetCreditConfigs(String strTableName, CreditConfigType type)
        {
            List <CRCreditConfigsInfo> lstConfigs = GetCreditConfigs(strTableName);

            if ((type & CreditConfigType.Increase) == CreditConfigType.Increase)
            {
                lstConfigs = lstConfigs.Where(t => t.IsIncrease).ToList();
            }

            if ((type & CreditConfigType.Decrease) == CreditConfigType.Decrease)
            {
                lstConfigs = lstConfigs.Where(t => t.IsDecrease).ToList();
            }

            if ((type & CreditConfigType.Purchase) == CreditConfigType.Purchase)
            {
                lstConfigs = lstConfigs.Where(t => t.IsPurchase).ToList();
            }

            if ((type & CreditConfigType.Sale) == CreditConfigType.Sale)
            {
                lstConfigs = lstConfigs.Where(t => t.IsSale).ToList();
            }

            return(lstConfigs);
        }