Ejemplo n.º 1
0
        public DeliveryPriceDlg()
        {
            this.Build();

            TabName = "Рассчет стоимости доставки";

            entryCity.CitySelected += (sender, e) => {
                entryBuilding.Text         = string.Empty;
                entryStreet.CityId         = entryCity.OsmId;
                entryStreet.Street         = string.Empty;
                entryStreet.StreetDistrict = string.Empty;
            };

            entryStreet.StreetSelected += (sender, e) => {
                entryBuilding.Street = new OsmStreet(-1, entryStreet.CityId, entryStreet.Street, entryStreet.StreetDistrict);
            };

            entryBuilding.CompletionLoaded += EntryBuilding_Changed;
            entryBuilding.Changed          += EntryBuilding_Changed;

            //Configure map
            MapWidget.MapProvider  = GMapProviders.OpenStreetMap;
            MapWidget.Position     = new PointLatLng(59.93900, 30.31646);
            MapWidget.MinZoom      = 0;
            MapWidget.MaxZoom      = 24;
            MapWidget.Zoom         = 9;
            MapWidget.WidthRequest = 450;
            MapWidget.HasFrame     = true;
            MapWidget.Overlays.Add(addressOverlay);

            deliverypriceview.OnError += (sender, e) => {
                MessageDialogWorks.RunErrorDialog(e);
            };
        }
Ejemplo n.º 2
0
        protected void OnButtonInsertFromBufferClicked(object sender, EventArgs e)
        {
            bool error = true;

            string booferCoordinates = clipboard.WaitForText();

            string[] coordinates = booferCoordinates?.Split(',');
            if (coordinates?.Length == 2)
            {
                decimal lat, lng;
                bool    goodLat = decimal.TryParse(coordinates[0].Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out lat);
                bool    goodLon = decimal.TryParse(coordinates[1].Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out lng);
                SetCoordinates(lat, lng);

                if (goodLat && goodLon)
                {
                    deliverypriceview.DeliveryPrice = DeliveryPriceCalculator.Calculate(latitude, longitude, yspinBottles.ValueAsInt);
                    error = false;
                }
            }
            if (error)
            {
                MessageDialogWorks.RunErrorDialog(
                    "Буфер обмена не содержит координат или содержит неправильные координаты");
            }
        }
Ejemplo n.º 3
0
        protected void OnButtonInsertFromBufferClicked(object sender, EventArgs e)
        {
            bool error = true;

            string booferCoordinates = clipboard.WaitForText();

            string[] coordinates = booferCoordinates?.Split(',');
            if (coordinates?.Length == 2)
            {
                coordinates[0] = coordinates[0].Replace('.', ',');
                coordinates[1] = coordinates[1].Replace('.', ',');

                decimal latitude, longitude;
                bool    goodLat = decimal.TryParse(coordinates[0].Trim(), out latitude);
                bool    goodLon = decimal.TryParse(coordinates[1].Trim(), out longitude);

                if (goodLat && goodLon)
                {
                    Entity.Latitude  = latitude;
                    Entity.Longitude = longitude;
                    error            = false;
                }
            }
            if (error)
            {
                MessageDialogWorks.RunErrorDialog(
                    "Буфер обмена не содержит координат или содержит неправильные координаты");
            }
        }
Ejemplo n.º 4
0
        void EntryBuilding_Changed(object sender, EventArgs e)
        {
            if (entryBuilding.OsmCompletion.HasValue)
            {
                Entity.FoundOnOsm = entryBuilding.OsmCompletion.Value;
                decimal?latitude, longitude;
                entryBuilding.GetCoordinates(out longitude, out latitude);

                if (!Entity.ManualCoordinates || (Entity.ManualCoordinates && MessageDialogWorks.RunQuestionDialog("Координаты были установлены вручную, заменить их на коордитаты адреса?")))
                {
                    Entity.Latitude          = latitude;
                    Entity.Longitude         = longitude;
                    Entity.ManualCoordinates = false;
                }
            }
            if (entryBuilding.OsmHouse != null && !String.IsNullOrWhiteSpace(entryBuilding.OsmHouse.Name))
            {
                labelHouseName.Visible   = true;
                labelHouseName.LabelProp = entryBuilding.OsmHouse.Name;
            }
            else
            {
                labelHouseName.Visible = false;
            }
        }
