예제 #1
0
        public static List <PaymentTypeData> Get(List <long> transaction_ids)
        {
            var payment_types = PaymentType.GetCached_Dict();

            var param = new DynamicParameters();

            param.Add("@transaction_ids", transaction_ids);
            var query = @"
      
        SELECT
          PT.transaction_payment_type_id,
          PT.transaction_id,
          PT.payment_type_id,
          PT.payment_type_index,
          PT.added_after_save,
          CPT.added_on,
          CPT.added_by
        FROM  ClayFinancial.dbo.data_payment_type PT
        INNER JOIN payment_types P ON P.payment_type_id = PT.payment_type_id
        LEFT OUTER JOIN ClayFinancial.dbo.data_changes_payment_type CPT 
          ON CPT.transaction_payment_type_id = PT.transaction_payment_type_id
        WHERE 
          transaction_id in @transaction_ids
        ORDER BY P.name, PT.payment_type_index;
      ";

            var data_payment_types = Constants.Get_Data <PaymentTypeData>(query, param, Constants.ConnectionString.ClayFinancial);



            return(data_payment_types);
        }
예제 #2
0
        public static List <PaymentTypeData> Get(long transaction_id, List <ControlData> controls, List <PaymentMethodData> payment_methods)
        {
            var payment_types = PaymentType.GetCached_Dict();

            var param = new DynamicParameters();

            param.Add("@transaction_id", transaction_id);
            var query = @"
      
        SELECT
          PT.transaction_payment_type_id,
          PT.transaction_id,
          PT.payment_type_id,
          PT.payment_type_index,
          PT.added_after_save,
          CPT.added_on,
          CPT.added_by
        FROM  ClayFinancial.dbo.data_payment_type PT
        INNER JOIN payment_types P ON P.payment_type_id = PT.payment_type_id
        LEFT OUTER JOIN ClayFinancial.dbo.data_changes_payment_type CPT 
          ON CPT.transaction_payment_type_id = PT.transaction_payment_type_id
        WHERE 
          transaction_id = @transaction_id
        ORDER BY P.name, PT.payment_type_index;
      ";

            var data_payment_types = Constants.Get_Data <PaymentTypeData>(query, param, Constants.ConnectionString.ClayFinancial);

            foreach (var ptd in data_payment_types)
            {
                if (payment_types.ContainsKey(ptd.payment_type_id))
                {
                    ptd.payment_type = payment_types[ptd.payment_type_id];
                }
                else
                {
                    new ErrorLog("Missing Payment Type Id - " + ptd.payment_type_id.ToString(), "PaymentTypeData.Get()", "", "", "");
                }

                ptd.control_data = (from c in controls
                                    where c.transaction_payment_type_id.HasValue &&
                                    c.transaction_payment_type_id.Value == ptd.transaction_payment_type_id
                                    select c).ToList();

                ptd.payment_method_data = (from p in payment_methods
                                           where p.transaction_payment_type_id == ptd.transaction_payment_type_id
                                           select p).ToList();
            }


            return(data_payment_types);
        }