public ActionResult DeleteConfirmed(string id)
        {
            SO_SalesOrderDetail sO_SalesOrderDetail = db.SO_SalesOrderDetail.Find(id);

            db.SO_SalesOrderDetail.Remove(sO_SalesOrderDetail);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "SalesOrderNo,LineKey,LineSeqNo,ItemCode,ItemType,ItemCodeDesc,ExtendedDescriptionKey,Discount,Commissionable,SubjectToExemption,WarehouseCode,PriceLevel,MasterOrderLineKey,UnitOfMeasure,DropShip,PrintDropShipment,SalesKitLineKey,CostOfGoodsSoldAcctKey,SalesAcctKey,PriceOverridden,ExplodedKitItem,StandardKitBill,Revision,BillOption1,BillOption2,BillOption3,BillOption4,BillOption5,BillOption6,BillOption7,BillOption8,BillOption9,BackorderKitCompLine,SkipPrintCompLine,PromiseDate,AliasItemNo,SOHistoryDetlSeqNo,TaxClass,CustomerAction,ItemAction,WarrantyCode,ExpirationDate,ExpirationOverridden,CostOverridden,CostCode,CostType,CommentText,QuantityOrdered,QuantityShipped,QuantityBackordered,MasterOriginalQty,MasterQtyBalance,MasterQtyOrderedToDate,RepeatingQtyShippedToDate,UnitPrice,UnitCost,ExtensionAmt,UnitOfMeasureConvFactor,QuantityPerBill,LineDiscountPercent,Valuation,LotSerialFullyDistributed,APDivisionNo,VendorNo,PurchaseOrderNo,PurchaseOrderRequiredDate,LineWeight,CommodityCode,AlternateTaxIdentifier,TaxTypeApplied,NetGrossIndicator,DebitCreditIndicator,TaxAmt,TaxRate")] SO_SalesOrderDetail sO_SalesOrderDetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(sO_SalesOrderDetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(sO_SalesOrderDetail));
 }
        public SO_SalesOrderDetail GetSalesOrderDetail(string SalesOrderNo, string ItemCode)
        {
            SO_SalesOrderDetail returnDetail = null;

            lock (_locker)
            {
                returnDetail = _database.Table <SO_SalesOrderDetail>().Where(so => so.SalesOrderNo == SalesOrderNo && so.ItemCode == ItemCode).FirstOrDefault();
            }

            return(returnDetail);
        }
        // GET: SO_SalesOrderDetail/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SO_SalesOrderDetail sO_SalesOrderDetail = db.SO_SalesOrderDetail.Find(id);

            if (sO_SalesOrderDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(sO_SalesOrderDetail));
        }
        // GET: SO_SalesOrderDetail/Details/5
        public ActionResult Details(string SalesOrderNo, string LineKey)
        {
            if (SalesOrderNo == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SO_SalesOrderDetail sO_SalesOrderDetail = db.SO_SalesOrderDetail.Find(SalesOrderNo, LineKey);

            if (sO_SalesOrderDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(sO_SalesOrderDetail));
        }
예제 #6
0
        public App_RepairPart(CI_Item item, App_WorkTicket workTicket, string itemCode)
        {
            _ciOptions           = App.Database.GetCIOptions();
            quantityFormatString = String.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInQty, "}");
            umFormatString       = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInUM, "}");
            costFormatString     = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInCost, "}");
            priceFormatString    = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInPrice, "}");

            _workTicket = workTicket;

            _id             = 0;
            _parentItemCode = workTicket.DtlRepairItemCode;

            // dch rkl 10/31/2016 handle nulls
            if (item != null)
            {
                _partItemCode            = item.ItemCode;
                _partItemCodeDescription = item.ItemCodeDesc;
                _warehouse = item.DefaultWarehouseCode;

                // dch rkl 12/02/2016 Get Item Unit Cost based on JT_Options.DefaultPartsCost
                _unitCost = GetItemUnitCost(item.LastTotalUnitCost, item.AverageUnitCost, item.StandardUnitCost);
                //_unitCost = (double)item.StandardUnitCost;

                _unitPrice = Convert.ToDouble(item.StandardUnitPrice);

                // dch rkl 02/03/2017 Per Jeanne, Use the Sales Unit of Measure, not the Standard Unit of Measure
                //_unitOfMeasure = item.StandardUnitOfMeasure;
                _unitOfMeasure = item.SalesUnitOfMeasure;

                // dch rkl 11/23/2016 Add Item Type
                _itemType = item.ItemType;

                // dch rkl 12/05/2016 Add Item Valuation
                _valuation = item.Valuation;
            }
            else
            {
                _partItemCode            = "";
                _partItemCodeDescription = "";
                _warehouse     = "";
                _unitCost      = 0;
                _unitPrice     = 0;
                _unitOfMeasure = "";
                _itemType      = "";
                _valuation     = "";
            }

            _problemCode  = _workTicket.DtlProblemCode;
            _quantity     = 0.0;
            _comment      = string.Empty;
            _isChargeable = SetIsChargeable();
            _isPrintable  = (_isChargeable ? true : false);
            _isPurchased  = false;
            _isOverhead   = _workTicket.PartsCalculateOverheadDefault;

            //bk check existing sales order detail
            //bk use workticket item instead of item in case of null

            SO_SalesOrderDetail soDetail = App.Database.GetSalesOrderDetail(workTicket.SalesOrderNo, (item == null ? itemCode : item.ItemCode));

            if (soDetail != null)
            {
                _isChargeable = soDetail.JT158_WTChargePart == "Y" ? true : false;
                _isPrintable  = soDetail.JT158_WTPrintPart == "Y" ? true : false;
                _isPurchased  = soDetail.JT158_WTPurchase == "Y" ? true : false;
                _isOverhead   = soDetail.JT158_WTOverhead == "Y" ? true : false;
            }

            // dch rkl 11/30/2016 add quantity required
            _quantityReqd = 0;

            // dch rkl 12/05/2016 add qty shipped
            _quantityShipped = 0;

            // dch rkl 01/13/2017 Add Extended Description
            _itemCodeDesc = "";

            // dch rkl 01/23/2017 Sales Order Line Key
            _soLineKey = "";
        }