Ejemplo n.º 5
0
 protected void OnButtonCancelClicked(object sender, EventArgs e)
 {
     if (MessageDialogWorks.RunQuestionDialog("Выйти без сохранения?"))
     {
         this.Destroy();
     }
 }
Ejemplo n.º 6
0
        public override bool Save()
        {
            if (CheckWarehouseItems() == false)
            {
                MessageDialogWorks.RunErrorDialog("На складе не хватает материалов");
                return(false);
            }

            var valid = new QSValidator <IncomingWater> (UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            Entity.LastEditor     = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW);
            Entity.LastEditedTime = DateTime.Now;
            if (Entity.LastEditor == null)
            {
                MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика.");
                return(false);
            }

            logger.Info("Сохраняем документ производства...");
            UoWGeneric.Save();
            logger.Info("Ok.");
            return(true);
        }
Ejemplo n.º 7
0
        protected void OnButtonFillWarehouseItemsClicked(object sender, EventArgs e)
        {
            if (DocumentUoW.Root.Items.Count > 0)
            {
                if (!MessageDialogWorks.RunQuestionDialog("Список будет очищен. Продолжить?"))
                {
                    return;
                }
            }

            DocumentUoW.Root.FillFromRouteList(DocumentUoW, false);
            if (DocumentUoW.Root.Items.Any(i => i.Nomenclature.Warehouse == null))
            {
                string str = "";
                foreach (var nomenclarure in DocumentUoW.Root.Items.Where(i => i.Nomenclature.Warehouse == null))
                {
                    str = string.Join("\n", nomenclarure.Nomenclature.Name);
                }
                MessageDialogWorks.RunErrorWithSecondaryTextDialog("В МЛ есть номенклатура не привязанная к складу.", str);
            }

            DocumentUoW.Root.FillFromRouteList(DocumentUoW, true);
            DocumentUoW.Root.UpdateAlreadyLoaded(DocumentUoW);
            if (DocumentUoW.Root.Warehouse != null)
            {
                DocumentUoW.Root.UpdateStockAmount(DocumentUoW);
                UpdateAmounts();
            }
        }
Ejemplo n.º 8
0
        protected void OnButtonAddClicked(object sender, EventArgs e)
        {
            if (DocumentUoW.Root.FromWarehouse == null)
            {
                MessageDialogWorks.RunErrorDialog("Не добавлен склад отправителя.");
                return;
            }

            ITdiTab mytab = DialogHelper.FindParentTab(this);

            if (mytab == null)
            {
                logger.Warn("Родительская вкладка не найдена.");
                return;
            }

            var filter = new StockBalanceFilter(UnitOfWorkFactory.CreateWithoutRoot());

            filter.SetAndRefilterAtOnce(x => x.RestrictWarehouse = DocumentUoW.Root.FromWarehouse);

            ReferenceRepresentation SelectDialog = new ReferenceRepresentation(new ViewModel.StockBalanceVM(filter));

            SelectDialog.Mode            = OrmReferenceMode.Select;
            SelectDialog.ButtonMode      = ReferenceButtonMode.None;
            SelectDialog.ObjectSelected += NomenclatureSelected;

            mytab.TabParent.AddSlaveTab(mytab, SelectDialog);
        }
