Exemplo n.º 1
0
        public List <FlattenRateItem> GetAllRate(int elt_account_number, int customer_org_num, int rate_type)
        {
            SqlConnection conn = new SqlConnection(GetConnectionString(AppConstants.DB_CONN_PROD));
            SqlCommand    cmd  = new SqlCommand()
            {
                Connection = conn, CommandType = CommandType.StoredProcedure, CommandText = "dbo.[GetAllRate]"
            };
            List <FlattenRateItem> list = new List <FlattenRateItem>();

            try
            {
                cmd.Parameters.Add(new SqlParameter("@elt_account_number", elt_account_number));
                cmd.Parameters.Add(new SqlParameter("@org_account_number", customer_org_num));
                cmd.Parameters.Add(new SqlParameter("@rate_type", rate_type));
                conn.Open();

                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var item = new FlattenRateItem()
                        {
                            id = Convert.ToInt32(reader["id"]),
                            elt_account_number = Convert.ToInt32(reader["elt_account_number"]),
                            item_no            = Convert.ToInt32(reader["item_no"]),
                            rate_type          = Convert.ToInt32(reader["rate_type"]),
                            agent_no           = reader["agent_no"].GetType() == typeof(System.DBNull) ?0: Convert.ToInt32(reader["agent_no"]),
                            customer_no        = reader["customer_no"].GetType() == typeof(System.DBNull) ? 0 : Convert.ToInt32(reader["customer_no"]),
                            carrier            = Convert.ToInt32(reader["airline"]),
                            origin_port        = Convert.ToString(reader["origin_port"]),
                            dest_port          = Convert.ToString(reader["dest_port"]),
                            weight_break       = Convert.ToString(reader["weight_break"]),
                            rate             = Convert.ToDecimal(reader["rate"]),
                            kg_lb            = Convert.ToString(reader["kg_lb"]),
                            share            = Convert.ToInt32(reader["share"]),
                            is_org_merged    = Convert.ToString(reader["is_org_merged"]),
                            fl_rate          = Convert.ToString(reader["fl_rate"]),
                            sec_rate         = Convert.ToString(reader["sec_rate"]),
                            include_fl_rate  = Convert.ToString(reader["include_fl_rate"]),
                            include_sec_rate = Convert.ToString(reader["include_sec_rate"]),
                            dba_name         = Convert.ToString(reader["dba_name"])
                        };
                        list.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
            return(list);
        }
Exemplo n.º 2
0
        public List <RateRouting> SaveRateInfo(List <RateRouting> rRList)
        {
            List <FlattenRateItem> list = new List <FlattenRateItem>();
            int item_no = 0;

            foreach (var routing in rRList)
            {
                foreach (var rate in routing.Rates)
                {
                    foreach (var br in rate.RateDefinitionColums)
                    {
                        if (!string.IsNullOrEmpty(br.Rate) && !string.IsNullOrEmpty(rate.CarrierCode) && !string.IsNullOrEmpty(routing.Origin) && !string.IsNullOrEmpty(routing.Dest))
                        {
                            FlattenRateItem item = new FlattenRateItem();
                            item.rate_type          = rate_type;
                            item.item_no            = item_no;
                            item.weight_break       = br.Value;
                            item.rate               = Convert.ToDecimal(br.Rate);
                            item.kg_lb              = routing.Unit;
                            item.agent_no           = rate_type == 1 ? routing.agent_org_account_number : 0;
                            item.customer_no        = rate_type == 4 ? routing.customer_org_account_number : 0;
                            item.carrier            = Convert.ToInt32(rate.CarrierCode);
                            item.elt_account_number = elt_account_number;
                            item.origin_port        = routing.Origin;
                            item.dest_port          = routing.Dest;
                            item.share              = Convert.ToDecimal(rate.Share);
                            list.Add(item);
                            item_no++;
                        }
                    }
                }
            }
            RateManagementDA DA = new RateManagementDA();

            try
            {
                DA.SaveRate(elt_account_number, customer_org_num, rate_type, list);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            ClearRateRoutings();
            return(GetRateRoutings(elt_account_number, customer_org_num, rate_type));
        }