Ejemplo n.º 1
0
        public void InsertDocumentHeader(int Count, string Department, int Cost)
        {
            _ws1.Range["AU6"].Value = ActNumber;
            //_ws1.Range["AE9"].Value = DateTime.Now.Day;
            //_ws1.Range["AL9"].Value = DateTime.Now.ToString("MMMM", CultureInfo.CreateSpecificCulture("ru"));
            //_ws1.Range["AL9"].Value = Utilities.Extensions.IntMonthToRusString(DateTime.Now.Month);
            //_ws1.Range["BG9"].Value = DateTime.Now.Year - 2000;
            _ws1.Range["Y13"].Value  = Department;
            _ws1.Range["BB12"].Value = 7709102090;
            _ws1.Range["CG25"].Value = Count;
            _ws1.Range["CG28"].Value = _cost.ToString("0.00");
            int     IntCost  = Convert.ToInt32(_cost);
            decimal decPenny = _cost % 1.0m;
            int     IntPenny = Convert.ToInt32(decPenny * 100);
            string  Penny    = IntPenny.ToString();

            Penny = (Penny.Length == 1) ? $"0{Penny}" : Penny;
            _ws1.Range["S26"].Value  = RusNumber.Str(IntCost) + " руб. " + Penny + " коп.";
            _ws1.Range["W32"].Value  = "Главный хранитель фондов";
            _ws1.Range["BZ32"].Value = "Баулина А. В.";
            _ws1.Range["W34"].Value  = "Зав. сектором";
            _ws1.Range["BZ34"].Value = "Позднышев А. Е.";
            _ws1.Range["W36"].Value  = "Зав. сектором";
            _ws1.Range["BZ36"].Value = "Русакова Л. В.";
            _ws1.Range["W38"].Value  = "Ведущий бухгалтер";
            _ws1.Range["BZ38"].Value = "Беркетова Е. А.";
            _ws1.Range["W40"].Value  = "Главный библиотекарь";
            _ws1.Range["BZ40"].Value = "Почкина М. В.";
            _ws1.Range["W42"].Value  = "Ведущий библиограф";
            _ws1.Range["BZ42"].Value = "Базилевская И. Н.";

            _ws1.Range["W58"].Value  = "Главный хранитель фондов";
            _ws1.Range["BZ58"].Value = "Баулина А. В.";
            _ws1.Range["W60"].Value  = "Зав. сектором";
            _ws1.Range["BZ60"].Value = "Позднышев А. Е.";
            _ws1.Range["W62"].Value  = "Зав. сектором";
            _ws1.Range["BZ62"].Value = "Русакова Л. В.";
            _ws1.Range["W64"].Value  = "Ведущий бухгалтер";
            _ws1.Range["BZ64"].Value = "Беркетова Е. А.";
            _ws1.Range["W66"].Value  = "Главный библиотекарь";
            _ws1.Range["BZ66"].Value = "Почкина М. В.";
            _ws1.Range["W68"].Value  = "Ведущий библиограф";
            _ws1.Range["BZ68"].Value = "Базилевская И. Н.";

            _ws1.Range["R18"].Value = "Главный хранитель фондов Баулина А. В.; Зав. сектором Позднышев А. Е.;";
            _ws1.Range["A20"].Value = "Зав. сектором Русакова Л. В.; Ведущий бухгалтер Беркетова Е. А.;";
            _ws1.Range["A21"].Value = "Главный библиотекарь Почкина М. В.; Ведущий библиограф Базилевская И. Н.";

            _ws2.Range["AI2"].Value = DateTime.Now.Day;
            _ws2.Range["T2"].Value  = ActNumber;
            _ws2.Range["AO2"].Value = Utilities.Extensions.IntMonthToRusString(DateTime.Now.Month);
            _ws2.Range["BH2"].Value = DateTime.Now.Year - 2000;

            AddSignature();
            _currentWS.Range[$"BK{_countPerPage + _rowIncrement + 1}"].Value = _countPerPage;
            _currentWS.Range[$"CL{_countPerPage + _rowIncrement + 1}"].Value = _costPerPage.ToString("0.00");
            _currentWS.Range[$"CL{_countPerPage + _rowIncrement + 2}"].Value = _cost.ToString("0.00");
            _currentWS.Range[$"BK{_countPerPage + _rowIncrement + 2}"].Value = Count;
        }
