Beispiel #1
0
        private void ApplyCurrentRouteToAll(object sender, RoutedEventArgs e)
        {
            if (grid.SelectedItems.Count > 0)
            {
                string current_route = (grid.SelectedItem as transfer_route).route;

                foreach (transfer_route item in grid.ItemsSource)
                {
                    item.route = current_route;

                    PostRequest<PostResult> post = new PostRequest<PostResult>(this.Dispatcher, "/Technology/Service.aspx/SaveRoute");
                    post.ProcessResponse += ProcessSavingRoute;
                    post.Perform(new SaveRoute_PROTO() { saved_route = item });
                }
            }
        }
        private void ChildWindow_Loaded(object sender, RoutedEventArgs e)
        {
            // load readiness
            LayoutRoot.IsBusy = true;
            ProductPn1.Text = product_pn1;

            PostRequest<transfer_techn_dates> post = new PostRequest<transfer_techn_dates>(this.Dispatcher, "/Technology/TechnDates.aspx/GetForProduct");
            post.ProcessResponse += new PostRequest<transfer_techn_dates>.ProcessResponseEvent(delegate(transfer_techn_dates dates)
            {
                this.techn_dates = dates;

                this.chkHimDate.IsChecked = dates.him_date.HasValue;
                this.chkSvarDate.IsChecked = dates.svar_date.HasValue;
                this.chkTechnDate.IsChecked = dates.techn_date.HasValue;

                LayoutRoot.IsBusy = false;
            });
            post.Perform(new GetDates_PROTO()
            {
                order_id = this.order_id,
                product_id = this.product_id,
            });
        }
Beispiel #3
0
        private void RequestAddMaterials(object sender, RoutedEventArgs e)
        {
            ShowGlobalMask("Загрузка дополнительных материалов...");

            PostRequest<List<transfer_add>> post = new PostRequest<List<transfer_add>>(this.Dispatcher, "/Technology/Service.aspx/RequestAddMaterials");
            post.ProcessResponse += this.ProcessAddMaterials;

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;
            post.Perform(string.Format("{{ 'prod_id': '{0}', 'order_id': '{1}' }}", urlparams["prodid"], urlparams.Keys.Contains("orderid") ? urlparams["orderid"] : Guid.Empty.ToString()));
        }
Beispiel #4
0
        private void insertFromBuffer(object sender, RoutedEventArgs e)
        {
            ShowGlobalMask("Вставка из буфера обмена...");

            PostRequest<List<transfer_add>> post = new PostRequest<List<transfer_add>>(this.Dispatcher, "/Technology/Buffer.aspx/Select");
            post.ProcessResponse += new PostRequest<List<transfer_add>>.ProcessResponseEvent(delegate(List<transfer_add> selected)
            {
                DataGrid dataGrid = (AddTabs.SelectedItem as TabItem).Content as DataGrid;
                var add_materials = dataGrid.ItemsSource as ObservableCollection<transfer_add>;

                foreach (var item in selected)
                {
                    item.UMs = _dicts.UMs;
                    item.Ss = _dicts.Ss;
                    item.STEs = _dicts.STEs;
                    add_materials.Add(item);
                    item.UpdateDicts();
                }
                HideGlobalMask();
            });
            post.ProcessError += new PostRequest<List<transfer_add>>.ProcessErrorEvent(delegate()
            {
                MessageBox.Show("Ошибка при вставке из буфера");
                HideGlobalMask();
            });

            post.Perform("{}");
        }
Beispiel #5
0
        private void copyToBuffer(object sender, RoutedEventArgs e)
        {
            ShowGlobalMask("Копирование в буфер обмена...");

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;

            PostRequest<PostResult> post = new PostRequest<PostResult>(this.Dispatcher, "/Technology/Buffer.aspx/Insert");
            post.ProcessResponse += new PostRequest<PostResult>.ProcessResponseEvent(delegate(PostResult result)
            {
                if (result.Opcode != 0)
                {
                    MessageBox.Show(result.Message);
                }
                HideGlobalMask();
            });
            post.ProcessError += new PostRequest<PostResult>.ProcessErrorEvent(delegate()
            {
                MessageBox.Show("Ошибка при копировании в буфер");
                HideGlobalMask();
            });

            DataGrid dataGrid = (AddTabs.SelectedItem as TabItem).Content as DataGrid;
            post.Perform(new BufferInsert_PROTO() { inserted = dataGrid.SelectedItems.Cast<transfer_add>().ToList() });
        }
