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");
        }
Exemplo n.º 3
0
 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));
        }
Exemplo n.º 6
0
        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));
            }
        }
Exemplo n.º 7
0
        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));
 }
Exemplo n.º 9
0
        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);
 }