Ejemplo n.º 2
0
        public void Test3()
        {
            const int n = 51200;
            var       s = RusNumber.Str(n);

            Assert.IsTrue(s.Contains("двести"));
            var c = n.ToString("C");
            var a = n.ToString("N");
        }
Ejemplo n.º 3
0
        static string Str(decimal val, bool male, string seniorOne, string seniorTwo, string seniorFive, string juniorOne, string juniorTwo, string juniorFive, bool fractPart)
        {
            bool minus = false;

            if (val < 0)
            {
                val = -val; minus = true;
            }

            int n         = (int)val;
            int remainder = (int)((val - n + 0.005M) * 100);

            StringBuilder r = new StringBuilder();

            if (0 == n)
            {
                r.Append("Ноль ");
            }
            if (n % 1000 != 0)
            {
                r.Append(RusNumber.Str(n, male, seniorOne, seniorTwo, seniorFive));
            }
            else
            {
                r.Append(seniorFive);
            }

            n /= 1000;

            r.Insert(0, RusNumber.Str(n, false, "тысяча", "тысячи", "тысяч"));
            n /= 1000;

            r.Insert(0, RusNumber.Str(n, true, "миллион", "миллиона", "миллионов"));
            n /= 1000;

            r.Insert(0, RusNumber.Str(n, true, "миллиард", "миллиарда", "миллиардов"));
            n /= 1000;

            r.Insert(0, RusNumber.Str(n, true, "триллион", "триллиона", "триллионов"));
            n /= 1000;

            r.Insert(0, RusNumber.Str(n, true, "триллиард", "триллиарда", "триллиардов"));
            if (minus)
            {
                r.Insert(0, "минус ");
            }

            if (fractPart)
            {
                r.Append(remainder.ToString(" 00 "));
                r.Append(RusNumber.Case(remainder, juniorOne, juniorTwo, juniorFive));
            }
            //Делаем первую букву заглавной
            r[0] = char.ToUpper(r[0]);

            return(r.ToString());
        }
Ejemplo n.º 4
0
        public bool Handle(IAttributeModifier modifier, ObjectCardContext context)
        {
            var isObjectModification = context.EditiedObject != null;

            if (context.IsReadOnly)
            {
                return(false);
            }

            if (_tripleNumberTextAttr == null)
            {
                return(false);
            }

            foreach (var item in _tripleNumberTextAttr)
            {
                if (context.AttributesValues.TryGetValue(item.NumberAttr, out var attr))
                {
                    if (attr is decimal n)
                    {
                        var st    = n.ToString(CultureInfo.CurrentCulture);
                        var kop   = string.Empty;
                        var split = st.Split('.');
                        if (split.Length == 2)
                        {
                            kop = split[1];
                        }
                        var split1 = st.Split(',');
                        if (split1.Length == 2)
                        {
                            kop = split1[1];
                        }

                        var t = Math.Truncate(n);
                        var j = decimal.ToInt32(t);

                        var s = RusNumber.Str(j).Trim();

                        if (!string.IsNullOrEmpty(kop))
                        {
                            s = s + " " + kop + " копеек";
                        }

                        var s2 = n.ToString("N");

                        var pos       = s2.LastIndexOf(',');
                        var substring = s2.Substring(0, pos);

                        modifier.SetValue(item.StrAttr, s);
                        modifier.SetValue(item.StrNumberAttr, substring + " рублей " + kop + " копеек");
                    }
                }
            }

            return(true);
        }
Ejemplo n.º 5
0
        public void Test2()
        {
            const int n = 1402368;
            var       s = RusNumber.Str(n);

            Assert.IsTrue(s.Contains("четыреста"));
            const double d = 1402368.5;
            var          c = d.ToString("C");
            var          a = d.ToString("N");
        }
Ejemplo n.º 6
0
        // Вывод оценки прописью
        private void label27_TextChanged(object sender, EventArgs e)
        {
            if (label10.Text.Length == 0)
            {
                return;
            }
            int val = int.Parse(label10.Text);

            label27.Text = RusNumber.Str(val);
        }
