コード例 #1
0
        private async void CRUDRatesList(int type)
        {
            AppJournal.Write("Contract", "Open rates list - " + (type == 1 ? "New" : SelectedRatesList.name), true);

            string market     = "";
            int    marketType = 0;

            if (type != 3)
            {
                market = await MessagesService.GetInput("Выберите биржу", "ЕТС - 1 / УТБ - 2 / КазЭТС - 3 (Введите цифру):");

                if (!string.IsNullOrEmpty(market))
                {
                    try {
                        marketType = Convert.ToInt32(market);
                    } catch (Exception) { }

                    if (marketType == 1)
                    {
                        marketType = 4;
                        market     = "ETS";
                    }
                    else if (marketType == 2)
                    {
                        marketType = 1;
                        market     = "Астана";
                    }
                    else if (marketType == 3)
                    {
                        marketType = 5;
                        market     = "КазЭТС";
                    }
                    else
                    {
                        marketType = 0;
                    }
                }
            }

            switch (type)
            {
            case 1:     // Create
                if (marketType != 0)
                {
                    // Fill model
                    var ratesList = new RatesListEF()
                    {
                        contractid = Contract.id,
                        name       = market,
                        siteid     = marketType
                    };

                    // Save changes
                    if (DataBaseClient.CreateRatesList(ratesList) == 0)
                    {
                        MessagesService.Show("Создание тарифной сетки", "Во время создания произошла ошибка");
                        AppJournal.Write("Contract", "Create rates list error", true);
                    }
                }
                break;

            case 2:     // Update
                if (SelectedRatesList != null && marketType != 0)
                {
                    // Get new market
                    if (DataBaseClient.UpdateRatesList(SelectedRatesList.id, market, marketType))
                    {
                        MessagesService.Show("Обновление тарифной сетки", "Обновление прошло успешно");
                    }
                    else
                    {
                        MessagesService.Show("Обновление тарифной сетки", "Во время обновления произошла ошибка");
                        AppJournal.Write("Contract", "Update rates list error", true);
                    }
                }
                else
                {
                    MessagesService.Show("Удаление тарифной сетки", "Не выбрана тарифная сетка");
                }
                break;

            case 3:     // Delete
                if (SelectedRatesList != null)
                {
                    if (DataBaseClient.DeleteRatesList(SelectedRatesList.id))
                    {
                        MessagesService.Show("Удаление тарифной сетки", "Удаление прошло успешно");
                    }
                    else
                    {
                        MessagesService.Show("Удаление тарифной сетки", "Во время удаления произошла ошибка");
                        AppJournal.Write("Contract", "Delete rates list error", true);
                    }
                }
                else
                {
                    MessagesService.Show("Удаление тарифной сетки", "Не выбрана тарифная сетка");
                }
                break;
            }

            UpdateRatesListView();
        }