private NebimV3.CurrentAccounts.RetailCustomer FindCustomerByPresenterCard(string CardNumber) { NebimV3.DataConnector.SqlSelectStatement query = new NebimV3.DataConnector.SqlSelectStatement(); query.TableNames.Add("cdCurrAcc", false); query.TableNames.Add("prCustomerPresentCard", false); query.Parameters.Add(new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccCode")); query.Filter = new NebimV3.DataConnector.GroupCondition(); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccCode"), new NebimV3.DataConnector.PropertyCondition("prCustomerPresentCard", "CurrAccCode") )); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccTypeCode"), new NebimV3.DataConnector.PropertyCondition("prCustomerPresentCard", "CurrAccTypeCode") )); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("prCustomerPresentCard", "CardNumber"), new NebimV3.DataConnector.ValueCondition(CardNumber) )); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccTypeCode"), new NebimV3.DataConnector.ValueCondition(NebimV3.ApplicationCommon.CurrAccTypes.Customer) )); HashSet <string> results = new HashSet <string>(); using (System.Data.IDataReader reader = NebimV3.DataConnector.SqlStatmentExecuter.ExecuteSelect(query)) { while (reader.Read()) { results.Add((string)(reader["CurrAccCode"])); } } if (results.Count > 1) // Örnek olarak yaptik. Exception atmak yerine ne yapilmasi gerektigi uygulamaya göre degisebilir. { throw new Exception("More than one record with the same Name and Phone Number"); } if (results.Count == 0) { return(null); } NebimV3.CurrentAccounts.RetailCustomer customer = new NebimV3.CurrentAccounts.RetailCustomer(); customer.RetailCustomerCode = results.FirstOrDefault(); customer.Load(); return(customer); }
private int?FindProductHierarchy(int[] hierarchLevelCodes) { int?productHierarchyId = null; try { NebimV3.DataConnector.SqlSelectStatement query = new NebimV3.DataConnector.SqlSelectStatement(); query.TableNames.Add("dfProductHierarchy", false); query.Parameters.Add(new NebimV3.DataConnector.PropertyCondition("dfProductHierarchy", "ProductHierarchyID")); for (int i = 0; i < hierarchLevelCodes.Length; i++) { // query.Parameters.Add(new NebimV3.DataConnector.PropertyCondition("dfProductHierarchy", "ProductHierarchyLevelCode0"+(i+1).ToString())); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("dfProductHierarchy", "ProductHierarchyLevelCode0" + (i + 1).ToString()), new NebimV3.DataConnector.ValueCondition(hierarchLevelCodes[i]) )); } HashSet <int> results = new HashSet <int>(); using (System.Data.IDataReader reader = NebimV3.DataConnector.SqlStatmentExecuter.ExecuteSelect(query)) { while (reader.Read()) { results.Add((int)(reader["ProductHierarchyID"])); } } // if (results.Count > 1) // Örnek olarak yaptik. Exception atmak yerine ne yapilmasi gerektigi uygulamaya göre degisebilir. // throw new Exception("More than one record with the same B2C customer Id"); if (results.Count == 0) { return(null); } productHierarchyId = results.LastOrDefault(); } catch (Exception ex) { NebimV3.Library.V3Exception v3Ex = ex as NebimV3.Library.V3Exception; if (v3Ex != null) { throw new Exception(NebimV3.ApplicationCommon.ExceptionHandlerBase.Default.GetExceptionMessage(v3Ex), ex); } throw; } return(productHierarchyId); }
internal IList <int> FindProductHierarchyLevelCode(string hierarchLevelName, int levelNumber) { try { NebimV3.DataConnector.SqlSelectStatement query = new NebimV3.DataConnector.SqlSelectStatement(); query.TableNames.Add("cdProductHierarchyLevel", false); query.TableNames.Add("cdProductHierarchyLevelDesc", false); query.Parameters.Add(new NebimV3.DataConnector.PropertyCondition("cdProductHierarchyLevel", "ProductHierarchyLevelCode")); query.Filter = new NebimV3.DataConnector.GroupCondition(); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdProductHierarchyLevel", "ProductHierarchyLevelCode"), new NebimV3.DataConnector.PropertyCondition("cdProductHierarchyLevelDesc", "ProductHierarchyLevelCode") )); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdProductHierarchyLevelDesc", "ProductHierarchyLevelDescription"), new NebimV3.DataConnector.ValueCondition(hierarchLevelName) )); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdProductHierarchyLevel", "LevelNumber"), new NebimV3.DataConnector.ValueCondition(levelNumber) )); HashSet <int> results = new HashSet <int>(); using (System.Data.IDataReader reader = NebimV3.DataConnector.SqlStatmentExecuter.ExecuteSelect(query)) { while (reader.Read()) { results.Add((int)(reader["ProductHierarchyLevelCode"])); } } // if (results.Count > 1) // Örnek olarak yaptik. Exception atmak yerine ne yapilmasi gerektigi uygulamaya göre degisebilir. // throw new Exception("More than one record with the same B2C customer Id"); if (results.Count == 0) { throw new Exception("Kategori*hiyerarşi eşi bulunamadı. Kategori:" + hierarchLevelName); //return null; } return(results.ToList()); } catch (Exception ex) { NebimV3.Library.V3Exception v3Ex = ex as NebimV3.Library.V3Exception; if (v3Ex != null) { throw new Exception(NebimV3.ApplicationCommon.ExceptionHandlerBase.Default.GetExceptionMessage(v3Ex), ex); } throw; } }
private string FindCustomerCode(string OfficeCode = null, string FirstName = null, string LastName = null, string PhoneNumber = null) { NebimV3.DataConnector.SqlSelectStatement query = new NebimV3.DataConnector.SqlSelectStatement(); query.TableNames.Add("cdCurrAcc", false); query.TableNames.Add("prCurrAccCommunication", false); query.Parameters.Add(new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccCode")); query.Filter = new NebimV3.DataConnector.GroupCondition(); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccCode"), new NebimV3.DataConnector.PropertyCondition("prCurrAccCommunication", "CurrAccCode") )); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccTypeCode"), new NebimV3.DataConnector.PropertyCondition("prCurrAccCommunication", "CurrAccTypeCode") )); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("prCurrAccCommunication", "CommunicationTypeCode"), new NebimV3.DataConnector.ValueCondition("1") // DIKKAT! Buradaki "1" kodu örnektir. Uygulamanin kullanildigi database de hangi CommunicationType telefon bilgisini iceriyorsa, onun kodu gelmelidir. )); if (PhoneNumber != null) { query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("prCurrAccCommunication", "CommAddress"), new NebimV3.DataConnector.ValueCondition(PhoneNumber) )); } if (FirstName != null) { query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "FirstName"), new NebimV3.DataConnector.ValueCondition(FirstName) )); } if (LastName != null) { query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "LastName"), new NebimV3.DataConnector.ValueCondition(LastName) )); } if (OfficeCode != null) { query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "OfficeCode"), new NebimV3.DataConnector.ValueCondition(OfficeCode) )); } query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccTypeCode"), new NebimV3.DataConnector.ValueCondition(NebimV3.ApplicationCommon.CurrAccTypes.Customer) )); HashSet <string> results = new HashSet <string>(); using (System.Data.IDataReader reader = NebimV3.DataConnector.SqlStatmentExecuter.ExecuteSelect(query)) { while (reader.Read()) { results.Add((string)(reader["CurrAccCode"])); } } if (results.Count > 1) // Örnek olarak yaptik. Exception atmak yerine ne yapilmasi gerektigi uygulamaya göre degisebilir. { throw new Exception("More than one record with the same Name and Phone Number"); } if (results.Count == 0) { return(null); } return(results.FirstOrDefault()); }
private string FindCustomerCodeByDescription(string description) { string customerCode = null; try { NebimV3.DataConnector.SqlSelectStatement query = new NebimV3.DataConnector.SqlSelectStatement(); query.TableNames.Add("cdCurrAcc", false); query.TableNames.Add("cdCurrAccDesc", false); query.Parameters.Add(new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccCode")); query.Filter = new NebimV3.DataConnector.GroupCondition(); query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccCode"), new NebimV3.DataConnector.PropertyCondition("cdCurrAccDesc", "CurrAccCode") )); if (description != null) { query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAccDesc", "CurrAccDescription"), new NebimV3.DataConnector.ValueCondition(description) )); } query.Filter.AddCondition( new NebimV3.DataConnector.BinaryCondition( new NebimV3.DataConnector.PropertyCondition("cdCurrAcc", "CurrAccTypeCode"), new NebimV3.DataConnector.ValueCondition(NebimV3.ApplicationCommon.CurrAccTypes.RetailCustomer) )); HashSet <string> results = new HashSet <string>(); using (System.Data.IDataReader reader = NebimV3.DataConnector.SqlStatmentExecuter.ExecuteSelect(query)) { while (reader.Read()) { results.Add((string)(reader["CurrAccCode"])); } } // if (results.Count > 1) // Örnek olarak yaptik. Exception atmak yerine ne yapilmasi gerektigi uygulamaya göre degisebilir. // throw new Exception("More than one record with the same B2C customer Id"); if (results.Count == 0) { return(null); } customerCode = results.LastOrDefault(); } catch (Exception ex) { NebimV3.Library.V3Exception v3Ex = ex as NebimV3.Library.V3Exception; if (v3Ex != null) { throw new Exception(NebimV3.ApplicationCommon.ExceptionHandlerBase.Default.GetExceptionMessage(v3Ex), ex); } throw; } return(customerCode); }