public bool CanSave(object param) { if (SelectedSupplierID == 0 || OrderDate == null || PODetailsEntity.Count() == 0) { return(false); } else { if (IsNew == false) { if (PO_Conv_to_PI == true) { return(false); } else if (Status == Convert.ToByte(PO_Status.Cancelled)) { return(false); } else if (Status == Convert.ToByte(PO_Status.Collected)) { return(false); } else if (Status == Convert.ToByte(PO_Status.Refunded)) { return(false); } else { return(true); } } else { return(true); } } }
public int ManageDuplicatePandS() { int rowFocusindex = -1; lst = new ObservableCollection <DataGridViewModel>(); lst = PODetailsEntity; var query = lst.GroupBy(x => x.SelectedPSID) .Where(g => g.Count() > 1) .ToList(); if (query.Count > 0 && PODetailsEntity.Count > 1) { var obj1 = query[0].ElementAt(0); var obj2 = query[0].ElementAt(1); int? qty = 1; decimal?productPrice2 = 0; decimal?discountP2 = 0; qty = query[0].ElementAt(0).PQQty + query[0].ElementAt(1).PQQty; productPrice2 = Convert.ToDecimal(query[0].ElementAt(1).PQPrice); discountP2 = query[0].ElementAt(1).PQDiscount; var index1 = lst.IndexOf(query[0].ElementAt(0)); var index2 = lst.IndexOf(query[0].ElementAt(1)); if (productPrice2 != null) { obj1.PQQty = qty; obj1.PQPrice = Convert.ToString(productPrice2); obj1.PQDiscount = discountP2; PODetailsEntity[index1] = obj1; var row = new DataGridViewModel(ProductList); //row.PQQty = 1; //row.GSTRate = TaxRate; //row.GSTRateStr = Convert.ToString(TaxRate) + "%"; PODetailsEntity[index2] = row; rowFocusindex = index2; } //for (int i = 0; i < 2; i++) //{ // var p = PODetailsEntity.Where(e => e.SelectedPSID == obj2.SelectedPSID ).FirstOrDefault(); // if (p.POPrice == null) // { // PODetailsEntity.Remove(p); // } //} OnPropertyChanged("PODetailsEntity"); } else { int count = PODetailsEntity.Count(x => x.SelectedPSID == null); if (count == 0) { var row = new DataGridViewModel(ProductList); //row.PQQty = 1; //row.GSTRate = TaxRate; //row.GSTRateStr = Convert.ToString(TaxRate) + "%"; PODetailsEntity.Add(row); OnPropertyChanged("PODetailsEntity"); rowFocusindex = -1; } else { var emptyRow = lst.Where(y => y.SelectedPSID == null).FirstOrDefault(); rowFocusindex = PODetailsEntity.IndexOf(emptyRow); } } return(rowFocusindex); }