private void ChangeProduct(ref Prdct product, string propertyToNotify)
        {
            var viewModel = new ChangeProductViewModel();

            if (_dialogService.ShowDialog(viewModel) == true)
            {
                product = viewModel.SelectedProduct;
                Notify(propertyToNotify);
            }
        }
        public EditPackageViewModel(Dlvr delivery)
        {
            _delivery    = delivery;
            _product1    = _delivery.PRD_LN_1 == null ? null : DBHelper.GetProduct(_delivery.PRD_LN_1.Value);
            _product2    = _delivery.PRD_LN_2 == null ? null : DBHelper.GetProduct(_delivery.PRD_LN_2.Value);
            _product3    = _delivery.PRD_LN_3 == null ? null : DBHelper.GetProduct(_delivery.PRD_LN_3.Value);
            _product4    = _delivery.PRD_LN_4 == null ? null : DBHelper.GetProduct(_delivery.PRD_LN_4.Value);
            Amount1      = _delivery.PRD_LN_1_AMN == null ? 0 : int.Parse(_delivery.PRD_LN_1_AMN);
            Amount2      = _delivery.PRD_LN_2_AMN == null ? 0 : int.Parse(_delivery.PRD_LN_2_AMN);
            Amount3      = _delivery.PRD_LN_3_AMN == null ? 0 : int.Parse(_delivery.PRD_LN_3_AMN);
            Amount4      = _delivery.PRD_LN_4_AMN == null ? 0 : int.Parse(_delivery.PRD_LN_4_AMN);
            CostEstimate = _delivery.ESTM_CLM;

            OkCommand              = new Command(Save);
            CancelCommand          = new Command(() => DialogResult = false);
            ChangeProduct1Command  = new Command(() => ChangeProduct(ref _product1, nameof(Product1Name)));
            ChangeProduct2Command  = new Command(() => ChangeProduct(ref _product2, nameof(Product2Name)));
            ChangeProduct3Command  = new Command(() => ChangeProduct(ref _product3, nameof(Product3Name)));
            ChangeProduct4Command  = new Command(() => ChangeProduct(ref _product4, nameof(Product4Name)));
            RecalculateCostCommand = new Command(RecalculateCost);
        }
예제 #3
0
        public static void UpdateDelivery(int id, Prdct product1, int amount1, Prdct product2, int amount2, Prdct product3, int amount3, Prdct product4, int amount4, double costEstimate)
        {
            using (var connection = new SqlConnection(_connectionString))
            {
                string query = @"
                    UPDATE [dbo].[DLVR_TBL]
                    SET PRD_LN_1 = @PRD_LN_1, PRD_LN_1_AMN = @PRD_LN_1_AMN, PRD_LN_2 = @PRD_LN_2, PRD_LN_2_AMN = @PRD_LN_2_AMN, ESTM_CLM = @ESTM_CLM, STS = 'R'
                    WHERE NMB_CLM = @NMB_CLM

                    IF EXISTS (SELECT TOP 1 1 FROM [dbo].[DLVR_TBL2] WHERE NMB_CLM = @NMB_CLM)
                    BEGIN
                        UPDATE [dbo].[DLVR_TBL2]
                        SET PRD_LN_3 = @PRD_LN_3, PRD_LN_3_AMN = @PRD_LN_3_AMN, PRD_LN_4 = @PRD_LN_4, PRD_LN_4_AMN = @PRD_LN_4_AMN
                        WHERE NMB_CLM = @NMB_CLM
                    END
                    ELSE
                    BEGIN
                        INSERT [dbo].[DLVR_TBL2] (NMB_CLM, PRD_LN_3, PRD_LN_3_AMN, PRD_LN_4, PRD_LN_4_AMN)
                        VALUES (@NMB_CLM, @PRD_LN_3, @PRD_LN_3_AMN, @PRD_LN_4, @PRD_LN_4_AMN)
                    END";

                connection.Execute(query, new
                {
                    NMB_CLM      = id,
                    PRD_LN_1     = product1?.NMB_CM,
                    PRD_LN_1_AMN = amount1,
                    PRD_LN_2     = product2?.NMB_CM,
                    PRD_LN_2_AMN = amount2,
                    PRD_LN_3     = product3?.NMB_CM,
                    PRD_LN_3_AMN = amount3,
                    PRD_LN_4     = product4?.NMB_CM,
                    PRD_LN_4_AMN = amount4,
                    ESTM_CLM     = costEstimate
                });
            }
        }