public WarehouseAddViewModel(Document document = null, EnumTypeOfDocument enumDocumentType = EnumTypeOfDocument.PZ) { companyEntities = new CompanyEntities(); Document = document; DocumentType = enumDocumentType; _warehouse = companyEntities.Warehouse.FirstOrDefault(w => w.id == Properties.Settings.Default.Warehouse); if (document != null) { actuallyParcelList = companyEntities.ParcelMoving .Include(p => p.Parcel) .Where(p => DocumentType == EnumTypeOfDocument.PZ ? p.idDocPZ == document.id : p.idDocWZ == document.id) .Select(p => p.Parcel) .ToList(); } }
private void Page_LayoutUpdated(object sender, EventArgs e) { var addViewModel = (WarehouseAddViewModel)DataContext; if (addViewModel == null) { return; } if (addViewModel.VisibilityOption == Visibility.Hidden) { reload = 0; return; } if (reload > 0) { return; } if (addViewModel.actuallyParcelList != null) { Parcel = new List <Parcel>(); foreach (var act in addViewModel.actuallyParcelList) { Parcel.Add(act); } } WarehouseGrid.DataContext = null; WarehouseGrid.DataContext = Parcel; documentType = addViewModel.DocumentType; BtnPutOut.Content = $"Wystaw {documentType}"; BtnDelete.Content = $"Usuń {documentType}"; addViewModel.UpdateParcelList(Parcel, documentType); var doc = addViewModel.Document; if (doc != null && doc.exposure) { freezePage(false); } else { freezePage(true); } reload++; }
private void DataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGridRow row = (DataGridRow)sender; EnumTypeOfDocument type = EnumTypeOfDocument.PZ; if (((Document)row.Item).TypeOfDocument.type.Equals("PZ")) { type = EnumTypeOfDocument.PZ; } else if (((Document)row.Item).TypeOfDocument.type.Equals("WZ")) { type = EnumTypeOfDocument.WZ; } ((WarehouseViewModel)DataContext).AddViewModel = new WarehouseAddViewModel((Document)row.Item, type) { VisibilityOption = Visibility.Visible }; frame.Visibility = Visibility; }
public void UpdateParcelList(List <Parcel> parcels, EnumTypeOfDocument enumDocumentType) { try { var parcelsId = parcels.Select(p => p.id).ToList(); Parcels = null; if (enumDocumentType == EnumTypeOfDocument.PZ) { Parcels = new BindableCollection <Parcel>(companyEntities.Parcel .Include(p => p.Region) .Include(p => p.Region1) .Include(p => p.ParcelMoving) .Include(p => p.Status) .Include(p => p.Status.HistoryOfParcel) .Where(p => ((p.ParcelMoving.Count == 0 && companyEntities.HistoryOfParcel.FirstOrDefault(h => h.idParcel == p.id).idWarehouse == _warehouse.id && p.idStatus <= (int)EnumParcelStatus.received) || (p.ParcelMoving.Count > 0 && p.idStatus == (int)EnumParcelStatus.beetwen && _warehouse.id == p.Region.idWarehouse)) && !parcelsId.Contains(p.id)) .ToList()); } else if (enumDocumentType == EnumTypeOfDocument.WZ) { var _parcels = new List <Parcel>(); foreach (var pm in companyEntities.ParcelMoving.Include(p => p.Document)) { if (pm.Document == null || !pm.Document.exposure || pm.Document.idWarehouse != _warehouse.id || pm.readingWZ || parcelsId.Contains(pm.idParcel)) { continue; } _parcels.Add(companyEntities.Parcel.FirstOrDefault(p => p.id == pm.idParcel)); } Parcels = new BindableCollection <Parcel>(_parcels); } Parcels.Insert(0, new Parcel() { code = "Wybierz przesyłkę" }); ParcelSelected = Parcels.FirstOrDefault(p => p.id != 0); } catch (Exception ex) { } }