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); }
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); }
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); }