private void CRUDRate(int type, string range = null) { AppJournal.Write("Contract", "Open rate - " + (type == 1 ? "New" : SelectedRate.id.ToString()), true); string transactionTxt, procentTxt; decimal transaction = 0, procent = 0; bool error = false; if (SelectedRatesList != null) { if (type != 3) { /*if(range == null) { * transactionTxt = await MessagesService.GetInput("Ввод диапазона сумм", "Введите суммы от и до через тире (-):"); * procentTxt = await MessagesService.GetInput("Ввод процента", "Введите процент для заданного диапазона:"); * } else {*/ transactionTxt = range.Substring(2, range.LastIndexOf(" ") - range.IndexOf(" ")).Replace(" ", "").Replace(".", ""); procentTxt = Percent.ToString(); //} if (!string.IsNullOrEmpty(transactionTxt) && !string.IsNullOrEmpty(procentTxt)) { try { transactionTxt = transactionTxt.Replace("-", "-"); procentTxt = procentTxt.Replace(".", ","); transaction = Convert.ToDecimal(string.IsNullOrEmpty(range) ? transactionTxt.Substring(0, transactionTxt.IndexOf("-")) : transactionTxt); procent = Convert.ToDecimal(procentTxt); } catch (Exception) { error = true; } } else { error = true; } } switch (type) { case 1: // Create if (!error) { // Fill model var rate = new RateEF() { transaction = transaction, percent = procent, rateslistid = SelectedRatesList.id }; // Save changes if (DataBaseClient.CreateRate(rate) == 0) { MessagesService.Show("Создание тарифных данных", "Во время создания произошла ошибка"); } else { AppJournal.Write("Contract", "Create rate error", true); } } break; case 2: // Update if (!error && SelectedRate != null) { if (!DataBaseClient.UpdateRate(SelectedRate.id, transaction, procent)) { MessagesService.Show("Обновление тарифных данных", "Во время обновления произошла ошибка"); } } else { MessagesService.Show("Обновление тарифных данных", "При обновлении произошла ошибка.\nВозможно не были выбраны данные"); AppJournal.Write("Contract", "Update rate error", true); } break; case 3: // Delete if (SelectedRate != null) { if (!DataBaseClient.DeleteRate(SelectedRate.id)) { MessagesService.Show("Удаление тарифных данных", "Во время удаления произошла ошибка"); AppJournal.Write("Contract", "Delete rate error", true); } } else { MessagesService.Show("Удаление тарифных данных", "Не выбраны тарифные данные"); } break; } UpdateRateView(); } else { MessagesService.Show("Тарифные данные", "Не выбрана тарифная сетка"); } }