public static bool LoadInvoices() { try { InvoicesList.Clear(); using (var sr = new StreamReader(FilePath)) { var deSerializer = new XmlSerializer(typeof(ObservableCollection <Invoice>)); var tmpCollection = (ObservableCollection <Invoice>)deSerializer.Deserialize(sr); foreach (var item in tmpCollection) { InvoicesList.Add(item); } return(true); } } catch (Exception ex) { if (ex is FileNotFoundException) { var sw = new StreamWriter(FilePath); } MessageBox.Show(ex.Message); return(false); } }
public static void ExecuteInvoice(string number) { var index = 0; foreach (var invoice in InvoicesList) { if (invoice.Number == number) { index = InvoicesList.IndexOf(invoice); } } if (index != -1) { var currInvoice = InvoicesList[index]; foreach (var product in currInvoice.ProductsList) { foreach (var product1 in Products.ProductsList) { if (product1.Code == product.Code) { var currProduct = product1; currProduct.Quantity = currProduct.Quantity - product.Quantity; } } } } Products.SaveProducts(); }
private void ListView_ItemClick(object sender, ItemClickEventArgs e) { if (InvoicesList.ContainerFromItem(e.ClickedItem) is ListViewItem container) { // Stash the clicked item f or use later. We'll need it when we connect back _storedItem = container.Content as Invoice; var animation = InvoicesList.PrepareConnectedAnimation("InvoiceToDetails", _storedItem, "connectedElement"); } Frame.Navigate(typeof(InvoiceDetailPage), _storedItem); }
private async void InvoicesList_Loaded(object sender, RoutedEventArgs e) { if (_storedItem != null) { // If the connected item apperars outside viewport, scroll into view InvoicesList.ScrollIntoView(_storedItem, ScrollIntoViewAlignment.Default); InvoicesList.UpdateLayout(); ConnectedAnimation animation = ConnectedAnimationService.GetForCurrentView().GetAnimation("DetailToInvoice"); if (animation != null) { await InvoicesList.TryStartConnectedAnimationAsync(animation, _storedItem, "DetailToInvoice"); } } }
internal static InvoicesList getInvoiceList(HttpResponseMessage responce) { var invoiceList = new InvoicesList(); var jsonObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(responce.Content.ReadAsStringAsync().Result); if (jsonObj.ContainsKey("invoices")) { var invoicesArray = JsonConvert.DeserializeObject<List<object>>(jsonObj["invoices"].ToString()); foreach(var invoiceObj in invoicesArray) { var invoice = new Invoice(); invoice = JsonConvert.DeserializeObject<Invoice>(invoiceObj.ToString()); invoiceList.Add(invoice); } } if (jsonObj.ContainsKey("page_context")) { var pageContext = new PageContext(); pageContext = JsonConvert.DeserializeObject<PageContext>(jsonObj["page_context"].ToString()); invoiceList.page_context = pageContext; } return invoiceList; }
internal static InvoicesList getInvoiceList(HttpResponseMessage responce) { var invoiceList = new InvoicesList(); var jsonObj = JsonConvert.DeserializeObject<Dictionary<string, object>>(responce.Content.ReadAsStringAsync().Result); if (jsonObj.ContainsKey("invoices")) { var invoicesArray = JsonConvert.DeserializeObject<List<object>>(jsonObj["invoices"].ToString()); foreach (var invoiceObj in invoicesArray) { var invoice = new Invoice(); invoice = JsonConvert.DeserializeObject<Invoice>(invoiceObj.ToString()); invoiceList.Add(invoice); } } if (jsonObj.ContainsKey("page_context")) { var pageContext = new PageContext(); pageContext = JsonConvert.DeserializeObject<PageContext>(jsonObj["page_context"].ToString()); invoiceList.page_context = pageContext; } return invoiceList; }
public static void DeleteIncoice(int index) { InvoicesList.RemoveAt(index); NumberOfInvoices = InvoicesList.Count; SaveInvoices(); }
public static void AddInvoice(Invoice newInvoice) { InvoicesList.Add(newInvoice); NumberOfInvoices = InvoicesList.Count; SaveInvoices(); }
public void Execute(IJobExecutionContext context) { List <int> OneTicketMessed = new List <int>(); RandomMessed(OneTicketMessed); try { using (DataContext _db = new DataContext()) { var Invoce_Code = _db.InvoiceLoggings.Select(s => s.invoce_code).ToList(); if (Invoce_Code != null) // განმეორებადი კოდის გამორიცხვა { OneTicketMessed = OneTicketMessed.Except(Invoce_Code).ToList(); } string _Image = ImageConvert(); DateTime dateFrom = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1, 0, 0, 0); //ViewBag.FilePath = _db.Params.Where(p => p.Name == "FTPHost").Select(p => p.Value).First() + "invoce/"; var _CustumerI = _db.Customers.Include("Cards").Include("CustomerSellAttachments").Where(c => c.Type == CustomerType.Juridical).ToList(); InvoicesList _invoce = new InvoicesList(); List <DisruptInvoice> Disrupt = new List <DisruptInvoice>(); //Task<CardInfo> _info; foreach (var item in _CustumerI) { decimal balanceSum = 0; bool send_invoce = false; foreach (var card_item in item.Cards) { _card = _db.Cards.Where(c => c.Id == card_item.Id).Include("Customer").Include("Subscribtions.SubscriptionPackages.Package").Select(c => new CardDetailData { PaymentAmount = c.Payments.Sum(p => (decimal?)p.Amount) ?? 0, ChargeAmount = c.CardCharges.Select(s => (decimal?)s.Amount).Sum() ?? 0, Card = c, CustomerType = c.Customer.Type, IsBudget = c.Customer.IsBudget, SubscribAmount = c.Subscribtions.Where(s => s.Status).FirstOrDefault().Amount, MinPrice = c.Subscribtions.FirstOrDefault(s => s.Status).SubscriptionPackages.Sum(p => p.Package.MinPrice), CasIds = c.Subscribtions.FirstOrDefault(s => s.Status).SubscriptionPackages.Select(sp => (short)sp.Package.CasId) }).FirstOrDefault(); decimal balance = Utils.Utils.GetBalance(_card.PaymentAmount, _card.ChargeAmount); if (/*_info.Balances.Select(s => s.CurrentBalance).LastOrDefault()*/ balance < 0) { DisruptInvoice _disrup_invoice = new DisruptInvoice(); _disrup_invoice.Debts = balance; _disrup_invoice.abonent_number = card_item.AbonentNum; _disrup_invoice.Invoices_Code = _card.Card.Customer.Code; _disrup_invoice.CompanyName = item.Name; Disrupt.Add(_disrup_invoice); balanceSum += balance; } } if (balanceSum < 0) { //var ID = item.Cards.Select(s => s.Id).FirstOrDefault(); //var pack = _db.Subscribtions.Include("SubscriptionPackages").Where(c => c.CardId == ID).Select(ss => ss).ToList(); ////var card_packages = pack.Where(c => c.CardId == ID).SelectMany(s => s.SubscriptionPackages).ToList(); JuridicalInvoicesList juridical_invoice = new JuridicalInvoicesList() { Name = item.Name, dateFrom = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1, 0, 0, 0), dateTo = DateTime.Now,//, _attachment = item.CustomerSellAttachments.Select(s => s).ToList(), balance = Math.Abs(balanceSum), Count = item.Cards.Count(), Invoices_Code = _card.Card.Customer.Code, PackagesPrice = _card.SubscribAmount, Ramdom_Generator = OneTicketMessed[0], Image = _Image, Phone = item.Phone1 }; var SellAttachments = _db.SellAttachments.ToList(); var result = AutoInvoice(juridical_invoice); var _result = DisruptAutoInvoice(Disrupt); Disrupt.Clear(); bool send_sms = false; bool send_email = SendMail(item.Email, juridical_invoice.Name, _db.Params.Where(c => c.Name == "SystemEmail").Select(s => s.Value).FirstOrDefault(), _db.Params.Where(c => c.Name == "SystemEmailPassword").Select(s => s.Value).FirstOrDefault(), juridical_invoice.Invoices_Code); bool _send_email_Accounting = SendMail("*****@*****.**", juridical_invoice.Name, _db.Params.Where(c => c.Name == "SystemEmail").Select(s => s.Value).FirstOrDefault(), _db.Params.Where(c => c.Name == "SystemEmailPassword").Select(s => s.Value).FirstOrDefault(), juridical_invoice.Invoices_Code); bool _send_email_aprove = SendMail(_db.Params.Where(c => c.Name == "SystemEmail").Select(s => s.Value).FirstOrDefault(), juridical_invoice.Name, _db.Params.Where(c => c.Name == "SystemEmail").Select(s => s.Value).FirstOrDefault(), _db.Params.Where(c => c.Name == "SystemEmailPassword").Select(s => s.Value).FirstOrDefault(), juridical_invoice.Invoices_Code); bool _send_email_disrupt = Disrupt_SendMail("*****@*****.**", juridical_invoice.Name, _db.Params.Where(c => c.Name == "SystemEmail").Select(s => s.Value).FirstOrDefault(), _db.Params.Where(c => c.Name == "SystemEmailPassword").Select(s => s.Value).FirstOrDefault(), juridical_invoice.Invoices_Code); if (item.Email != null) { send_sms = SendSms("568304304"); send_sms = SendSms(item.Phone1); } var _invoice = new InvoceLogging { tdate = DateTime.Now, custumer_id = item.Id, name = item.Name, invoce_code = OneTicketMessed[0], send_email = send_email, send_sms = send_sms }; _db.InvoiceLoggings.Add(_invoice); _db.SaveChanges(); OneTicketMessed.Remove(OneTicketMessed[0]); Thread.Sleep(60000); } } } } catch (Exception ex) { Utils.Utils.ErrorLogging(ex, @"C:\DigitalTV\InvoiceLog\log.txt"); } }