public NewOrderPageSide(OrderForm orderForm, PageLoader pageLoader) : base(pageLoader)
 {
     InitializeComponent();
     DataContext = this;
     MyOrder = orderForm;
     PageSide = null;
     PageNav = null;
 }
예제 #2
0
 public NewOrderPage(PageLoader pageLoader) : base(pageLoader)
 {
     InitializeComponent();
     DataContext = this;
     MyOrder = new OrderForm() { Client = new Client() };
     PageSide = new NewOrderPageSide(MyOrder, pageLoader);
     PageNav = new NewOrderPageNav(MyOrder, pageLoader);
     InitPage(pageLoader);
 }
예제 #3
0
 public AllOrdersPage(PageLoader pageLoader) : base(pageLoader)
 {
     InitializeComponent();
     DataContext = this;
     PageNav = new AllOrdersPageNav(pageLoader, CurrentForm = new OrderForm());
     SelectedMonth = MonthsList[DateTime.Now.Month - 1];
     SelectedYear = DateTime.Now.Year;
     list_FilterMonths.ItemsSource = MonthsList;
     Button_Click(this, null);
 }
예제 #4
0
 public NewOrder()
 {
     InitializeComponent();
     DataContext = this;
     newClient = new Client();
     newClient.AssignClientCode();
     MyOrder = new OrderForm() { Client = newClient };
     MyOrder.AssignOrderId();
     MyOrder.OrderDate = DateTime.Now;
 }
예제 #5
0
        public async Task PersistInfo(OrderForm order, int itemNo)
        {
            if (Qty > Item.StockQty)
                throw new Exception("Not enough stock");
            string sqlCmdString = "Insert Into dbo.order_items Values (@order_id, @item_no, @item_sku_code, @item_qty, @rate_adjustment)";
            SqlCommand sqlCmd = new SqlCommand(sqlCmdString, Database.SharedConnection);

            await Task.Run(() =>
            {
                try
                {
                    sqlCmd.Parameters.Add(new SqlParameter("@order_id", order.OrderId));
                    sqlCmd.Parameters.Add(new SqlParameter("@item_no", itemNo));
                    sqlCmd.Parameters.Add(new SqlParameter("@item_sku_code", Item.ItemSkuCode));
                    sqlCmd.Parameters.Add(new SqlParameter("@item_qty", Qty));
                    sqlCmd.Parameters.Add(new SqlParameter("@rate_adjustment", RateAdjustment));
                    sqlCmd.Transaction = Database.InitiateSharedTransaction(this);
                    sqlCmd.ExecuteNonQuery();
                    IsPersist = true;
                }
                catch(Exception)
                {
                    Database.EndSharedTransaction(this, true);
                }
                finally
                {
                    Database.EndSharedTransaction(this);
                }
            });
        }
예제 #6
0
        static async Task<List<OrderForm>> RetrieveOrderFormsByCondition(String condition, params SqlParameter[] parameters)
        {
            List<OrderForm> ordersList = new List<OrderForm>();
            string sqlCmdString = "Select * From dbo.order_forms " + condition;
            Database myDb = new Database();
            SqlCommand sqlCmd = new SqlCommand(sqlCmdString, myDb.Connection);
            SqlDataAdapter sqlAdapt = new SqlDataAdapter(sqlCmd);
            DataTable table = new DataTable();
            OrderForm form = null;

            await Task.Run(async () => 
            {
                try
                {
                    sqlCmd.Parameters.AddRange(parameters);
                    myDb.OpenConnection();
                    sqlAdapt.Fill(table);

                    foreach (DataRow row in table.Rows)
                    {
                        form = new OrderForm()
                        {
                            OrderId = (string)row["order_id"],
                            Client = await Client.RetrieveByClientCode((string)row["client_code"]),
                            OrderDate = (DateTime)row["order_date"],
                            IsApproved = (bool)row["order_approved"],
                            PocNo = (string)row["order_poc_no"],
                            OrderHardcopyUrl = (string)row["order_hardcopy_url"],
                            IsPersist = true
                        };
                        await form.RetrieveOrderChallan();
                        ordersList.Add(form);
                    }
                }
                finally
                {
                    sqlAdapt.Dispose();
                    table.Dispose();
                    myDb.CloseConnection();
                }
            });

            return ordersList;
        }
예제 #7
0
        public static async Task<Challan> RetrieveChallanByOrder(OrderForm orderForm)
        {
            Challan challan = null;
            string sqlCmdString = "Select * From dbo.challans Where order_id = @order_id";
            Database myDb = new Database();
            SqlCommand sqlCmd = new SqlCommand(sqlCmdString, myDb.Connection);
            SqlDataAdapter dataAdapt = new SqlDataAdapter(sqlCmd);
            DataTable table = new DataTable();

            await Task.Run(() =>
            {
                try
                {
                    myDb.OpenConnection();
                    sqlCmd.Parameters.Add(new SqlParameter("@order_id", orderForm.OrderId));
                    dataAdapt.Fill(table);

                    if (table.Rows.Count == 1)
                    {
                        DataRow row = table.Rows[0];
                        challan = new Challan()
                        {
                            BookNo = Convert.ToInt32(row["book_no"]),
                            ChallanNo = Convert.ToInt32(row["sl_no"]),
                            ChallanDate = (DateTime)row["challan_date"],
                            ChallanType = new ChallanType() { TypeName = (string)row["challan_type"] },
                            OrderForm = orderForm,
                            FreightCharge = Convert.ToInt32(row["freight_charge"]),
                            VehicleNo = (string)row["vehicle_no"],
                            DriverMobile = (string)row["driver_mobile"],
                            ConsignmentNoteNo = (string)row["consignment_note_no"],
                            TransporterName = (string)row["transporter_name"],
                            Vat = Convert.ToDouble(row["vat"]),
                            Cst = Convert.ToDouble(row["cst"]),
                            SpecialNote = row["special_note"] == DBNull.Value ? "" : (string)row["special_note"],
                            ReceivedAmount = Convert.ToInt32(row["received_amount"]),
                            IsPersist = true
                        };
                    }
                }
                finally
                {
                    dataAdapt.Dispose();
                    table.Dispose();
                    myDb.CloseConnection();
                }
            });
            
            return challan;
        }
 public ClientDetailsControl()
 {
     InitializeComponent();
     DataContext = this;
     OrderForm = GetValue(OrderFormProperty) as OrderForm;
 }
 public AllOrdersPageNav(PageLoader pageLoader, OrderForm orderForm) : base(pageLoader)
 {
     InitializeComponent();
     DataContext = this;
     OrderForm = orderForm;
 }