Ejemplo n.º 7
0
        void UpdateIcon()
        {
            if (UnreadNewsCount > 0)
            {
                menuLabel.Markup      = String.Format("<span foreground=\"red\" weight=\"bold\">+{0}</span>", UnreadNewsCount);
                menuLabel.TooltipText = RusNumber.FormatCase(UnreadNewsCount, "{0} непрочитанная новость", "{0} непрочитанных новости", "{0} непрочитанных новостей");
            }

            menuLabel.Visible = (UnreadNewsCount > 0);
            newsicon.Visible  = (UnreadNewsCount == 0);
        }
Ejemplo n.º 8
0
        void UpdateEquipmentState()
        {
            int equipmentsCounts = EquipmentRepository.GetEquipmentAtDeliveryPointQuery(Entity.Counterparty, Entity.DeliveryPoint).GetExecutableQueryOver(UoW.Session).RowCount();

            if (equipmentsCounts == 0 && Entity.Equipment == null)
            {
                enumcomboWithSerial.SelectedItem = ServiceClaimEquipmentSerialType.WithoutSerial;
            }
            ylabelEquipmentInfo.LabelProp = RusNumber.FormatCase(equipmentsCounts, "На точке числится {0} единица оборудования", "На точке числится {0} единицы оборудования", "На точке числится {0} единиц оборудования");
            enumcomboWithSerial.Sensitive = equipmentsCounts > 0;
        }
Ejemplo n.º 9
0
        private void UpdateInfo()
        {
            var    editingCount = editingList.Count(x => x.Fitting == null);
            string text         = RusNumber.FormatCase(editingCount, "Редактируем {0} строку", "Редактируем {0} строки", "Редактируем {0} строк");

            if (editingCount < editingList.Count)
            {
                text += "\n<span foreground=\"blue\">";
                text += RusNumber.FormatCase(editingList.Count - editingCount, "{0} не редактируется", "{0} не редактируются", "{0} не редактируются");
                text += RusNumber.FormatCase(editingList.Count, "\nВсего выбрано {0}", "\nВсего выбрано {0}", "\nВсего выбрано {0}");
                text += "</span>";
            }
            labelInfo.Markup = text;
        }
Ejemplo n.º 10
0
        public void Test2()
        {
            const int n = 1402368;
            var       s = RusNumber.Str(n).Trim();

            Assert.IsTrue(s.Contains("четыреста"));
            const double d = 1402368.5;
            var          c = d.ToString("C");
            var          a = d.ToString("N");

            Assert.AreEqual(s, "Один миллион четыреста две тысячи триста шестьдесят восемь");
            Assert.AreEqual(c, "1 402 368,50 ₽");
            Assert.AreEqual(a, "1 402 368,50");
        }