Beispiel #6
0
        void selectionRoute_Closed(object sender, EventArgs e)
        {
            SelectionRoute selectionRoute = sender as SelectionRoute;
            if ((bool)selectionRoute.DialogResult)
            {
                this._edited_route.route = selectionRoute.ResultRoute;

                PostRequest<PostResult> post = new PostRequest<PostResult>(this.Dispatcher, "/Technology/Service.aspx/SaveRoute");
                post.ProcessResponse += ProcessSavingRoute;
                post.Perform(new SaveRoute_PROTO() { saved_route = this._edited_route });
            }
        }
Beispiel #7
0
        private void GetApplicability(object sender, RoutedEventArgs e)
        {
            PostRequest<List<transfer_appl>> post = new PostRequest<List<transfer_appl>>(this.Dispatcher, "/Technology/Service.aspx/GetApplicability");
            post.ProcessResponse += this.ProcessApplicability;

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;
            post.Perform(String.Format("{{ 'prodid': '{0}' }}", urlparams["prodid"]));
        }
Beispiel #8
0
        /*public void ProcessSaving(PostResult result)
        {
        }*/
        private void SaveAddMaterials(object sender, RoutedEventArgs e)
        {
            // проверяем установлено ли для всех дополнительных материалов
            // поле "Кто заполнил"
            DataGrid dataGrid = (AddTabs.SelectedItem as TabItem).Content as DataGrid;
            var add_materials = dataGrid.ItemsSource as ObservableCollection<transfer_add>;

            if (add_materials.Where(it => Guid.Empty.Equals(it.ste_id)).Count() > 0)
            {
                MessageBox.Show("Для сохранения необходимо заполнить все поля [Кто заполнил]!");
                return;
            }

            ShowGlobalMask("Сохранение...");

            Button button = sender as Button;
            int saveType = Convert.ToInt32(button.Tag as string);

            List<transfer_add> savedMaterials = new List<transfer_add>();

            foreach (var material in add_materials)
            {
                savedMaterials.Add(new transfer_add(material));
            }

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;

            PostRequest<PostResult> post = new PostRequest<PostResult>(this.Dispatcher, "/Technology/Service.aspx/SaveAddMaterials");
            post.ProcessResponse += new PostRequest<PostResult>.ProcessResponseEvent(delegate (PostResult result)
            {
                #region Process Response
                MessageBox.Show("Сохранение выполнено успешно");
                HideGlobalMask();

                // show modal window with list of orders
                // what use this _standart_ (none order) KMH card
                Guid order_id = urlparams.Keys.Contains("orderid") ? new Guid(urlparams["orderid"]) : Guid.Empty;
                if (saveType == 1 || saveType == 3)
                {
                    var speciality = TechnDatesSpeciality.Him;

                    if (add_materials == add_him_materials) speciality = TechnDatesSpeciality.Him;
                    else if (add_materials == add_svar_materials) speciality = TechnDatesSpeciality.Svar;
                    else if (add_materials == add_techn_materials) speciality = TechnDatesSpeciality.Techn;

                    KmhOrderApplicability ordersForm = new KmhOrderApplicability()
                    {
                        _dictNomenID = this._transfer.prod_id,
                        timeStamp = result.TimeStamp,
                        orderID = order_id,
                        speciality = speciality
                    };
                    ordersForm.Show();
                }

                if (_transfer.isprikaz && (saveType == 3 || saveType == 1))
                {
                    string uri = String.Format("/Technology/EditorKmh.aspx?prodid={0}", new Guid(urlparams["prodid"]));
                    HtmlPage.Window.Navigate(new Uri(uri, UriKind.RelativeOrAbsolute), "_newWindow");
                }
                #endregion
            });
            post.ProcessError += this.ProcessSavingError;

            Guid ste_id = Guid.Empty;
            if (add_materials == add_him_materials)
            {
                ste_id = new Guid("46A00C26-1768-4521-9A33-88336E65D50C");
            }
            else if (add_materials == add_svar_materials)
            {
                ste_id = new Guid("61931973-A5BD-40CD-92A6-FA802DE6CE6A");
            }
            else if (add_materials == add_techn_materials)
            {
                ste_id = new Guid("BCE12453-3AB9-4FCB-8FB3-4811A311B764");
            }
            else
            {
                return;
            }

            post.Perform(new SaveAddMaterials_PROTO()
            {
                list = savedMaterials,
                prodid = this._transfer.prod_id,
                saveType = saveType,
                order_id = urlparams.Keys.Contains("orderid") ? new Guid(urlparams["orderid"]) : Guid.Empty,
                ste_id = ste_id
            });
        }