Ejemplo n.º 9
0
        public override bool Save()
        {
            bool hasDuplicate = CheckDuplicate();
            bool userAnswer   = true;

            if (hasDuplicate)
            {
                userAnswer = MessageDialogWorks.RunQuestionDialog(
                    "Контрагент с данным ИНН уже существует. Сохранить?");
            }

            if (userAnswer)
            {
                Entity.UoW = UoW;
                var valid = new QSValidator <Counterparty>(UoWGeneric.Root);
                if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
                {
                    return(false);
                }

                logger.Info("Сохраняем контрагента...");
                phonesView.SaveChanges();
                emailsView.SaveChanges();
                UoWGeneric.Save();
                logger.Info("Ok.");
                return(true);
            }
            return(false);
        }
        protected void OnButtonCreateBorderClicked(object sender, EventArgs e)
        {
            if (!creatingNewBorder)
            {
                creatingNewBorder = true;
                newBorderVertice  = new List <PointLatLng>();
            }
            else
            {
                if (MessageDialogWorks.RunQuestionDialog("Завершить задание границ района?"))
                {
                    if (MessageDialogWorks.RunQuestionDialog("Сохранить новые границы района?"))
                    {
                        var closingPoint = newBorderVertice[0];
                        newBorderVertice.Add(closingPoint);
                        currentBorderVertice           = newBorderVertice;
                        currentDistrict.DistrictBorder = gf.CreatePolygon(GetCoordinatesFromPoints());
                    }
                    creatingNewBorder = false;
                    ShowBorders();
                    ShowBorderVertice(currentBorderVertice);
                }
            }

            ControlsAccessibility();
        }
Ejemplo n.º 11
0
        public static void CheckBanksUpdate(bool forceUpdate)
        {
            if (!forceUpdate)
            {
                DateTime lastModified = new DateTime();
                if (MainSupport.BaseParameters.All.ContainsKey("last_banks_update"))
                {
                    lastModified = DateTime.Parse(MainSupport.BaseParameters.All["last_banks_update"]);
                }

                int withoutUpdate = (int)DateTime.Now.Subtract(lastModified).TotalDays;
                if (withoutUpdate < UpdatePeriod)
                {
                    return;
                }
                var runUpdate = MessageDialogWorks.RunQuestionDialog(
                    lastModified == default(DateTime) ? "Справочник банков никогда не обновлялся. Обновить?" :
                    NumberToTextRus.FormatCase(withoutUpdate, "Cправочник банков обновлялся\n{0} день назад. Обновить?",
                                               "Cправочник банков обновлялся\n{0} дня назад. Обновить?",
                                               "Cправочник банков обновлялся\n{0} дней назад. Обновить?"));
                if (!runUpdate)
                {
                    return;
                }
            }
            BanksUpdateWindow updateWindow = new BanksUpdateWindow();

            updateWindow.Show();
        }
Ejemplo n.º 12
0
        public static void CheckBanksUpdate(bool forceUpdate)
        {
            if (!forceUpdate)
            {
                dynamic  parameters   = new ParametersService(QSMain.ConnectionDB);
                DateTime lastModified = parameters.last_banks_update ?? default(DateTime);

                int withoutUpdate = (int)DateTime.Now.Subtract(lastModified).TotalDays;
                if (withoutUpdate < UpdatePeriod)
                {
                    return;
                }
                var runUpdate = MessageDialogWorks.RunQuestionDialog(
                    lastModified == default(DateTime) ? "Справочник банков никогда не обновлялся. Обновить?" :
                    NumberToTextRus.FormatCase(withoutUpdate, "Cправочник банков обновлялся\n{0} день назад. Обновить?",
                                               "Cправочник банков обновлялся\n{0} дня назад. Обновить?",
                                               "Cправочник банков обновлялся\n{0} дней назад. Обновить?"));
                if (!runUpdate)
                {
                    return;
                }
            }
            BanksUpdateWindow updateWindow = new BanksUpdateWindow();

            updateWindow.Show();
        }
        public override bool Save()
        {
            var messages = new List <string>();

            var valid = new QSValidator <TransferOperationDocument>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }


            Entity.LastEditor = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW);
            Entity.TimeStamp  = datepickerDate.Date;
            //	Entity.LastEditedTime = DateTime.Now;
            if (Entity.LastEditor == null)
            {
                MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика.");
                return(false);
            }

            messages.AddRange(Entity.SaveOperations(UoWGeneric, (int)spinBottles.Value, (decimal)spinDepositsBottles.Value, (decimal)spinDepositsEquipment.Value));

            logger.Info("Сохраняем документ переноса...");
            UoWGeneric.Save();
            logger.Info("Ok.");
            return(true);
        }