Ejemplo n.º 11
0
        protected void OnButtonUpdatePricesClicked(object sender, EventArgs e)
        {
            var newPricesList = new Dictionary <Price, int>();
            int effectedRows  = 0;

            foreach (var item in Entity.ProjectRows)
            {
                PriceItem newPriceItem = Repository.PriceRepository.GetLastPriceItem(UoW, item.Fitting, item.SelectedPriceItem?.Price.Provider);
                if (newPriceItem == null)
                {
                    continue;
                }
                if (!DomainHelper.EqualDomainObjects(newPriceItem, item.SelectedPriceItem))
                {
                    effectedRows++;
                    item.SelectedPriceItem = newPriceItem;
                    item.FittingPrice      = newPriceItem.Cost;
                    item.PriceCurrency     = newPriceItem.Currency;
                    if (newPricesList.ContainsKey(newPriceItem.Price))
                    {
                        newPricesList[newPriceItem.Price]++;
                    }
                    else
                    {
                        newPricesList.Add(newPriceItem.Price, 1);
                    }
                }
            }

            if (effectedRows == 0)
            {
                MessageDialogWorks.RunInfoDialog("Новые цены не найдены!");
            }
            else
            {
                MessageDialogWorks.RunInfoDialog(String.Format("Были обновлены цены в {0}.\n" +
                                                               "Новые цены были получены из {1}:\n" +
                                                               "{2}",
                                                               RusNumber.FormatCase(effectedRows, "{0} строке", "{0} строках", "{0} строках"),
                                                               RusNumber.FormatCase(newPricesList.Count, "{0} прайса", "{0} прайсов", "{0} прайсов"),
                                                               String.Join("\n", newPricesList.Select(x =>
                                                                                                      String.Format("{0} ({1:d}) - {2}", x.Key.Provider.Name, x.Key.Date, x.Value)
                                                                                                      ))
                                                               ));
            }
        }
        public bool SendCoordinates(string authKey, int trackId, TrackPointList TrackPointList)
        {
            RemoteEndpointMessageProperty prop = (RemoteEndpointMessageProperty)OperationContext.Current.IncomingMessageProperties [RemoteEndpointMessageProperty.Name];

            if (prop != null)
            {
                logger.Info(RusNumber.Case(TrackPointList.Count, "Получена {3} координата по треку", "Получено {3} координаты по треку", "Получено {3} координат по треку")
                            + " {0} c ip{1}:{2}", trackId, prop.Address, prop.Port, TrackPointList.Count);
            }

            if (!CheckAuth(authKey))
            {
                return(false);
            }

            return(TracksService.ReceivedCoordinates(trackId, TrackPointList));
        }
