Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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;
 }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
 public static void DeleteIncoice(int index)
 {
     InvoicesList.RemoveAt(index);
     NumberOfInvoices = InvoicesList.Count;
     SaveInvoices();
 }
Exemplo n.º 8
0
 public static void AddInvoice(Invoice newInvoice)
 {
     InvoicesList.Add(newInvoice);
     NumberOfInvoices = InvoicesList.Count;
     SaveInvoices();
 }
Exemplo n.º 9
0
        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");
            }
        }