Ejemplo n.º 14
0
        void ButtonSendErrorSendedEmails_Clicked(object sender, EventArgs e)
        {
            ManualEmailSender emailSender = new ManualEmailSender();

            emailSender.ResendEmailWithErrorSendingStatus(datepicker1.Date);
            MessageDialogWorks.RunInfoDialog("Done");
        }
Ejemplo n.º 15
0
        public RouteListTrackDlg()
        {
            this.Build();
            this.TabName = "Мониторинг";
            yTreeViewDrivers.RepresentationModel = new ViewModel.WorkingDriversVM(uow);
            yTreeViewDrivers.RepresentationModel.UpdateNodes();
            yTreeViewDrivers.Selection.Mode     = Gtk.SelectionMode.Multiple;
            yTreeViewDrivers.Selection.Changed += OnSelectionChanged;
            buttonChat.Sensitive = false;
            currentEmployee      = EmployeeRepository.GetEmployeeForCurrentUser(uow);
            if (currentEmployee == null)
            {
                MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к сотруднику. Чат не будет работать.");
            }
            else
            {
                if (!ChatCallbackObservable.IsInitiated)
                {
                    ChatCallbackObservable.CreateInstance(currentEmployee.Id);
                }
                ChatCallbackObservable.GetInstance().AddObserver(this);
            }

            //Configure map
            gmapWidget.MapProvider   = GMapProviders.OpenStreetMap;
            gmapWidget.Position      = new PointLatLng(59.93900, 30.31646);
            gmapWidget.HeightRequest = 150;
            //MapWidget.HasFrame = true;
            gmapWidget.Overlays.Add(carsOverlay);
            gmapWidget.Overlays.Add(tracksOverlay);
            gmapWidget.ExposeEvent += GmapWidget_ExposeEvent;
            UpdateCarPosition();
            timerId = GLib.Timeout.Add(carRefreshInterval, new GLib.TimeoutHandler(UpdateCarPosition));
            yenumcomboMapType.ItemsEnum = typeof(MapProviders);
        }
        public static void ShowExceptionMessage(Exception ex)
        {
            var staleObjectStateException = ex as StaleObjectStateException;

            if (staleObjectStateException == null)
            {
                return;
            }

            var type       = OrmConfig.FindMappingByShortClassName(staleObjectStateException.EntityName).EntityPersisterClass;
            var objectName = DomainHelper.GetSubjectNames(type);

            string message;

            switch (objectName.Gender)
            {
            case GrammaticalGender.Feminine:
                message = "Сохраняемая <b>{0}</b> c номером <b>{1}</b> была кем то изменена.";
                break;

            case GrammaticalGender.Neuter:
                message = "Сохраняемое <b>{0}</b> c номером <b>{1}</b> было кем то изменено.";
                break;

            case GrammaticalGender.Masculine:
            default:
                message = "Сохраняемый <b>{0}</b> c номером <b>{1}</b> был кем то изменен.";
                break;
            }
            message = String.Format(message + "\nВаши изменения не будут записаны, чтобы не потерять чужие изменения. \nПереоткройте вкладку.", objectName?.Nominative ?? type.Name, staleObjectStateException.Identifier);

            MessageDialogWorks.RunErrorDialog(message);
        }
