internal async Task RemoveOsMatch(OverShortDetailsEX osd) { osd.OverShortDetailAllocations.Clear(); osd.Status = ""; using (var ctx = new OverShortDetailRepository()) { await ctx.UpdateOverShortDetail(osd).ConfigureAwait(false); } OverShortDetails.Refresh(); }
internal void ViewSuggestions(OverShortDetailsEX osd) { QuerySpace.CoreEntities.ViewModels.AsycudaDocumentItemsModel.Instance.vloader.FilterExpression = string.Format("ItemNumber == \"{0}\" && DocumentType == \"IM7\"", osd.ItemNumber); QuerySpace.CoreEntities.ViewModels.AsycudaDocumentItemsModel.Instance.AsycudaDocumentItems.OrderBy( x => x.Data.AsycudaDocument.RegistrationDate - osd.OversShortEX.InvoiceDate); // OnStaticPropertyChanged("OSSuggestedAsycudaItemEntry"); }
public async Task SaveOverShortDetailsEX(OverShortDetailsEX i) { if (i == null) { return; } using (var ctx = new OverShortDetailsEXService()) { await ctx.UpdateOverShortDetailsEX(i).ConfigureAwait(false); } }
internal async Task RemoveOverShortDetail(OverShortDetailsEX overShortDetailsEX) { MessageBoxResult res = MessageBox.Show("Are you sure you want to delete this OverShort Detail?", "Delete selected Items", MessageBoxButton.YesNo); if (res == MessageBoxResult.Yes) { await OverShortDetailsEXRepository.Instance.RemoveOverShortDetail(overShortDetailsEX.OverShortDetailId).ConfigureAwait(false); MessageBus.Default.BeginNotify(MessageToken.OverShortDetailsChanged, this, new NotificationEventArgs(MessageToken.OverShortDetailsChanged)); BaseViewModel.Instance.CurrentOverShortDetail = null; } }
internal async Task MatchToCurrentItem(OverShortDetailsEX overShortDetailsEX) { if (CoreEntities.ViewModels.BaseViewModel.Instance.CurrentAsycudaDocumentItem == null) { MessageBox.Show("Please Select Asycuda Item"); return; } await OverShortDetailsEXRepository.Instance.MatchToCurrentItem( CoreEntities.ViewModels.BaseViewModel.Instance.CurrentAsycudaDocumentItem.Item_Id, overShortDetailsEX) .ConfigureAwait(false); MessageBus.Default.BeginNotify(MessageToken.CurrentOverShortDetailsEXChanged, this, new NotificationEventArgs <OverShortDetailsEX>( QuerySpace.OversShortQS.MessageToken.CurrentOverShortDetailsEXChanged, overShortDetailsEX)); }
public async Task <IEnumerable <AsycudaDocumentItem> > GetSuggestedItems(OverShortDetailsEX osd) { using (var ctx = new AsycudaDocumentItemService()) { var lst = await ctx.GetAsycudaDocumentItemsByExpression(string.Format("ItemNumber == \"{0}\" &&" + "DocumentType == \"IM7\"", osd.ItemNumber), new List <string>() { "AsycudaDocument" }) .ConfigureAwait(false); return (lst.OrderBy(x => x.AsycudaDocument.RegistrationDate - osd.OversShortEX.InvoiceDate)); } }
internal async Task DoMatch(List <AsycudaDocumentItem> alst, OverShortDetailsEX osd) { var remainingShortQty = osd.ShortQuantity; if (!alst.Any()) { osd.Status = "No Asycuda Entry Found"; await UpdateOverShortDetail(osd).ConfigureAwait(false); return; } foreach (var ai in alst) { var asycudaQty = Convert.ToDouble(ai.ItemQuantity - ai.PiQuantity); var osa = new OverShortDetailAllocation() { Item_Id = ai.Item_Id, OverShortDetailId = osd.OverShortDetailId, TrackingState = TrackingState.Added }; osd.OverShortDetailAllocations.Add(osa); if (asycudaQty < remainingShortQty) { osa.Status = "Not Enough Qty"; osa.QtyAllocated = asycudaQty; remainingShortQty -= asycudaQty; } else { osa.QtyAllocated = remainingShortQty; remainingShortQty = 0; await CreateOverShortDetailAllocation(osa).ConfigureAwait(false); break; } await CreateOverShortDetailAllocation(osa).ConfigureAwait(false); } if (remainingShortQty != 0) { osd.Status = String.Format("Insufficent Qty - Remaining Qty:{0}", remainingShortQty); await UpdateOverShortDetail(osd).ConfigureAwait(false); } }
public async Task <OverShortDetailsEX> CreateOverShortDetailsEX(OverShortDetailsEX entity) { return(await Channel.CreateOverShortDetailsEX(entity).ConfigureAwait(false)); }
internal async Task MatchToCurrentItem(AsycudaDocumentItem currentDocumentItem, OverShortDetailsEX osd) { var ci = await GetCurrentOSAsycudaDocumentItem(currentDocumentItem).ConfigureAwait(false); osd.Status = ""; await DoMatch(new List <AsycudaDocumentItem>() { { ci } }, osd).ConfigureAwait(false); }
public async Task MatchToCurrentItem(int currentDocumentItem, OverShortDetailsEX osd) { await Channel.MatchToCurrentItem(currentDocumentItem, osd).ConfigureAwait(false); }