예제 #7
0
        public App_RepairPart(JT_ServiceEquipmentParts part, App_WorkTicket workTicket, CI_Item item)
        {
            _ciOptions           = App.Database.GetCIOptions();
            quantityFormatString = String.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInQty, "}");
            umFormatString       = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInUM, "}");
            costFormatString     = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInCost, "}");
            priceFormatString    = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInPrice, "}");

            _workTicket              = workTicket;
            _id                      = 0;
            _parentItemCode          = workTicket.DtlRepairItemCode;
            _partItemCode            = part.ItemCode;
            _partItemCodeDescription = item.ItemCodeDesc;
            _warehouse               = item.DefaultWarehouseCode;
            _problemCode             = part.ProblemCode;
            _quantity                = part.Quantity;

            // dch rkl 12/02/2016 Get Item Unit Cost based on JT_Options.DefaultPartsCost
            _unitCost = GetItemUnitCost(item.LastTotalUnitCost, item.AverageUnitCost, item.StandardUnitCost);
            //_unitCost = (double)item.StandardUnitCost;

            _unitPrice = (double)item.StandardUnitPrice;

            // dch rkl 02/03/2017 Use the sales unit of measure instead of the standard unit of measure
            //_unitOfMeasure = item.StandardUnitOfMeasure;
            _unitOfMeasure = item.SalesUnitOfMeasure;

            _comment      = "";
            _isChargeable = part.IsChargeable;
            _isPrintable  = part.IsPrintable;
            _isPurchased  = part.IsPurchased;
            _isOverhead   = part.IsOverhead;

            //bk check existing sales order detail
            SO_SalesOrderDetail soDetail = App.Database.GetSalesOrderDetail(workTicket.SalesOrderNo, item.ItemCode);

            if (soDetail != null)
            {
                _isChargeable = soDetail.JT158_WTChargePart == "Y" ? true : false;
                _isPrintable  = soDetail.JT158_WTPrintPart == "Y" ? true : false;
                _isPurchased  = soDetail.JT158_WTPurchase == "Y" ? true : false;
                _isOverhead   = soDetail.JT158_WTOverhead == "Y" ? true : false;
            }

            // dch rkl 11/23/2016 Add Item Type
            _itemType = item.ItemType;

            // dch rkl 12/05/2016 Add Item Valuation
            _valuation = item.Valuation;

            // dch rkl 11/30/2016 add quantity required
            _quantityReqd = 0;

            // dch rkl 12/05/2016 add qty shipped
            _quantityShipped = 0;

            // dch rkl 01/13/2017 Add Extended Description
            _itemCodeDesc = "";

            // dch rkl 01/23/2017 Sales Order Line Key
            _soLineKey = "";
        }
        protected void SetPageLayout()
        {
            // Set the page title.
            switch (_pageMode)
            {
            case PageMode.Add:
                _labelTitle.Content = "ADD PART";
                break;

            case PageMode.Edit:
                _labelTitle.Content = "EDIT PART";
                break;

            default:
                _labelTitle.Content = "ADD/EDIT PART";
                break;
            }
            // get our ci_options first
            _ciOptions           = App.Database.GetCIOptions();
            quantityFormatString = String.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInQty, "}");
            umFormatString       = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInUM, "}");
            costFormatString     = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInCost, "}");
            priceFormatString    = string.Concat("{0:F", _ciOptions.NumberOfDecimalPlacesInPrice, "}");

            gridMain.DataContext = _vm.PartToEdit;

            SolidColorBrush asbestos = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#7f8C8d"));

            // Set Bindings
            _labelPartNumber.SetBinding(ContentProperty, "PartItemCode");
            _labelPartNumber.Text = _vm.PartToEdit.PartItemCode;

            var ciOptions = App.Database.GetCIOptions();

            _labelPartDescription.SetBinding(ContentProperty, "PartItemCodeDescription");
            _labelPartDescription.Text = _vm.PartToEdit.PartItemCodeDescription;

            _pickerWarehouse.ItemsSource = _vm.WarehouseList;
            try { _pickerWarehouse.SelectedValue = _vm.PartToEdit.Warehouse; } catch { }

            if (_pageMode == PageMode.Edit)
            {
                _entryQuantity.Text = _vm.PartToEdit.Quantity.ToString();
            }
            else
            {
                _entryQuantity.Text = "1";
            }

            // dch rkl 01/23/2017 Change U/M to picklist
            _pickerUnitOfMeasure.ItemsSource = _vm.UnitOfMeasureList;
            try { _pickerUnitOfMeasure.SelectedValue = _vm.PartToEdit.UnitOfMeasure; }
            catch (Exception ex) { }
            if (_pickerUnitOfMeasure.SelectedIndex == -1 && _vm.PartToEdit.PartItemCode.Trim().Substring(0, 1) == "*" || _vm.PartToEdit.ItemType == "4" || _vm.PartToEdit.ItemType == "5")
            {
                AddItemToUMList(_vm.PartToEdit.UnitOfMeasure);
            }
            //_entryUnitOfMeasure.SetBinding(ContentProperty, "UnitOfMeasure");
            //_entryUnitOfMeasure.Text = _vm.PartToEdit.UnitOfMeasure;
            //_entryUnitOfMeasure.Style = (Style)this.Resources["styleUOM"];

            // dch rkl 12/05/2016 if qty shipped > 0, cannot edit warehouse or u/m
            if (_vm.PartToEdit.QuantityShipped > 0)
            {
                _pickerWarehouse.IsEnabled = false;

                // dch rkl 01/23/2017 Change U/M to picklist
                //_entryUnitOfMeasure.IsEnabled = false;
                _pickerUnitOfMeasure.IsEnabled = false;
            }

            // dch rkl 11/23/2016 If Edit Mode, and a Quantity has been entered, disable U/M
            if (_pageMode == PageMode.Edit && _vm.PartToEdit.Quantity != 0)
            {
                // dch rkl 01/23/2017 Change U/M to picklist
                //_entryUnitOfMeasure.IsEnabled = false;
                _pickerUnitOfMeasure.IsEnabled = false;
            }

            _entryUnitCost.Text = _vm.PartToEdit.UnitCost.ToString("C2");

            // dch rkl 11/23/2016 if misc part, allow entry of unit cost
            if (_vm.PartToEdit.PartItemCode.Trim().Substring(0, 1) == "*" || _vm.PartToEdit.ItemType == "4" || _vm.PartToEdit.ItemType == "5")
            {
                _entryUnitCost.IsEnabled = true;
                // dch rkl 01/23/2017 if miscellaneous, allow entry of U/M
                _pickerUnitOfMeasure.IsEditable = true;
            }
            else
            {
                _entryUnitCost.IsEnabled = false;
                // dch rkl 01/23/2017 if miscellaneous, allow entry of U/M
                _pickerUnitOfMeasure.IsEditable = false;
            }

            // dch rkl 01/18/2017 If not chargeable, set Unit Price and Ext Price to zero.
            if (_vm.PartToEdit.IsChargeable)
            {
                //_entryUnitPrice.Text = _vm.PartToEdit.UnitPrice.ToString("C2");
                _entryUnitPrice.Text = string.Format(priceFormatString, _vm.PartToEdit.UnitPrice);
                if (_pageMode == PageMode.Edit)
                {
                    _labelExtensionPrice.Content = string.Format(priceFormatString, (_vm.PartToEdit.UnitPrice * _vm.PartToEdit.Quantity));
                    //(_vm.PartToEdit.UnitPrice * _vm.PartToEdit.Quantity).ToString("C2"); }
                }
                else
                {
                    _labelExtensionPrice.Content = string.Format(priceFormatString, (_vm.PartToEdit.UnitPrice * 1));
                    //(_vm.PartToEdit.UnitPrice * 1).ToString("C2");
                }
            }
            else
            {
                _labelExtensionPrice.Content = string.Format(priceFormatString, 0);
                _entryUnitPrice.Text         = string.Format(priceFormatString, 0);
            }

            _entryComments.SetBinding(ContentProperty, "Comment");
            _entryComments.Style = (Style)this.Resources["styleComments"];
            _entryComments.Text  = _vm.PartToEdit.Comment;

            if (_pageMode == PageMode.Edit)
            {
                _switchIsChargeable.SetBinding(CheckBox.IsCheckedProperty, "IsChargeable");
                _switchIsPrintable.SetBinding(CheckBox.IsCheckedProperty, "IsPrintable");
                _switchIsPurchased.SetBinding(CheckBox.IsCheckedProperty, "IsPurchased");
                _switchIsOverhead.SetBinding(CheckBox.IsCheckedProperty, "IsOverhead");
            }

            // dch rkl 11/21/2016 if part is purchased, do not allow editing of quantity
            if (_vm.PartToEdit.IsPurchased)
            {
                _entryQuantity.IsEnabled = false;
            }
            else
            {
                _entryQuantity.IsEnabled = true;
            }

            // dch rkl 11/22/2016 if chargeable is checked, allow unit price to be updated.
            // If chargeable is not checked, unit price cannot be updated.
            if (_vm.PartToEdit.IsChargeable)
            {
                _entryUnitPrice.IsEnabled = true;
            }
            else
            {
                _entryUnitPrice.IsEnabled = false;
                _entryUnitPrice.Text      = string.Format(priceFormatString, 0);
            }

            // dch rkl 11/23/2016 if misc part, hide warehouse dropdown
            bool bShowWhse = true;

            if (_vm.PartToEdit.PartItemCode.Trim().Substring(0, 1) == "*" || _vm.PartToEdit.ItemType == "4" || _vm.PartToEdit.ItemType == "5")
            {
                bShowWhse = false;
            }
            if (bShowWhse)
            {
                _pickerWarehouse.Visibility = Visibility.Visible;
                labelWarehouse.Visibility   = Visibility.Visible;
            }
            else
            {
                _pickerWarehouse.Visibility = Visibility.Hidden;
                labelWarehouse.Visibility   = Visibility.Hidden;
            }

            // dch rkl 01/13/2017 if extended description exists, display button to view/edit it BEGIN
            if (_vm.ExtendedDescriptionKey > 0 && _vm.ExtendedDescriptionText.Trim().Length > 0)
            {
                _buttonExtdDesc.Visibility = Visibility.Visible;
            }
            else
            {
                _buttonExtdDesc.Visibility = Visibility.Hidden;
            }
            // dch rkl 01/13/2017 if extended description exists, display button to view/edit it END

            switch (_pageMode)
            {
            case PageMode.Add:
                buttonAddPartText.Text = "ADD";
                break;

            case PageMode.Edit:
                buttonAddPartText.Text = "UPDATE";
                break;
            }

            if (_pageMode == PageMode.Add)
            {
                _buttonDeletePart.Visibility = Visibility.Hidden;
            }
            else
            {
                _buttonDeletePart.Visibility = Visibility.Visible;
            }

            // dch rkl 01/23/2017 If SO_SalesOrderDetail.JT158_WTBillFlag is set to "R" or "B", do not allow edit of the part
            int iSOLineKey;

            int.TryParse(_vm.PartToEdit.SoLineKey, out iSOLineKey);
            if (_vm.PartToEdit.SoLineKey != null)
            {
                if (iSOLineKey > 0)
                {
                    List <SO_SalesOrderDetail> lsSODtl = App.Database.GetSalesOrderDetails(_vm.WorkTicket.SalesOrderNo);
                    SO_SalesOrderDetail        soDtl   = lsSODtl.FirstOrDefault(s => s.LineKey == _vm.PartToEdit.SoLineKey);
                    if (soDtl != null && soDtl.JT158_WTBillFlag != null && (soDtl.JT158_WTBillFlag == "R" || soDtl.JT158_WTBillFlag == "B"))
                    {
                        _buttonAddPart.Visibility    = Visibility.Hidden;
                        _buttonDeletePart.Visibility = Visibility.Hidden;
                    }
                }
            }

            // dch rkl 02/03/2017 Do not allow existing parts to be deleted
            if (iSOLineKey > 0)
            {
                _buttonDeletePart.Visibility = Visibility.Hidden;
            }
        }