Ejemplo n.º 17
0
        void RunAgreementCreateDialog(CounterpartyContract contract)
        {
            ITdiTab dlg;
            string  paymentTypeString = "";

            switch (UoWGeneric.Root.Payment)
            {
            case PaymentType.cash:
                paymentTypeString = "наличной";
                break;

            case PaymentType.cashless:
                paymentTypeString = "безналичной";
                break;

            case PaymentType.barter:
                paymentTypeString = "бартерной";
                break;
            }
            string question = "Отсутствует доп. соглашение сервиса с клиентом в договоре для " +
                              paymentTypeString +
                              " формы оплаты. Создать?";

            if (MessageDialogWorks.RunQuestionDialog(question))
            {
                dlg = new RepairAgreementDlg(contract);
                (dlg as IAgreementSaved).AgreementSaved += (sender, e) => {
                    UoWGeneric.Root.InitialOrder?.CreateOrderAgreementDocument(e.Agreement);
                };
                TabParent.AddSlaveTab(this, dlg);
            }
        }
Ejemplo n.º 18
0
        void SelectTemplate_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            if (DocumentUoW.Root.Items.Count > 0)
            {
                if (MessageDialogWorks.RunQuestionDialog("Текущий список будет очищен. Продолжить?"))
                {
                    DocumentUoW.Root.ObservableItems.Clear();
                }
                else
                {
                    return;
                }
            }

            var template = DocumentUoW.GetById <RegradingOfGoodsTemplate>((e.Subject as RegradingOfGoodsTemplate).Id);

            foreach (var item in template.Items)
            {
                DocumentUoW.Root.AddItem(new RegradingOfGoodsDocumentItem()
                {
                    NomenclatureNew = item.NomenclatureNew,
                    NomenclatureOld = item.NomenclatureOld
                });
            }
            LoadStock();
        }
Ejemplo n.º 19
0
        protected void OnButtonRecalculateToBaseClicked(object sender, EventArgs e)
        {
            var track    = Vodovoz.Repository.Logistics.TrackRepository.GetTrackForRouteList(UoW, routeList.Id);
            var response = track.CalculateDistanceToBase();

            UoW.Save(track);
            UoW.Commit();
            UpdateDistanceLabel();

            trackToBaseOverlay.Clear();
            var decodedPoints = Polyline.DecodePolyline(response.RouteGeometry);
            var points        = decodedPoints.Select(p => new PointLatLng(p.Latitude * 0.1, p.Longitude * 0.1)).ToList();

            var route = new GMapRoute(points, "RouteToBase");

            route.Stroke           = new System.Drawing.Pen(System.Drawing.Color.Blue);
            route.Stroke.Width     = 4;
            route.Stroke.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid;

            tracksDistance.Add(MakeDistanceLayout(route));
            trackToBaseOverlay.Routes.Add(route);

            buttonRecalculateToBase.Sensitive = false;

            MessageDialogWorks.RunInfoDialog(String.Format("Расстояние от {0} до склада {1} км. Время в пути {2}.",
                                                           response.RouteSummary.StartPoint,
                                                           response.RouteSummary.TotalDistanceKm,
                                                           response.RouteSummary.TotalTime
                                                           ));
        }
Ejemplo n.º 20
0
        protected void OnButtonOkClicked(object sender, EventArgs e)
        {
            foreach (var emp in listEmployees)
            {
                if ((emp.FirstName == "" && emp.LastName == "" && emp.Patronymic == "") ||
                    (emp.FirstName == "-" && emp.LastName == "-" && emp.Patronymic == "-"))
                {
                    MessageDialogWorks.RunWarningDialog($"В списке присутствуют пустые строки. \n Сохранение невозможно.");
                    return;
                }
            }

            foreach (var emp in listEmployees)
            {
                if (emp.Id == 0)
                {
                    StatusEmployee st = listStatusEmployee.FirstOrDefault(x => x.Code == 1);
                    listNewEmployeeStatusHistory.Add(new EmployeeStatusHistory(emp, st));
                }
                UoW.Save(emp);
            }

            foreach (var stHis in listNewEmployeeStatusHistory)
            {
                UoW.Save(stHis);
            }

            UoW.Commit();
            this.Destroy();
        }