Beispiel #9
0
 protected void DataBind(object sender, RoutedEventArgs e)
 {
     PostRequest<List<transfer_ware>> post = new PostRequest<List<transfer_ware>>(this.Dispatcher, "/Technology/Service.aspx/RequestListWares");
     post.ProcessResponse += this.ProcessListWares;
     post.Perform("{ }");
 }
Beispiel #10
0
        private void GenerateDatesForOrder(object sender, RoutedEventArgs e)
        {
            PostRequest<PostResult> post = new PostRequest<PostResult>(this.Dispatcher, "/Technology/TechnDates.aspx/GenerateForOrder");
            post.ProcessResponse += new PostRequest<PostResult>.ProcessResponseEvent(delegate (PostResult result)
                {

                });
            post.Perform(new GerenateDates_PROTO() {
                order_id = new Guid(dbg_order_id.Text),
                product_id = new Guid(dbg_product_id.Text),
                gen_date = DateTime.Now
            });
        }
Beispiel #11
0
        private void DataBind(object sender, RoutedEventArgs e)
        {
            PostRequest<List<transfer>> post = new PostRequest<List<transfer>>(this.Dispatcher, "/Technology/Service.aspx/GetTechConsist");
            post.ProcessResponse += this.ProcessListKmh;

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;
            post.Perform(string.Format("{{ 'prod_id': '{0}', 'order_id': '{1}' }}", urlparams["prodid"], urlparams.Keys.Contains("orderid") ? urlparams["orderid"] : Guid.Empty.ToString()));
        }
Beispiel #12
0
        protected void SyncColumnsToServerDB()
        {
            List<transfer_column> saving_columns = new List<transfer_column>();
            foreach (var metaColumn in this.columns)
            {
                var gridColumn = grid.Columns.Single(clm => String.Equals(clm.Header, metaColumn.Header));
                saving_columns.Add(new transfer_column()
                {
                    uid = new Guid(MD5CryptoServiceProvider.GetMd5String(metaColumn.Header)),
                    hidden = gridColumn.Visibility == Visibility.Visible ? false : true,
                    position = gridColumn.DisplayIndex,
                    width = (int)gridColumn.Width.DisplayValue
                });
            }

            PostRequest<PostResult> post = new PostRequest<PostResult>(this.Dispatcher, "/Technology/Service.aspx/SetColumns");
            post.Perform(new SET_COLUMNS_PROTO() { columns = saving_columns, ClassificationTreeId = new Guid("11110000-0000-0000-0000-000011110101") });
        }
