Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void button_SpecialDeal_Create_Click(object sender, RoutedEventArgs e)
        {
            SpecialDeals query = null;

            try
            {
                query = (await oSpecialDealsRepository.Select_SpecialDeals_Async("select * from specialdeals where bouquets_id = " + oBouquet.bouquets_id))[0];
            }
            catch
            {
            }

            if (query == null)
            {
                await oSpecialDealsRepository.Insert_SpecialDeals_Async(new SpecialDeals(oBouquet.bouquets_id, (double)numericUD_SpecialDeal_Percent.Value, DateTime.Parse(datepicker.Text)));

                await Update_ListView_SpecialDeals();

                Special_Deal_Window oSpecial_Deal_Window = new Special_Deal_Window();
                oSpecial_Deal_Window.ShowDialog();
                this.Close();
            }
            else
            {
                MessageBox.Show("Спец. предложения для данного букета уже существует.");
            }
        }
        /// <summary>
        /// Обновление listview с букетами. Для каждого букета ставится в соответствие список его кмпонентов. Подсчитывается стоимость букета с учётом скидок Специальных Предложений
        /// </summary>
        /// <returns></returns>
        private async Task Update_ListView_Bouquets(string name)
        {
            List <Bouquet_Content> lBouquet_Content = new List <Bouquet_Content>();

            List <Bouquets> lBouquets = await oBouquetsRepository.Select_All_Bouquets_Async();

            foreach (var b in lBouquets)
            {
                Bouquet_Content bouquet_content = new Bouquet_Content();

                if (b.name.ToLower().Contains(name.ToLower()))
                {
                    bouquet_content.bouquet  = b;
                    bouquet_content.lContent = await oContentsRepository.Select_Contents_Async("select * from contents where bouquets_id = " + b.bouquets_id);

                    bouquet_content.cost = 0;

                    foreach (var c in bouquet_content.lContent)
                    {
                        if (c.accessories_id != -1)
                        {
                            bouquet_content.cost += (double)c.count * conn.GetAsync <Accessories>(c.accessories_id).Result.price;
                        }
                        else
                        {
                            bouquet_content.cost += (double)c.count * conn.GetAsync <Flowers>(c.flowers_id).Result.price;
                        }
                    }

                    bouquet_content.cost += bouquet_content.bouquet.price_extra;

                    // Обработка скидок по спец. предложениям
                    try
                    {
                        SpecialDeals oSpecialDeals = (await oSpecialDealsRepository.Select_SpecialDeals_Async("select * from specialdeals where bouquets_id = " + b.bouquets_id))[0];

                        if (oSpecialDeals != null && oSpecialDeals.datetime >= DateTime.Now)
                        {
                            bouquet_content.cost = bouquet_content.cost * (1 - oSpecialDeals.discount / 100);
                        }
                    }
                    catch
                    {
                    }

                    lBouquet_Content.Add(bouquet_content);
                }
            }

            listview_Bouquets.ItemsSource = lBouquet_Content;
        }
 public async Task Delete_SpecialDeals_Async(SpecialDeals specialdeals)
 {
     await conn.DeleteAsync(specialdeals);
 }
 public async Task Update_SpecialDeals_Async(SpecialDeals specialdeals)
 {
     await conn.UpdateAsync(specialdeals);
 }
 public async Task Insert_SpecialDeals_Async(SpecialDeals specialdeals)
 {
     await conn.InsertAsync(specialdeals);
 }