Ejemplo n.º 1
15
 private void UpdateSaleViewModel(Jq cq)
 {
     PaymentForms.Clear();
     PaymentForms.AddRange(cq.All("gadakhdisFormebi",
         cqq => new AmountItemViewModel()
     {
         Link = cqq.GetLink("gadakhdisForma"),
         Name = cqq.GetText("dasakheleba"),
         Value = cqq.GetText("tankha"),
         ViewState = "Plus"
     }));
     PaymentForms.Last().ViewState = "Equals";
     PaymentForms.Add(new AmountItemViewModel()
         {
             Name = "სულ გადახდილი",
             Value = cq.GetText("sulMigebuliTankha"),
             ViewState = "Minus"
         });
     PaymentForms.Add(new AmountItemViewModel()
         {
             Name = "სულ გადასახდელი",
             Value = cq.GetText("misagebiTankha"),
             Value2 = cq.GetText("fasdaklebuliMisagebiTankha"),
             ViewState = "Equals"
         });
     PaymentForms.Add(new AmountItemViewModel()
     {
         Name = "ხურდა",
         Value = cq.GetText("gasacemiTankha"),
         ViewState = "Normal"
     });
     AddItem = cq.GetForm("produktisDamateba");
     Submit = cq.GetLink("cheki");
     Submit.OnExecuted += () => IsToolVisible = false;
     Func<Jq, ItemViewModel> createItem = (q) =>
         new ItemViewModel()
         {
             Id = q.GetText("id"),
             Version = q.GetText("versia"),
             Name = q.GetText("dasakheleba"),
             Ean = q.GetText("ean"),
             Reference = q.GetText("ref"),
             Quantity = q.GetText("raodenoba"),
             UnitPrice = q.GetText("fasdaklebuliFasi"),
             TotalPrice = q.GetText("jami"),
             DiscountedTotalPrice = q.GetText("fasdaklebuliJami"),
             Photo = q.GetText("img"),
             Increase = q.GetForm("momateba"),
             Decrease = q.GetForm("mokleba")
         };
     var itemViewModels = cq.All("produktebi", createItem).ToList();
     var newItems = (from first in itemViewModels
                     from second in Items.Where(x => x.Id == first.Id).DefaultIfEmpty()
                     where second == null
                     select first).ToList();
     var changedItems = (from first in itemViewModels
                         from second in Items.Where(x => x.Id == first.Id)
                         where second.Version != first.Version
                         select new { First = first, Second = second }).ToList();
     var deletedItems = (from first in Items
                         from second in itemViewModels.Where(x => x.Id == first.Id).DefaultIfEmpty()
                         where second == null
                         select first).ToList();
     deletedItems.ForEach(x => Items.Remove(Items.First(e => e.Id == x.Id)));
     changedItems.ForEach(x => x.Second.Update(x.First));
     newItems.ForEach(x => Items.Insert(0, x));
     ViewState = "Normal";
 }
Ejemplo n.º 2
0
        private void UpdateSaleViewModel(Jq cq)
        {
            PaymentForms.Clear();
            PaymentForms.AddRange(cq.All("gadakhdisFormebi",
                                         cqq => new AmountItemViewModel()
            {
                Link      = cqq.GetLink("gadakhdisForma"),
                Name      = cqq.GetText("dasakheleba"),
                Value     = cqq.GetText("tankha"),
                ViewState = "Plus"
            }));
            PaymentForms.Last().ViewState = "Equals";
            PaymentForms.Add(new AmountItemViewModel()
            {
                Name      = "სულ გადახდილი",
                Value     = cq.GetText("sulMigebuliTankha"),
                ViewState = "Minus"
            });
            PaymentForms.Add(new AmountItemViewModel()
            {
                Name      = "სულ გადასახდელი",
                Value     = cq.GetText("misagebiTankha"),
                Value2    = cq.GetText("fasdaklebuliMisagebiTankha"),
                ViewState = "Equals"
            });
            PaymentForms.Add(new AmountItemViewModel()
            {
                Name      = "ხურდა",
                Value     = cq.GetText("gasacemiTankha"),
                ViewState = "Normal"
            });
            AddItem            = cq.GetForm("produktisDamateba");
            Submit             = cq.GetLink("cheki");
            Submit.OnExecuted += () => IsToolVisible = false;
            Func <Jq, ItemViewModel> createItem = (q) =>
                                                  new ItemViewModel()
            {
                Id                   = q.GetText("id"),
                Version              = q.GetText("versia"),
                Name                 = q.GetText("dasakheleba"),
                Ean                  = q.GetText("ean"),
                Reference            = q.GetText("ref"),
                Quantity             = q.GetText("raodenoba"),
                UnitPrice            = q.GetText("fasdaklebuliFasi"),
                TotalPrice           = q.GetText("jami"),
                DiscountedTotalPrice = q.GetText("fasdaklebuliJami"),
                Photo                = q.GetText("img"),
                Increase             = q.GetForm("momateba"),
                Decrease             = q.GetForm("mokleba")
            };
            var itemViewModels = cq.All("produktebi", createItem).ToList();
            var newItems       = (from first in itemViewModels
                                  from second in Items.Where(x => x.Id == first.Id).DefaultIfEmpty()
                                  where second == null
                                  select first).ToList();
            var changedItems = (from first in itemViewModels
                                from second in Items.Where(x => x.Id == first.Id)
                                where second.Version != first.Version
                                select new { First = first, Second = second }).ToList();
            var deletedItems = (from first in Items
                                from second in itemViewModels.Where(x => x.Id == first.Id).DefaultIfEmpty()
                                where second == null
                                select first).ToList();

            deletedItems.ForEach(x => Items.Remove(Items.First(e => e.Id == x.Id)));
            changedItems.ForEach(x => x.Second.Update(x.First));
            newItems.ForEach(x => Items.Insert(0, x));
            ViewState = "Normal";
        }