Beispiel #13
0
        protected void ColumnsBind(object sender, RoutedEventArgs e)
        {
            //list.Add(new MetaColumn() { Header = "Уровень вхождения", Binding = "level" });

            columns.Add(new MetaColumn() { Header = "Обозначение узла", Binding = "unit_pn1" });
            columns.Add(new MetaColumn() { Header = "Наименование узла", Binding = "unit_pn2" });

            columns.Add(new MetaColumn() { Header = "Обозначение детали", Binding = "prod_pn1" });
            columns.Add(new MetaColumn() { Header = "Наименование детали", Binding = "prod_pn2" });

            columns.Add(new MetaColumn() { Header = "Позиция", Binding = "level" });
            columns.Add(new MetaColumn() { Header = "Кол-во деталей в узле по спецификации", Binding = "count" });
            //list.Add(new MetaColumn() { Header = "Единица измерения количества", Binding = "config.measure" });
            columns.Add(new MetaColumn() { Header = "Группа замены", Binding = "group_exchange" });
            columns.Add(new MetaColumn() { Header = "Главная замена", Binding = "number_exchange" });

            columns.Add(new MetaColumn() { Header = "Материал", Binding = "material" });
            columns.Add(new MetaColumn() { Header = "Вид поставки", Binding = "pvd" });
            columns.Add(new MetaColumn() { Header = "Маршрут", Binding = "route" });
            columns.Add(new MetaColumn() { Header = "Маршрут по применяемости", Binding = "route_changed", Booled = true });
            //list.Add(new MetaColumn() { Header = "Материал", Binding = "kmh.material" });
            columns.Add(new MetaColumn() { Header = "Форма заготовки", Binding = "sf" });
            columns.Add(new MetaColumn() { Header = "Размер заготовки", Binding = "ss" });
            columns.Add(new MetaColumn() { Header = "Кол-во деталей из заготовки", Binding = "sd" });
            columns.Add(new MetaColumn() { Header = "Масса штамповки", Binding = "stw" });
            columns.Add(new MetaColumn() { Header = "Масса заготовки", Binding = "sw" });
            columns.Add(new MetaColumn() { Header = "Размер поковки", Binding = "sp" });
            columns.Add(new MetaColumn() { Header = "Норма расхода", Binding = "no" });
            columns.Add(new MetaColumn() { Header = "Единица измерения нормы расхода", Binding = "um" });
            columns.Add(new MetaColumn() { Header = "Примечание", Binding = "cmt_ogt" });
            //list.Add(new MetaColumn() { Header = "Автор последнего изменения", Binding = "last_user" });
            columns.Add(new MetaColumn() { Header = "КМХ утв гл. технологом", Binding = "gotov_kmh", Booled = true });
            columns.Add(new MetaColumn() { Header = "КМХ утв гл. технологом (Дата)", Binding = "gotov_date" });
            //list.Add(new MetaColumn() { Header = "Дата последнего изменения", Binding = "date_update" });

            columns.Add(new MetaColumn() { Header = "Готовность технолога", Binding = "gotov_tech", Booled = true });
            columns.Add(new MetaColumn() { Header = "Готовность сварщика", Binding = "gotov_svar", Booled = true });
            columns.Add(new MetaColumn() { Header = "Готовность химика", Binding = "gotov_him", Booled = true });
            columns.Add(new MetaColumn() { Header = "Дата добавления", Binding = "added_date", Converter = new DateTimeConverter()});
            columns.Add(new MetaColumn() { Header = "Актуальность", Binding = "actual", Booled = true });
            columns.Add(new MetaColumn() { Header = "По приказу", Binding = "isprikaz", Booled = true });

            columns.Add(new MetaColumn() { Header = "Последние изменения (пользователь)", Binding = "last_change_user" });
            columns.Add(new MetaColumn() { Header = "Последние изменения (дата)", Binding = "last_change_date", Converter = new DateTimeConverter() });

            foreach (var metaColumn in columns)
            {
                metaColumn.Visible = true;

                if (metaColumn.Booled)
                {
                    grid.Columns.Add(new DataGridCheckBoxColumn()
                    {
                        Header = metaColumn.Header,
                        Binding = new Binding(metaColumn.Binding),
                        IsReadOnly = true
                    });
                }
                else
                {
                    grid.Columns.Add(new DataGridTextColumn()
                    {
                        Header = metaColumn.Header,
                        Binding = new Binding(metaColumn.Binding)
                        {
                            Converter = metaColumn.Converter
                        },
                        IsReadOnly = true
                    });
                }
            }

            // get setting from server DB
            PostRequest<List<transfer_column>> post = new PostRequest<List<transfer_column>>(this.Dispatcher, "/Technology/Service.aspx/GetColumns");
            post.ProcessResponse += delegate(List<transfer_column> list2)
            {
                foreach (var metaColumn in this.columns)
                {
                    var dbColumn = list2.Single(it => it.uid == new Guid(MD5CryptoServiceProvider.GetMd5String(metaColumn.Header)));
                    var gridColumn = grid.Columns.Single(clm => String.Equals(clm.Header, metaColumn.Header));
                    metaColumn.Visible = !dbColumn.hidden;
                    metaColumn.Width = dbColumn.width;
                    gridColumn.Width = new DataGridLength(dbColumn.width);
                    gridColumn.DisplayIndex = dbColumn.position;
                }
                SyncMetaColumnsToUserUI(false);
                //getting_columns = true;

                bw.DoWork += grid_ColumnWidthWorker;
                bw.RunWorkerAsync();

                grid.ColumnReordered += this.grid_ColumnDisplayIndexChanged;
                grid.LayoutUpdated += this.grid_LayoutUpdated;
            };
            post.Perform(new SET_COLUMNS_PROTO() { ClassificationTreeId = new Guid("11110000-0000-0000-0000-000011110101") });
        }
        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            // save readiness
            LayoutRoot.Content = "Сохранение готовностей...";
            LayoutRoot.IsBusy = true;

            if (chkHimDate.IsChecked.Value && !this.techn_dates.him_date.HasValue) this.techn_dates.him_date = this.current_date;
            if (chkSvarDate.IsChecked.Value && !this.techn_dates.svar_date.HasValue) this.techn_dates.svar_date = this.current_date;
            if (chkTechnDate.IsChecked.Value && !this.techn_dates.techn_date.HasValue) this.techn_dates.techn_date = this.current_date;

            if (!chkHimDate.IsChecked.Value && this.techn_dates.him_date.HasValue) this.techn_dates.him_date = null;
            if (!chkSvarDate.IsChecked.Value && this.techn_dates.svar_date.HasValue) this.techn_dates.svar_date = null;
            if (!chkTechnDate.IsChecked.Value && this.techn_dates.techn_date.HasValue) this.techn_dates.techn_date = null;

            PostRequest<PostResult> post = new PostRequest<PostResult>(this.Dispatcher, "/Technology/TechnDates.aspx/SaveForProduct");
            post.ProcessResponse += new PostRequest<PostResult>.ProcessResponseEvent(delegate(PostResult result)
            {
                LayoutRoot.IsBusy = false;
            });
            post.Perform(new SaveDates_PROTO()
            {
                order_id = this.order_id,
                product_id = this.product_id,
                dates = this.techn_dates
            });

            this.DialogResult = true;
        }