Ejemplo n.º 21
0
        protected void OnButtonCreateReportClicked(object sender, EventArgs e)
        {
            string errorString = string.Empty;

            if (radioDriver.Active && (dateperiodpicker.StartDateOrNull == null || evmeDriver.Subject == null))
            {
                errorString += "Не заполнена дата\n Не заполнен водитель\n";
            }

            if (radioCar.Active && (dateperiodpicker.StartDateOrNull == null | entityviewmodelentryCar.Subject == null))
            {
                errorString += "Не заполнена дата\n Не заполнен автомобиль\n";
            }

            if (radioSumm.Active && dateperiodpicker.StartDateOrNull == null)
            {
                errorString += "Не заполнена дата\n";
            }
            if (!string.IsNullOrWhiteSpace(errorString))
            {
                MessageDialogWorks.RunErrorDialog(errorString);
                return;
            }
            OnUpdate(true);
        }
Ejemplo n.º 22
0
        public override bool Save()
        {
            if (!UpdateReceivedItemsOnEntity())
            {
                return(false);
            }

            var valid = new QSValidation.QSValidator <CarUnloadDocument>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            Entity.LastEditor     = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW);
            Entity.LastEditedTime = DateTime.Now;
            if (Entity.LastEditor == null)
            {
                MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика.");
                return(false);
            }

            logger.Info("Сохраняем разгрузочный талон...");
            UoWGeneric.Save();
            logger.Info("Ok.");
            return(true);
        }
Ejemplo n.º 23
0
        public void UpdateNodes()
        {
            List <string> emptyDP = new List <string>();

            items = new List <RouteListKeepingItemNode>();
            foreach (var item in Entity.Addresses)
            {
                items.Add(new RouteListKeepingItemNode {
                    RouteListItem = item
                });
                if (item.Order.DeliveryPoint == null)
                {
                    emptyDP.Add(string.Format(
                                    "Для заказа {0} не определена точка доставки.",
                                    item.Order.Id));
                }
            }
            if (emptyDP.Count > 0)
            {
                string message = string.Join(Environment.NewLine, emptyDP);
                message += Environment.NewLine + "Необходимо добавить точки доставки или сохранить вышеуказанные заказы снова.";
                MessageDialogWorks.RunErrorDialog(message);
                FailInitialize = true;
                return;
            }
            items.ForEach(i => i.StatusChanged += RLI_StatusChanged);

            ytreeviewAddresses.ItemsDataSource = new GenericObservableList <RouteListKeepingItemNode>(items);
        }
Ejemplo n.º 24
0
 protected void OnButtonAddClicked(object sender, EventArgs e)
 {
     if (!String.IsNullOrWhiteSpace(textComment.Buffer.Text) || MessageDialogWorks.RunQuestionDialog("Вы не заполнили комментарий. Продолжить?"))
     {
         ServiceClaimStatus newStatus = (ServiceClaimStatus)(enumStatusEditable.SelectedItem ?? UoWGeneric.Root.Status);
         UoWGeneric.Root.AddHistoryRecord(newStatus, textComment.Buffer.Text, _employeeRepository);
     }
 }
Ejemplo n.º 25
0
		protected void OnButtonAddClicked (object sender, EventArgs e)
		{
			if (KeyExists ("new_parameter")) {
				MessageDialogWorks.RunWarningDialog ("Параметр с таким названием уже существует.");
				return;
			}
			parametersListStore.AppendValues ("new_parameter", "new_value");
		}
