async Task ExecuteLoadItemsCommand() { try { if (!fromdetail) { Items.Clear(); var orders = await PenjualanService.GetOrders(); if (orders != null) { _SourceItems = new ObservableCollection <PenjualanAndOrderModel>(orders); } foreach (var item in _SourceItems.Where(x => x.OrderStatus == OrderStatus.Baru).OrderByDescending(x => x.OrderId)) { Items.Add(item); } } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; fromdetail = false; } }
private async Task LoadAsync() { try { if (IsBusy) { return; } IsBusy = true; var now = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); var profile = await Account.GetProfile(); SalesName = profile.Name; var penjualanSource = await PenjualanService.GetPenjualans(); foreach (var item in penjualanSource) { var data = (PenjualanAndOrderModel)item; if (data != null) { _penjualanSource.Add(data); if (data.PaymentStatus != ShareModels.PaymentStatus.Lunas && data.Created.AddDays(data.DeadLine) < now) { JatuhTempo.Add(data); } } } PeriodePenjualan.Add(new HomeSalesModel { Name = "Capaian Bulan Ini", Total = _penjualanSource.Where(x => x.Created >= now && x.Created <= now.AddMonths(1).AddDays(-1)).Sum(x => x.Total) }); var bulanlalu = now.AddMonths(-1); PeriodePenjualan.Add(new HomeSalesModel { Name = "Capaian Bulan Lalu", Total = _penjualanSource.Where(x => x.Created >= bulanlalu && x.Created <= bulanlalu.AddMonths(1).AddDays(-1)).Sum(x => x.Total) }); var orders = await PenjualanService.GetOrders(); foreach (var item in orders.Where(x => x.OrderStatus == ShareModels.OrderStatus.Baru)) { Orders.Add(item); } if (Orders.Count <= 0) { Orders.Add(new PenjualanAndOrderModel()); } var dataorders = penjualanSource.Where(x => x.Created >= DateTime.Now.AddMonths(-1)).GroupBy(x => x.Customer).Select(x => new { Name = x.Key }); var customers = await Customers.Get(); var selectedCustomers = customers.Where(x => !dataorders.Any(d => d.Name.ToLower().Equals(x.Name.ToLower()))); foreach (var item in selectedCustomers) { LastCustomers.Add(item); } IsBusy = false; } catch (Exception ex) { IsBusy = false; Console.WriteLine(ex.Message); } }