Beispiel #15
0
        private void RequestDicts(object sender, RoutedEventArgs e)
        {
            ShowGlobalMask("Загрузка словарей...");

            PostRequest<Dicts> post = new PostRequest<Dicts>(this.Dispatcher, "/Technology/Service.aspx/RequestDicts");
            post.ProcessResponse += this.ProcessDicts;
            post.ProcessError += this.ProcessDictsError;

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;
            post.Perform("{ 'dicts': 'pvd,um,sf,s,ste' }");
        }
Beispiel #16
0
        private void DataBind(object sender, RoutedEventArgs e)
        {
            PostRequest<List<transfer_route>> post = new PostRequest<List<transfer_route>>(this.Dispatcher, "/Technology/Service.aspx/RequestAllRoutes");
            post.ProcessResponse += this.ProcessListRoutes;

            post.Perform(string.Format("{{ 'prod_id': '{0}' }}", _prod_id));
        }
Beispiel #17
0
        private void RequestKmhCard(object sender, RoutedEventArgs e)
        {
            ShowGlobalMask("Загрузка КМХ...");

            PostRequest<transfer> post = new PostRequest<transfer>(this.Dispatcher, "/Technology/Service.aspx/RequestKmhCard");
            post.ProcessResponse += this.ProcessKmhCard;
            post.ProcessError += this.ProcessKmhCardError;

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;
            post.Perform(string.Format("{{ 'prod_id': '{0}', 'order_id': '{1}' }}", urlparams["prodid"], urlparams.Keys.Contains("orderid") ? urlparams["orderid"] : Guid.Empty.ToString()));
        }
