Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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;
            }
        }
Example #4
0
        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());
        }
Example #5
0
        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);
        }