Exemple #1
0
        public void RemoveService(int id)
        {
            if (id == -1)    // удаление строки, не занесённой в список услуг(во время редактирования)
            {
                return;
            }

            Service sv = AllServices[id];

            if (sv != null)
            {
                CurrentContract.DelService(sv); // Если найдена, удаляем из списка услуг
            }
        }
Exemple #2
0
        // Проверяет, изменились ли данные в строке и добавляет новую услугу или меняет существующую.
        // Если в строке недостаточно данных для услуги(новая строка), ничего не делает, предотвращая создание новой услуги из пустой строки
        private void ChangeServiceRow(DataGridViewRow row)
        {
            if (row.IsNewRow)
            {
                return;
            }

            var id = AllServices.IndexOfKey((int)row.Cells["ColumnIdService"].Value); // индекс в списке

            var summ = (decimal)row.Cells["ColumnServiceSumm"].Value;

            var nw = (string)row.Cells["ColumnNameWork"].Value ?? "";

            if (summ == 0 || nw?.Length == 0)
            {
                return; // если эти ячейки пусты, значит данных для добавления/изменения услуги недостаточно(false)
            }

            var nd   = (string)row.Cells["ColumnNameDevice"].Value ?? "";
            var sd   = CurrentClient.Subdivisions.IndexOfValue((string)row.Cells["ColumnSubdivision"].Value ?? "");
            var ai   = (string)row.Cells["ColumnAddInfo"].Value ?? "";
            var numb = (int)row.Cells["ColumnServiceNumb"].Value;

            Service sv;

            if (id == -1)
            {
                sv = new Service(nw, nd, sd, numb, summ, -1, ai); // добавляем новую услугу

                CurrentContract.AddService(sv);                   // добавляем в список услуг текущего договора
                row.Cells["ColumnIdService"].Value = sv.Id;
            }
            else
            {
                sv = AllServices.Values[id];    // извлекаем существующую

                // Проверяем, изменились ли данные
                if (summ != sv.Value ||
                    numb != sv.Number ||
                    nw != sv.Nw.Name ||
                    nd != sv.Nd.Name ||
                    sd != sv.Sd ||
                    ai != sv.Ai.Name)
                {
                    CurrentContract.SetService(nw, nd, sd, numb, summ, sv.Id, ai); // меняем значения
                }
            }
        }
Exemple #3
0
        // Загружаем информацию об услугах из файла договора .xls
        private void ButtonLoadContractFrom_xls_Click(object sender, EventArgs e)
        {
            string path = DefaultPathFile;

            path = GetPathFile(CurrentContract.FileName, path);

            if (path == null)
            {
                return;
            }

            ClearDataGridView();

            CurrentContract.ClearServices();

            CurrentContract.LoadServicesFrom_xls(path);

            labelInTotalValue.Text = $"{CurrentContract.Summ}";
        }
        void AddExecute(object param)
        {
            Contract contract;

            if (CurrentContract != null)
            {
                contract             = CurrentContract.Clone();
                contract.CONTRACT_ID = 0;
            }

            else
            {
                contract = new Contract();
            }
            if (_view.IsInView)
            {
                contractListViewModel.EnablePicker = false;
            }
            CurrentContract          = contract;
            CurrentContract.Modified = true;
            RaisePropertyChanged("IsNotAddingNew");
        }