private void Load() { using (var c = NestedContainer) { if (LineItems.Any()) LineItems.Clear(); switch (DocumentType) { case DocumentType.CommodityReceptionNote: var receptionNote = Using<ICommodityReceptionRepository>(c).GetById(DocumentId) as CommodityReceptionNote; foreach (var lineitem in receptionNote.LineItems) { var lineItem = new CommodyLineItemViewModel { Id = lineitem.Id, GrossWeight = lineitem.Weight + lineitem.ContainerType.TareWeight, NetWeight = lineitem.Weight, ContainerType = lineitem.ContainerType, Commodity = lineitem.Commodity, CommodityGrade = lineitem.CommodityGrade, ContainerNo = lineitem.ContainerNo, Description = lineitem.Description, }; LineItems.Add(lineItem); } DocumentReference = receptionNote.DocumentReference; break; case DocumentType.CommodityPurchaseNote: var purchaseNote = Using<ICommodityPurchaseRepository>(c).GetById(DocumentId) as CommodityPurchaseNote; foreach (var lineitem in purchaseNote.LineItems) { var lineItem = new CommodyLineItemViewModel { Id = lineitem.Id, GrossWeight = lineitem.Weight + lineitem.ContainerType.TareWeight, NetWeight = lineitem.Weight, ContainerType = lineitem.ContainerType, Commodity = lineitem.Commodity, CommodityGrade = lineitem.CommodityGrade, ContainerNo = lineitem.ContainerNo, Description = lineitem.Description, }; LineItems.Add(lineItem); } DocumentReference = purchaseNote.DocumentReference; break; case DocumentType.CommodityStorageNote: var storageNote = Using<ICommodityStorageRepository>(c).GetById(DocumentId) as CommodityStorageNote; foreach (var lineitem in storageNote.LineItems) { var lineItem = new CommodyLineItemViewModel { Id = lineitem.Id, GrossWeight = lineitem.Weight , NetWeight = lineitem.Weight, //ContainerType = lineitem.ContainerType, Commodity = lineitem.Commodity, CommodityGrade = lineitem.CommodityGrade, ContainerNo = lineitem.ContainerNo, Description = lineitem.Description, }; LineItems.Add(lineItem); } DocumentReference = storageNote.DocumentReference; break; case DocumentType.CommodityDelivery: var deliveryNote = Using<ICommodityDeliveryRepository>(c).GetById(DocumentId) as CommodityDeliveryNote; foreach (var lineitem in deliveryNote.LineItems) { var lineItem = new CommodyLineItemViewModel { Id = lineitem.Id, GrossWeight = lineitem.Weight + lineitem.ContainerType.TareWeight, NetWeight = lineitem.Weight, ContainerType = lineitem.ContainerType, Commodity = lineitem.Commodity, CommodityGrade = lineitem.CommodityGrade, ContainerNo = lineitem.ContainerNo, Description = lineitem.Description, }; LineItems.Add(lineItem); } DocumentReference = deliveryNote.DocumentReference; break; case DocumentType.ReceivedDelivery: var receivedDelivery = Using<IReceivedDeliveryRepository>(c).GetById(DocumentId) as ReceivedDeliveryNote; foreach (var lineitem in receivedDelivery.LineItems) { var item = new CommodyLineItemViewModel { Id = lineitem.Id, GrossWeight = lineitem.Weight, NetWeight = lineitem.Weight, CommodityGrade = lineitem.CommodityGrade, ContainerNo = lineitem.ContainerNo, Description = lineitem.Description, Commodity =lineitem.Commodity, ContainerType = lineitem.ContainerType }; LineItems.Add(item); } DocumentReference = receivedDelivery.DocumentReference; ShowTareWeight=Visibility.Collapsed; break; } } }
private CommodyLineItemViewModel Map(ReceivedDeliveryLineItem lineItem,Guid documentid) { var item = new CommodyLineItemViewModel { Id = lineItem.Id, Commodity = lineItem.Commodity??lineItem.CommodityGrade.Commodity, Description = lineItem.Description, ContainerNo = lineItem.ContainerNo, CommodityGrade = lineItem.CommodityGrade, ParentLineItemId = lineItem.ParentDocId, NetWeight =lineItem.Weight, DocumentId = documentid, ContainerType = lineItem.ContainerType, // NoOfContainers = lineItem. }; return item; }
public void LoadReceipt(CommodityPurchaseNote purchaseNote) { if (purchaseNote !=null) { ReceiptLineItemsList.Clear(); Reset(); using (IContainer cont = NestedContainer) { var _costCentreRepo = Using<ICostCentreRepository>(cont); var costCentre = _costCentreRepo.GetById(purchaseNote.DocumentIssuerCostCentre.ParentCostCentre.Id); CompanyName = costCentre.Name; } if (purchaseNote.DocumentIssuerCostCentre != null) { HubName = purchaseNote.DocumentIssuerCostCentre.Name; } if (purchaseNote.CommodityOwner != null) { FarmerName = purchaseNote.CommodityOwner.FullName; FamerNo = purchaseNote.CommodityOwner.Code; TelNo = purchaseNote.CommodityOwner.PhoneNumber; FaxNo = purchaseNote.CommodityOwner.FaxNumber; FarmerEmail = purchaseNote.CommodityOwner.Email; } TotalWeight = purchaseNote.LineItems.Sum(n => n.Weight); DeliveredBy = purchaseNote.DeliveredBy; ServedByUserName = purchaseNote.DocumentIssuerUser.Username; ReceiptNo = purchaseNote.DocumentReference; try { using (var c = NestedContainer) { var contact = Using<IContactRepository>(c).GetByContactsOwnerId(purchaseNote.DocumentIssuerCostCentre.Id); if(contact !=null) { if(contact.Any()) CompanyEmail = contact.FirstOrDefault().Email; } } }catch { } foreach (var item in purchaseNote.LineItems) { var commodityItem = new CommodyLineItemViewModel() { Id = item.Id, Commodity = item.Commodity, CommodityGrade = item.CommodityGrade, ContainerNo = item.ContainerNo, ContainerType = item.ContainerType, Description = item.Description, GrossWeight = (item.Weight+item.TareWeight+item.ContainerType.BubbleSpace), NetWeight = item.Weight, BubbleSpace =item.ContainerType.BubbleSpace, TareWeight =item.TareWeight }; ReceiptLineItemsList.Add(commodityItem); } } }
private void RemoveLineItem(CommodyLineItemViewModel item) { if (LineItems.Any(p => p.Id == item.Id)) try { if ( MessageBox.Show("Are you sure you want to remove " + item.Description, "Agrimanagr: Commodity Purchase", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes) { LineItems.Remove(item); if (ContainerSummaryList.Any(p => p.Id == item.Id)) ContainerSummaryList.Remove(item); } } catch(Exception e) { } }
private void AddToCotainer(CommodyLineItemViewModel item) { if (!IsValid()) return; ContainerSummaryList.Add(item); }
private void AddLineItem() { try { if (!IsValid()) return; var container = _isUsingWeighingContainerForStorage ? SelectedWeighingContainer : SelectedStorageContainer; if ((container == null && !_isUsingWeighingContainerForStorage) || (container !=null && container.Id == Guid.Empty)) { MessageBox.Show("Storage Container is required", "Agrimanagr Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (NetWeight <= 0) { MessageBox.Show("A commodity with zero weight cannot be added!", "Agrimanagr Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (_enforceNoOfContainers && NoOfContainers<1) { MessageBox.Show("No of containers is required", "Agrimanagr Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (SelectedWeighingContainer.Id == Guid.Empty) { MessageBox.Show("Select weighing container", "Agrimanagr Info", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } var lineItem = new CommodyLineItemViewModel { Id = Guid.NewGuid(), GrossWeight = GrossWeight, NetWeight = NetWeight, ContainerType = container, Commodity = SelectedCommodity, CommodityGrade = SelectedGrade, ContainerNo = ContainerNo, Description = SelectedCommodity.Name, Note = "", NoOfContainers = NoOfContainers, TareWeight = TareWeight }; LineItems.Add(lineItem); AddToCotainer(lineItem); CalcTotalWeight(); ResetAfterAddLineItem(); } catch (Exception ex) { MessageBox.Show("An error occured while adding line item. " + ex.Message, "Agrimanagr: Error", MessageBoxButton.OK, MessageBoxImage.Error); } }