Ejemplo n.º 26
0
        public PriceLoadDlg(string filePath)
        {
            this.Build();

            TabName = "Загрузка прайса (Шаг 1)";

            try
            {
                using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
                {
                    wb = new XSSFWorkbook(fs);
                }
            }catch (IOException ex)
            {
                if (ex.HResult == -2147024864)
                {
                    MessageDialogWorks.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу.");
                    FailInitialize = true;
                    return;
                }
                throw ex;
            }

            var sheets = new List <string>();

            for (int s = 0; s < wb.NumberOfSheets; s++)
            {
                sheets.Add(wb.GetSheetName(s));
            }
            comboSheet.ItemsList = sheets;

            ytreeviewSetColumns.EnableGridLines  = Gtk.TreeViewGridLines.Both;
            ytreeviewSetColumns.HeadersClickable = true;
            SetColumnTypeMenu  = GtkMenuHelper.GenerateMenuFromEnum <ReadingXLSRow.ColumnType>(OnSetColumnHeaderMenuSelected);
            notebook1.ShowTabs = false;

            //Вкладка второго экрана
            ytreeviewParsing.ColumnsConfig = ColumnsConfigFactory.Create <ReadingXLSRow>()
                                             .AddColumn("Статус").Resizable().AddTextRenderer(x => x.Status.GetEnumTitle())
                                             .AddSetter((w, x) => w.Foreground = GetColorByStatus(x.Status))
                                             .AddColumn("Тип").Resizable().SetDataProperty(node => node.DispalyType)
                                             .AddColumn("Диаметр").Resizable().SetDataProperty(node => node.DispalyDiameter)
                                             .AddColumn("Давление").Resizable().SetDataProperty(node => node.DispalyPressure)
                                             .AddColumn("Cоединения").Resizable().SetDataProperty(node => node.DispalyConnection)
                                             .AddColumn("Материал").Resizable().SetDataProperty(node => node.DispalyMaterial)
                                             .AddColumn("Артикул").Resizable().SetDataProperty(node => node.DispalyModel)
                                             .AddColumn("Цена").Resizable().AddNumericRenderer(x => x.Price)
                                             .AddSetter((w, x) => w.Background = x.Price.HasValue ? "white" : "red")
                                             .AddColumn("DN(XLS)").Resizable().AddTextRenderer(x => x.DNText).Background("White Smoke")
                                             .AddColumn("PN(XLS)").Resizable().AddTextRenderer(x => x.PNText).Background("White Smoke")
                                             .AddColumn("Модель(XLS)").Resizable().AddTextRenderer(x => x.ModelText).Background("White Smoke")
                                             .AddColumn("Цена(XLS)").Resizable().AddTextRenderer(x => x.PriceText).Background("White Smoke")
                                             .Finish();
            ytreeviewParsing.EnableGridLines    = TreeViewGridLines.Both;
            ytreeviewParsing.Selection.Mode     = SelectionMode.Multiple;
            ytreeviewParsing.Selection.Changed += YtreeviewParsing_Selection_Changed;
            comboCurrency.ItemsEnum             = typeof(PriceСurrency);
        }
Ejemplo n.º 27
0
 protected void OnButtonCreateReportClicked(object sender, EventArgs e)
 {
     if (dateperiodpicker.StartDateOrNull == null)
     {
         MessageDialogWorks.RunErrorDialog("Необходимо выбрать дату");
         return;
     }
     OnUpdate(true);
 }
Ejemplo n.º 28
0
		void KeyEdited (object o, EditedArgs args)
		{
			TreeIter iter;
			if (KeyExists (args.NewText)) {
				MessageDialogWorks.RunWarningDialog ("Параметр с таким названием уже существует.");
				return;
			}
			parametersListStore.GetIter (out iter, new TreePath (args.Path));
			parametersListStore.SetValue (iter, 0, args.NewText);
		}
Ejemplo n.º 29
0
        protected void OnButtonRefreshClicked(object sender, EventArgs e)
        {
            bool hasChanges = items.Count(item => item.HasChanged) > 0;

            if (!hasChanges || MessageDialogWorks.RunQuestionDialog("Вы действительно хотите обновить список заказов? Внесенные изменения будут утрачены."))
            {
                UoWGeneric.Session.Refresh(Entity);
                UpdateNodes();
            }
        }
Ejemplo n.º 30
0
 private bool GetAuthor(out Employee cashier)
 {
     cashier = EmployeeRepository.GetEmployeeForCurrentUser(UoW);
     if (cashier == null)
     {
         MessageDialogWorks.RunErrorDialog(
             "Ваш пользователь не привязан к действующему сотруднику.");
         return(false);
     }
     return(true);
 }