Ejemplo n.º 13
0
        private void UpdateResidue()
        {
            int bottleDebt;

            if (Entity.DeliveryPoint == null)
            {
                bottleDebt = Repository.Operations.BottlesRepository.GetBottlesAtCounterparty(UoW, Entity.Customer, Entity.Date);
            }
            else
            {
                bottleDebt = Repository.Operations.BottlesRepository.GetBottlesAtDeliveryPoint(UoW, Entity.DeliveryPoint, Entity.Date);
            }
            labelCurrentBootle.LabelProp = RusNumber.FormatCase(bottleDebt, "{0} бутыль", "{0} бутыли", "{0} бутылей");

            decimal bottleDeposit;

            if (Entity.DeliveryPoint == null)
            {
                bottleDeposit = Repository.Operations.DepositRepository.GetDepositsAtCounterparty(UoW, Entity.Customer, DepositType.Bottles, Entity.Date);
            }
            else
            {
                bottleDeposit = Repository.Operations.DepositRepository.GetDepositsAtDeliveryPoint(UoW, Entity.DeliveryPoint, DepositType.Bottles, Entity.Date);
            }
            labelCurrentBottleDeposit.LabelProp = CurrencyWorks.GetShortCurrencyString(bottleDeposit);

            decimal equipmentDeposit;

            if (Entity.DeliveryPoint == null)
            {
                equipmentDeposit = Repository.Operations.DepositRepository.GetDepositsAtCounterparty(UoW, Entity.Customer, DepositType.Equipment, Entity.Date);
            }
            else
            {
                equipmentDeposit = Repository.Operations.DepositRepository.GetDepositsAtDeliveryPoint(UoW, Entity.DeliveryPoint, DepositType.Equipment, Entity.Date);
            }
            labelCurrentEquipmentDeposit.LabelProp = CurrencyWorks.GetShortCurrencyString(equipmentDeposit);

            decimal debt = Repository.Operations.MoneyRepository.GetCounterpartyDebt(UoW, Entity.Customer, Entity.Date);

            labelCurrentMoneyDebt.LabelProp = CurrencyWorks.GetShortCurrencyString(debt);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Возвращает строковое представление числа как период времени в формате [кол-во лет кол-во месяцев]
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string AsPeriod(this string value)
        {
            var str = string.Empty;

            // разбираем на составляющие
            var periodParts = value.Split('.');

            // по целой части бьем по падежам
            str += string.Format("{0} {1}",
                                 periodParts[0], RusNumber.Case(int.Parse(periodParts[0]), "год", "года", "лет"));

            // по дробной части бьем по падежам, если таковая имеется
            if (periodParts.Length > 1)
            {
                str += string.Format(" {0} {1}",
                                     periodParts[1], RusNumber.Case(int.Parse(periodParts[1]), "месяц", "месяца", "месяцев"));
            }

            return(str);
        }
Ejemplo n.º 15
0
        protected void OnButtonOkClicked(object sender, EventArgs e)
        {
            string amount = RusNumber.FormatCase(spinAmount.ValueAsInt,
                                                 "Будет зарегистрирован {0} серийный номер для оборудования ",
                                                 "Будет зарегистрировано {0} серийных номера для оборудования ",
                                                 "Будет зарегистрировано {0} серийных номеров для оборудования "
                                                 );
            string Message = amount + String.Format("({0}). Вы подтверждаете регистрацию?",
                                                    (referenceNomenclature.Subject as Nomenclature).Name);
            MessageDialog md = new MessageDialog((Window)this.Toplevel, DialogFlags.Modal,
                                                 MessageType.Question,
                                                 ButtonsType.YesNo,
                                                 Message);
            bool result = md.Run() == (int)ResponseType.Yes;

            md.Destroy();

            if (result)
            {
                RegisteredEquipment = new List <Equipment> ();
                for (int count = 0; count < spinAmount.ValueAsInt; count++)
                {
                    var newEquipment = new Equipment {
                        Nomenclature    = (referenceNomenclature.Subject as Nomenclature),
                        WarrantyEndDate = ydatepickerWarrantyEnd.DateOrNull
                    };
                    uow.Save(newEquipment);
                    RegisteredEquipment.Add(newEquipment);
                }
                uow.Commit();

                //Деактивируем создание оборудования
                referenceNomenclature.Sensitive      = spinAmount.Sensitive =
                    ydatepickerWarrantyEnd.Sensitive = buttonCreate.Sensitive = false;
                PreparedReport();
                buttonAddAndClose.Sensitive = true;
            }
        }
Ejemplo n.º 16
0
        private Gtk.Menu GetOrderWeekMoveMenu()
        {
            Gtk.Menu         jBox2 = new Gtk.Menu();
            MenuItemId <int> MenuItem2;

            for (int weeks = 5; weeks >= -5; weeks--)
            {
                if (weeks == 0)
                {
                    jBox2.Add(new SeparatorMenuItem());
                }
                else
                {
                    string text = RusNumber.FormatCase(Math.Abs(weeks), "на {0} неделю", "на {0} недели", "на {0} недель")
                                  + (weeks > 0 ? " вперед" : " назад");

                    MenuItem2    = new MenuItemId <int>(text);
                    MenuItem2.ID = weeks;
                    MenuItem2.ButtonPressEvent += OnButtonPopupMoveWeeks;
                    jBox2.Add(MenuItem2);
                }
            }
            return(jBox2);
        }
Ejemplo n.º 17
0
        void CalculateCompleteInfo()
        {
            labelTotal.LabelProp     = xlsRows.Count.ToString();
            labelFind.LabelProp      = xlsRows.Count(x => x.Status == ReadingXLSRow.RowStatus.FoundModel).ToString();
            labelManualSet.LabelProp = xlsRows.Count(x => x.Status == ReadingXLSRow.RowStatus.ManualSet).ToString();
            labelCreate.LabelProp    = xlsRows.Count(x => x.Status == ReadingXLSRow.RowStatus.WillCreated).ToString();
            var withoutPrice = xlsRows.Count(x => x.Price == null);

            if (withoutPrice > 0)
            {
                labelWithoutPrice.Markup = String.Format("<span foreground=\"red\">{0}</span>", withoutPrice);
            }
            else
            {
                labelWithoutPrice.Markup = withoutPrice.ToString();
            }

            var toAdd = xlsRows.Where(x => x.Price.HasValue).Count(x => x.Status == ReadingXLSRow.RowStatus.WillCreated ||
                                                                   x.Status == ReadingXLSRow.RowStatus.ManualSet ||
                                                                   x.Status == ReadingXLSRow.RowStatus.FoundModel
                                                                   );
            var skiped = xlsRows.Count - toAdd;

            if (skiped > 0)
            {
                labelSkiped.Markup = String.Format("<span foreground=\"red\">{0}</span>", skiped);
            }
            else
            {
                labelSkiped.Markup = skiped.ToString();
            }
            labelCurrency.LabelProp = comboCurrency.ActiveText;

            buttonFinish.Label     = RusNumber.FormatCase(toAdd, "Добавить {0} позицию в прайс", "Добавить {0} позиции в прайс", "Добавить {0} позиций в прайс");
            buttonFinish.Sensitive = toAdd > 0;
        }
Ejemplo n.º 18
0
        /// <summary>
        /// ////////////////////////////////////////////////////////////////////////////////////////////////
        /// </summary>
        private void DoExcelThings()
        {
            string           old_ser, ser = "";
            OracleCommand    cmd1;
            OracleDataReader dr1;
            string           date_bill, ch_date;

            excelFilePath = Path.GetFullPath("invoice_t.xlsx");

            openExcel();

            OracleCommand cmd = con.CreateCommand();

            cmd.CommandText = $"select * from table_billing where num_of_bill = {ID}";
            cmd.CommandType = CommandType.Text;
            OracleDataReader dr = cmd.ExecuteReader();

            dr.Read();
            date_bill = dr[1].ToString();
            ch_date   = date_bill[6].ToString() + date_bill[7].ToString() + '.';
            ch_date   = ch_date + date_bill[4].ToString() + date_bill[5].ToString() + '.';
            ch_date   = ch_date + date_bill[0].ToString() + date_bill[1].ToString() + date_bill[2].ToString() + date_bill[3].ToString();


            myExcelWorkSheet.Cells[1, 2].Value = "СЧЕТ НА ОПЛАТУ";

            myExcelWorkSheet.Cells[2, "B"].Value = $"№ {ID} от {ch_date}";

            date_bill = dr[4].ToString();
            ch_date   = date_bill[6].ToString() + date_bill[7].ToString() + '.';
            ch_date   = ch_date + date_bill[4].ToString() + date_bill[5].ToString() + '.';
            ch_date   = ch_date + date_bill[0].ToString() + date_bill[1].ToString() + date_bill[2].ToString() + date_bill[3].ToString();
            myExcelWorkSheet.Cells[3, "B"].Value = $"к договору {dr[0].ToString()} от {ch_date}";

            cmd1             = con.CreateCommand();
            cmd1.CommandText = $"select CRP_NM, REG_ADDR_CONT from tbcb_crp_info where CRP_CD = '{dr[5]}'";
            cmd1.CommandType = CommandType.Text;

            dr1 = cmd1.ExecuteReader();

            dr1.Read();
            myExcelWorkSheet.Cells[6, "AX"].Value = dr1[0].ToString();
            myExcelWorkSheet.Cells[8, "AX"].Value = dr1[1].ToString();
            dr1.Close();

            myExcelWorkSheet.Cells[10, "AX"].Value = $"{dr[7]}";
            if (dr[8].ToString() == "")
            {
                myExcelWorkSheet.Cells[12, "AX"].Value = "\t" + dr[9].ToString();
            }
            else
            {
                myExcelWorkSheet.Cells[12, "AX"].Value = "\t" + dr[8].ToString();
            }
            cmd1             = con.CreateCommand();
            cmd1.CommandText = $"Select bk_acnt_no, mfo_cd from tbcb_crp_bk where crp_cd = '{dr[5]}'";
            cmd1.CommandType = CommandType.Text;

            dr1 = cmd1.ExecuteReader();
            dr1.Read();

            myExcelWorkSheet.Cells[14, "AX"].Value = $"{dr1[0]}";
            myExcelWorkSheet.Cells[16, "AX"].Value = $"{dr1[1]}";

            string num_double = dr[11].ToString();
            bool   flag = false;
            var    DS = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator[0];
            string val = "", frac = "";;

            for (int i = 0; i < num_double.Count(); i++)
            {
                if (num_double[i] != DS && flag == false)
                {
                    val += num_double[i];
                }
                else if (num_double[i] != DS && flag == true)
                {
                    frac += num_double[i];
                }
                else if (num_double[i] == DS)
                {
                    flag = true;
                }
            }

            if (flag == false)
            {
                frac = "00";
            }


            myExcelWorkSheet.Cells[27, "J"].Value = $"{dr[16]}"; // комментарий
            myExcelWorkSheet.Cells[29, "J"].Value = $"{dr[17]}"; // основание

            myExcelWorkSheet.Cells[37, "AE"].Value = $"{dr[15]}";

            dr1.Close();
            ser = dr[3].ToString();
            //old_ser = dr[2].ToString();
            //flag = false;
            //for (int i = 0; i < old_ser.Count(); i++)
            //{
            //    if (old_ser[i] == '/')
            //    {
            //        flag = true;
            //    }
            //    else if (old_ser[i] != '/' && flag == true)
            //    {
            //        ser += old_ser[i];
            //    }
            //}

            cmd1             = con.CreateCommand();
            cmd1.CommandText = $"select NDS from tbcb_cd where CD like '{ser}%' AND CD_NM = '{dr[10].ToString()}'";
            cmd1.CommandType = CommandType.Text;
            dr1 = cmd1.ExecuteReader();
            dr1.Read();

            double percent = double.Parse(dr1[0].ToString());

            dr1.Close();
            myExcelWorkSheet.Cells[22, "AE"].Value = $"{dr[18]}";  ///валюта
            myExcelWorkSheet.Cells[22, "D"].Value  = $"{dr[10]}";  //услуга
            myExcelWorkSheet.Cells[22, "AI"].Value = double.Parse(dr[11].ToString().Replace('.', DS));
            myExcelWorkSheet.Cells[22, "BF"].Value = double.Parse(dr[11].ToString().Replace('.', DS));
            double sum_without_NDS;

            sum_without_NDS = double.Parse(dr[11].ToString().Replace('.', DS)) / (1 + percent / 100);
            myExcelWorkSheet.Cells[22, "AO"].Value = sum_without_NDS;
            MessageBox.Show(RusNumber.Str(Int32.Parse(val)));

            if (percent == 0)
            {
                myExcelWorkSheet.Cells[22, "AZ"].Value = "БЕЗ НДС";
                myExcelWorkSheet.Cells[22, "AW"].Value = "БЕЗ НДС";
                myExcelWorkSheet.Cells[25, "B"].Value  = "Всего к оплате:          " + RusNumber.Str(Int32.Parse(val)) + dr[18].ToString() + " " + frac + " тийин";
            }
            else
            {
                myExcelWorkSheet.Cells[22, "AZ"].Value = double.Parse(dr[11].ToString().Replace('.', DS)) - sum_without_NDS;
                myExcelWorkSheet.Cells[22, "AW"].Value = $"{percent}%"; // процент
                myExcelWorkSheet.Cells[25, "B"].Value  = "Всего к оплате:          " + RusNumber.Str(Int32.Parse(val)) + dr[18].ToString() + " " + frac + " тийин, в.т.ч. НДС: " + Math.Round(myExcelWorkSheet.Cells[22, "AZ"].Value, 2) + " " + dr[18].ToString();
            }

            dr.Close();
            myExcelApplication.Visible = true;  // true will open Excel
            myExcelWorkSheet.PrintPreview();
            myExcelApplication.Visible = false; // hides excel file when user closes preview
        }
Ejemplo n.º 19
0
        int FillChildOperation(IDeleteInfo currentDeletion, Operation parentOperation, TreeIter parentIter, EntityDTO masterEntity)
        {
            TreeIter  DeleteIter, ClearIter, RemoveIter;
            int       Totalcount   = 0;
            int       DelCount     = 0;
            int       ClearCount   = 0;
            int       RemoveCount  = 0;
            EntityDTO secondEntity = null;

            var secondInfo = CalculateSecondInfo(currentDeletion, masterEntity);

            if (!currentDeletion.HasDependences && !(secondInfo == null || secondInfo.HasDependences))
            {
                return(0);
            }

            CheckDlg.SetOperationName(String.Format("Проверка ссылок на: {0}", masterEntity.Title));
            logger.Debug(String.Format("Проверка ссылок на: {0}", masterEntity.Title));
            if (CheckDlg.IsCanceled)
            {
                return(0);
            }

            if (secondInfo != null)
            {
                secondEntity = new EntityDTO {
                    ClassType = secondInfo.ObjectClass,
                    Entity    = masterEntity.Entity,
                    Id        = masterEntity.Id,
                    Title     = masterEntity.Title
                };
            }

            if (currentDeletion.DeleteItems.Count > 0 || (secondInfo != null && secondInfo.DeleteItems.Count > 0))
            {
                if (!ObjectsTreeStore.IterIsValid(parentIter))
                {
                    DeleteIter = ObjectsTreeStore.AppendNode();
                }
                else
                {
                    DeleteIter = ObjectsTreeStore.AppendNode(parentIter);
                }

                DelCount = FillDeleteItemsOperation(currentDeletion, parentOperation, DeleteIter, masterEntity, ref Totalcount);

                if (secondInfo != null)
                {
                    DelCount += FillDeleteItemsOperation(secondInfo, parentOperation, DeleteIter, secondEntity, ref Totalcount);
                }

                if (DelCount > 0)
                {
                    ObjectsTreeStore.SetValues(DeleteIter, String.Format("Будет удалено ({0}/{1}) объектов:", DelCount, Totalcount));
                }
                else
                {
                    ObjectsTreeStore.Remove(ref DeleteIter);
                }
            }

            //TODO Сделать возможность журналирования очистки полей у объектов.
            if (currentDeletion.ClearItems.Count > 0 || (secondInfo != null && secondInfo.ClearItems.Count > 0))
            {
                if (!ObjectsTreeStore.IterIsValid(parentIter))
                {
                    ClearIter = ObjectsTreeStore.AppendNode();
                }
                else
                {
                    ClearIter = ObjectsTreeStore.AppendNode(parentIter);
                }

                ClearCount = FillCleanItemsOperation(currentDeletion, parentOperation, ClearIter, masterEntity, ref Totalcount);

                if (secondInfo != null)
                {
                    ClearCount += FillDeleteItemsOperation(secondInfo, parentOperation, ClearIter, secondEntity, ref Totalcount);
                }

                if (ClearCount > 0)
                {
                    ObjectsTreeStore.SetValues(ClearIter, RusNumber.FormatCase(ClearCount,
                                                                               "Будет очищено ссылок у {0} объекта:",
                                                                               "Будет очищено ссылок у {0} объектов:",
                                                                               "Будет очищено ссылок у {0} объектов:"
                                                                               ));
                }
                else
                {
                    ObjectsTreeStore.Remove(ref ClearIter);
                }
            }

            if (currentDeletion.RemoveFromItems.Count > 0 || (secondInfo != null && secondInfo.RemoveFromItems.Count > 0))
            {
                if (!ObjectsTreeStore.IterIsValid(parentIter))
                {
                    RemoveIter = ObjectsTreeStore.AppendNode();
                }
                else
                {
                    RemoveIter = ObjectsTreeStore.AppendNode(parentIter);
                }

                RemoveCount = FillRemoveFromItemsOperation(currentDeletion, parentOperation, RemoveIter, masterEntity, ref Totalcount);

                if (secondInfo != null)
                {
                    RemoveCount += FillRemoveFromItemsOperation(secondInfo, parentOperation, RemoveIter, secondEntity, ref Totalcount);
                }

                if (RemoveCount > 0)
                {
                    ObjectsTreeStore.SetValues(RemoveIter, RusNumber.FormatCase(RemoveCount,
                                                                                "Будут очищены ссылки в коллекциях у {0} объекта:",
                                                                                "Будут очищены ссылки в коллекциях у {0} объектов:",
                                                                                "Будут очищены ссылки в коллекциях у {0} объектов:"));
                }
                else
                {
                    ObjectsTreeStore.Remove(ref RemoveIter);
                }
            }

            return(Totalcount);
        }
Ejemplo n.º 20
0
 public void Initialize()
 {
     _rusNumber = new RusNumber();
 }
Ejemplo n.º 21
0
 private string SubscribersCountText(int count)
 {
     return(RusNumber.FormatCase(count, "Всего {0} подписчик.", "Всего {0} подписчика.", "Всего {0} подписчиков."));
 }