Beispiel #18
0
        private void RequestDicts(object sender, RoutedEventArgs e)
        {
            PostRequest<Dicts> post = new PostRequest<Dicts>(this.Dispatcher, "/Technology/Service.aspx/RequestDicts");
            post.ProcessResponse += this.ProcessDicts;

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;
            post.Perform("{ 'dicts': 's' }");
        }
Beispiel #19
0
        private void SaveKmhCard(object sender, RoutedEventArgs e)
        {
            Button button = sender as Button;
            int saveType = Convert.ToInt32(button.Tag as string);

            ShowGlobalMask("Сохранение...");

            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;
            PostRequest<PostResult> post = new PostRequest<PostResult>(this.Dispatcher, "/Technology/Service.aspx/SaveKmhCard");
            post.ProcessResponse += new PostRequest<PostResult>.ProcessResponseEvent(delegate (PostResult result)
                {
                    #region Process Response
                    MessageBox.Show("Сохранение выполнено успешно");
                    HideGlobalMask();

                    // show modal window with list of orders
                    // what use this _standart_ (none order) KMH card
                    Guid order_id = urlparams.Keys.Contains("orderid") ? new Guid(urlparams["orderid"]) : Guid.Empty;
                    if (saveType == 1 || saveType == 3)
                    {
                        KmhOrderApplicability ordersForm = new KmhOrderApplicability();
                        ordersForm._dictNomenID = this._transfer.prod_id;
                        ordersForm.timeStamp = result.TimeStamp;
                        ordersForm.orderID = order_id;
                        ordersForm.Show();
                    }

                    if (_transfer.isprikaz && (saveType == 3 || saveType == 1))
                    {
                        string uri = String.Format("/Technology/EditorKmh.aspx?prodid={0}", new Guid(urlparams["prodid"]));
                        HtmlPage.Window.Navigate(new Uri(uri, UriKind.RelativeOrAbsolute), "_newWindow");
                    }
                    #endregion
                });
            post.ProcessError += this.ProcessSavingError;

            post.Perform(new SaveKmhCard_PROTO()
            {
                card = this._transfer,
                saveType = saveType,
                order_id = urlparams.Keys.Contains("orderid") ? new Guid(urlparams["orderid"]) : Guid.Empty
            });
        }
Beispiel #20
0
        private void ConnectToDataSource()
        {
            IDictionary<string, string> urlparams = HtmlPage.Document.QueryString;
            PostRequest<UniTransfer> post = new PostRequest<UniTransfer>(this.Dispatcher, urlparams["data"].Substring(0, urlparams["data"].IndexOf('?')));
            post.ProcessResponse += new PostRequest<UniTransfer>.ProcessResponseEvent(delegate(UniTransfer result)
                {
                    ShowGlobalMask("Распаковка данных...");

                    BindColumns(result.columns);

                    IList<IDictionary> source = new List<IDictionary>();
                    foreach (var row in result.rows)
                    {
                        var cells = new Dictionary<string, object>();

                        foreach (var column in result.columns)
                        {
                            if (column.uniType == UniColumn.UniType.Decimal)
                            {
                                cells[column.dataBind] = Convert.ToDecimal(row[result.columns.IndexOf(column)], CultureInfo.InvariantCulture);
                            }
                            else
                            {
                                cells[column.dataBind] = row[result.columns.IndexOf(column)];
                            }
                        }

                        (source as List<IDictionary>).Add(cells);
                    }

                    if (source.Count() > 0)
                    {
                        grid.FilteredItemsSource = source.ToArray().ToDataSource();
                    }

                    HideGlobalMask();
                });
            post.ProcessError += new PostRequest<UniTransfer>.ProcessErrorEvent(delegate()
                {
                });

            string dataUrl = urlparams["data"];
            string dataParams = dataUrl.Substring(dataUrl.IndexOf('?')+1);
            string innerParams = "";

            foreach (var param in dataParams.Split('&').Where(i => !String.IsNullOrEmpty(i)))
            {
                innerParams += string.Format("'{0}': '{1}',", param.Split('=').First(), param.Split('=').Last());
            }

            post.Perform(string.Format("{{ {0} }}", innerParams.Substring(0, innerParams.Length - 1)));
            ShowGlobalMask("Загрузка данных...");
        }