void SaveBtnClick(object sender, EventArgs e) { grid.GetFromUI(); var data = grid.CurrentData.Data; using (var context = new TransactionContext()) { foreach (var row in data.Rows) { var refObj = new GoodsReferencePrice(); refObj.Goods_ID = (long)row["ID"]; refObj.ReferencePrice = (decimal?)row["ReferencePrice"]; refObj.Remark = (string)row["Remark"]; if (refObj.ReferencePrice == null) { DeleteConfigIfExist(refObj.Goods_ID, context.Session); } else { context.Session.AddInsertOrUpdate(refObj); } } context.Commit(); } AspUtil.Alert(this, "保存成功"); grid.DataBind(); }
private void AddModelAction(ButtonGroup buttonGroup) { buttonGroup.Actions.Add(new SimpleServerAction("模板", () => true, delegate { string url = "~/B3Butchery/Bills/ProductInStore_Temp_/ProductInStore_TempEdit.aspx"; AspUtil.Redirect(url); })); }
private void CreateOutputDetailPanel(VLayoutPanel vPanel) { var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left)); hPanel.Add(new LiteralControl("<h2>明细清单:</h2>")); if (CanSave) { hPanel.Add(new TSButton("载入明细")).Click += delegate { GetFromUI(); Dmo.Details.Clear(); AddLoadDetailQy(); outputDetailGrid.DataBind(); AspUtil.Alert(this, "载入投入明细成功"); }; hPanel.Add(new SimpleLabel("选择存货")); var selectEmp = hPanel.Add(new ChoiceBox(B3UnitedInfosConsts.DataSources.存货) { Width = Unit.Pixel(130), EnableInputArgument = true, AutoPostBack = true }); selectEmp.SelectedValueChanged += delegate { outputDetailGrid.GetFromUI(); if (!selectEmp.IsEmpty) { var empID = long.Parse(selectEmp.Value); if (!Dmo.Details.Any(x => x.Goods_ID == empID)) { var d = new ProduceInput_Detail() { Goods_ID = empID }; DmoUtil.RefreshDependency(d, "Goods_ID"); Dmo.Details.Add(d); } } selectEmp.Clear(); outputDetailGrid.DataBind(); }; } var detailEditor = new DFCollectionEditor <ProduceInput_Detail>(() => Dmo.Details) { AllowDeletionFunc = () => CanSave, CanDeleteFunc = detail => CanSave, IsEditableFunc = (field, detail) => CanSave }; outputDetailGrid = vPanel.Add(new DFEditGrid(detailEditor) { Width = Unit.Percentage(100) }); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); AddDetailColumn(outputDetailGrid); }
protected override void BuildBody(Control container) { var layoutManager = new LayoutManager("main", mDFInfo, mDFContainer); var config = new AutoLayoutConfig(); config.Add("Date"); config.Add("EndDate"); config.Add("AccountingUnit_ID"); config.Add("Department_ID"); config.Add("Employee_ID"); config.Add("PlanNumber"); config.Add("ProductType"); layoutManager.Config = config; container.Controls.Add(layoutManager.CreateLayout()); var planNumberPanel = new HLayoutPanel(); container.Controls.Add(planNumberPanel); planNumberButton = new TSButton(); planNumberPanel.Add(planNumberButton).Click += delegate { if (Dmo.BillState == 单据状态.已审核 && !string.IsNullOrEmpty(Dmo.PlanNumber)) { using (var context = new TransactionContext()) { var update = new DQUpdateDom(typeof(ProductPlan)); update.Where.Conditions.Add(DQCondition.EQ("PlanNumber", Dmo.PlanNumber)); update.Columns.Add(new DQUpdateColumn("PlanNumbers", true)); context.Session.ExecuteNonQuery(update); context.Commit(); } Dmo.PlanNumbers = true; mBL.Update(Dmo); } AspUtil.RedirectAndAlert(this, Request.RawUrl, "计划号关闭成功"); }; var vPanel = container.EAdd(new VLayoutPanel()); CreateInputDetailPanel(vPanel); CreateOutputDetailPanel(vPanel); }
private void AddCopyAndPaste(HLayoutPanel toobar) { toobar.Add(new TSButton("复制", delegate { GoodsDetailSummaryClipboardUtil.Copy(Dmo.Details.Select(item => (GoodsDetailSummaryBase)item).ToList()); AspUtil.Alert(this, "复制成功!"); })); if (CanSave) { toobar.Add(new TSButton("粘贴", delegate { var list = GoodsDetailSummaryClipboardUtil.Paste <ProductNotice_Detail>(); foreach (var detail in list) { DmoUtil.RefreshDependency(detail, "Goods_ID"); Dmo.Details.Add(detail); } _detailGrid.DataBind(); })); } }
public MultiLang(Page currentPage, bool fast, string basicHostName, List <KeyValuePair <string, string> > replaceList) { this.Page = currentPage; this.Request = Page.Request; this.Response = Page.Response; this.BasicHostName = basicHostName; string tmp = Page.Request.ServerVariables["HTTPS"]; string hostRaw = Page.Request.Headers["Host"]; this.ReplaceList = replaceList; bool isSsl = false; string[] tokens; string host = ""; tokens = hostRaw.Split(':'); if (tokens.Length >= 1) { host = tokens[0]; } host = host.ToLower(); if (tmp != null) { if (tmp.Equals("on", StringComparison.InvariantCultureIgnoreCase)) { isSsl = true; } } this.IsSSL = isSsl; this.Host = host; this.IsUrlModified = Str.StrToBool((string)Request.Headers["SEISAPI_MODIFIED_URL"]); this.OriginalUrl = (string)Request.Headers["SEISAPI_ORIGINAL_URL"]; int i; i = this.OriginalUrl.IndexOf("?"); if (i != -1) { this.OriginalUrl = this.OriginalUrl.Substring(0, i); } if (Str.IsEmptyStr(this.OriginalUrl) || this.IsUrlModified == false) { this.OriginalUrl = AspUtil.RemoveDefaultHtml(AspUtil.GetCurrentRequestUrl(Page)); } string s = (string)Request.Headers["SEISAPI_ORIGINAL_FILENAME"]; if (Str.IsEmptyStr(s) == false) { this.IsFilenameModified = true; this.OriginalFileName = s; this.OriginalFilePath = (string)Request.Headers["SEISAPI_ORIGINAL_FILEPATH"]; } string langCode = GetCurrentLangCodeFromPath(this.OriginalUrl); this.CurrentLanguage = CoreLanguageList.GetLanguageClassByName(langCode); this.CurrentLanguageCode = CurrentLanguage.Name; try { HtmlFileName = AspUtil.WebPathToFilePath(currentPage, AspUtil.GetCurrentRequestUrl(currentPage)); } catch { } if (this.IsFilenameModified) { HtmlFileName = Path.Combine(Path.GetDirectoryName(HtmlFileName), Path.GetFileName(OriginalFilePath)); } try { if (fast == false) { HtmlBody = File.ReadAllText(HtmlFileName, Str.Utf8Encoding); } } catch { } PhysicalUrl = AspUtil.RemoveDefaultHtml(AspUtil.GetCurrentRequestUrl((currentPage))); Args = currentPage.Request.ServerVariables["QUERY_STRING"]; if (CurrentLanguage == CoreLanguageList.Japanese) { IsCurrentLanguageSupported = true; } else { IsCurrentLanguageSupported = Str.SearchStr(HtmlBody, string.Format("<!-- ml:{0} -->", CurrentLanguage.Name), 0, false) != -1; } GoogleTranslateUrl = string.Format("http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=ja&tl={1}&u={0}", HttpUtility.UrlEncode((isSsl ? "https://" : "http://") + host + this.OriginalUrl, Str.Utf8Encoding), this.CurrentLanguageCode); OriginalFullUrl = (isSsl ? "https://" : "http://") + host + this.OriginalUrl; ContentsPrintLanguage = this.CurrentLanguage; if (IsCurrentLanguageSupported == false) { ContentsPrintLanguage = CoreLanguageList.Japanese; } if (fast == false) { mfs = new MultiLanguageFilterStream(Response.Filter, ContentsPrintLanguage, this.CurrentLanguage, this.BasicHostName, this.ReplaceList); mfs.Page = Page; Response.Filter = mfs; } }
protected override void InitToolBar(HLayoutPanel toolbar) { base.InitToolBar(toolbar); if (User.IsInRole("B3Butchery.报表.生产通知分析")) { var dataAnysBtn = new TSButton() { Text = "数据分析", UseSubmitBehavior = false }; dataAnysBtn.OnClientClick = string.Format("OpenUrlInTopTab('{0}','生产通知分析');return false;", WpfPageUrl.ToGlobal(AspUtil.AddTimeStampToUrl("~/B3Butchery/Reports/ProductNoticeReport_/ProductNoticeReport.aspx"))); toolbar.Add(dataAnysBtn); } }
private void CreateOutputDetailPanel(VLayoutPanel vPanel) { var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left)); hPanel.Add(new LiteralControl("<h2>明细清单:</h2>")); if (CanSave) { hPanel.Add(new TSButton("载入明细")).Click += delegate { GetFromUI(); Dmo.Details.Clear(); AddLoadDetailQy(Dmo); outputDetailGrid.DataBind(); AspUtil.Alert(this, "载入产出明细成功"); }; hPanel.Add(new SimpleLabel("选择存货")); var selectEmp = hPanel.Add(new ChoiceBox(B3UnitedInfosConsts.DataSources.存货) { Width = Unit.Pixel(130), EnableInputArgument = true, AutoPostBack = true }); selectEmp.SelectedValueChanged += delegate { outputDetailGrid.GetFromUI(); if (!selectEmp.IsEmpty) { var empID = long.Parse(selectEmp.Value); if (!Dmo.Details.Any(x => x.Goods_ID == empID)) { var d = new ProduceOutput_Detail() { Goods_ID = empID }; DmoUtil.RefreshDependency(d, "Goods_ID"); Dmo.Details.Add(d); } } selectEmp.Clear(); outputDetailGrid.DataBind(); }; } var detailEditor = new DFCollectionEditor <ProduceOutput_Detail>(() => Dmo.Details); detailEditor.AllowDeletionFunc = () => CanSave; detailEditor.CanDeleteFunc = (detail) => CanSave; detailEditor.IsEditableFunc = (field, detail) => CanSave; outputDetailGrid = vPanel.Add(new DFEditGrid(detailEditor) { Width = Unit.Percentage(100) }); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); foreach (var ioc in TypeIOCCenter.GetIOCList <IOCs.BeforeDetailGridApplyLayout>(this.GetType())) { //仙坛添加数据 ioc.Invoke(outputDetailGrid); } outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Number")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("SecondNumber")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("SecondNumber2")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit2")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark")); outputDetailGrid.ValueColumns.Add("Goods_UnitConvertDirection"); outputDetailGrid.ValueColumns.Add("Goods_MainUnitRatio"); outputDetailGrid.ValueColumns.Add("Goods_SecondUnitRatio"); new Main_Second_ConvertRatioRowManager(outputDetailGrid, "Number", "SecondNumber", "SecondNumber2"); }
private void CreateDetailPanel(TitlePanel titlePanel) { var hPanel = titlePanel.EAdd(new HLayoutPanel()); hPanel.Add(new LiteralControl("<h2>入库清单:</h2>")); AddToolsBar(hPanel); hPanel.Add(new TSButton("复制", delegate { GoodsDetailSummaryClipboardUtil.Copy(Dmo.Details.Select((item) => (GoodsDetailSummaryBase)item).ToList()); AspUtil.Alert(this, "复制成功"); })); if (CanSave) { hPanel.Add(new TSButton("粘贴", delegate { var list = GoodsDetailSummaryClipboardUtil.Paste <ProductInStore_Detail>(); foreach (var detail in list) { Dmo.Details.Add(detail); DmoUtil.RefreshDependency(detail, "Goods_ID"); } detailGrid.DataBind(); })); } if (CanSave) { if (EnableAddSameCargoSpace) { AddSameCargoSpace(hPanel); } } var detailGridEditor = new DFCollectionEditor <ProductInStore_Detail>(() => Dmo.Details); detailGridEditor.AllowDeletionFunc = () => CanSave; detailGridEditor.CanDeleteFunc = (detail) => CanSave; detailGridEditor.IsEditableFunc = (field, detail) => { switch (field.Name) { case "GoodsBatch_ID": return(GoodsUtil.EnableBatch(detail.Goods_ID, detail.GoodsProperty_ID) && CanSave); case "Money": return(false); case "SecondNumber": var hasSecondUnit = !string.IsNullOrEmpty(detail.Goods_SecondUnit); return(CanSave && hasSecondUnit); } return(CanSave); }; detailGrid = titlePanel.EAdd(new DFEditGrid(detailGridEditor) { Width = Unit.Percentage(100), ShowLineNo = true }); mDFContainer.AddNonDFControl(detailGrid, "$DetailGrid"); detailGrid.NextRowOnEnter = true; detailGrid.LastRowOnDown = "__DFContainer.getControl('$SelectGoods').behind.focus();"; if (GlobalFlags.get(B3UnitedInfosConsts.GlobalFlags.库存支持品牌项)) { detailGrid.Columns.Add(new DFEditGridColumn("BrandItem_ID")); } detailGrid.Columns.Add(new DFEditGridColumn("ProductionDate")); var productPlanCol = new DFEditGridColumn <DFChoiceBox>("ProductPlan_ID"); productPlanCol.InitEditControl += delegate(object sender, InitEditControlEventArgs <DFChoiceBox> e) { e.Control.DataKind = B3ButcheryDataSource.计划号; e.Control.DFDisplayField = "ProductPlan_Name"; e.Control.EnableInputArgument = true; e.Control.EnableTopItem = true; e.Control.Width = Unit.Pixel(120); }; detailGrid.Columns.Add(productPlanCol); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); var script = @" var id =parseInt(this.front.value); simpleRestCall('/MainSystem/B3Butchery/Rpcs/GoodsBatchRpc/Get', [id,['ProductionDate']], function(result,dfContainer){ dfContainer.setValue('ProductionDate',getDateTime(result.ProductionDate)); },{context:this.dfContainer});"; detailGrid.Columns.EAdd(new DFEditGridColumn <DFChoiceBox>("GoodsBatch_ID")).InitEditControl += (sender, e) => { e.Control.EnableTopItem = true; e.Control.OnBeforeDrop = "this.codeArgument = dfContainer.getValue('Goods_ID');this.dialogArguments='Goods_ID=' + this.codeArgument+'&TaxRate='+dfContainer.getValue('TaxRate')+'&TmpTaxRate='+dfContainer.getValue('TmpTaxRate')"; e.Control.DataKind = B3UnitedInfosConsts.DataSources.存货批次; e.Control.DFDisplayField = "GoodsBatch_Name"; e.Control.DialogUrl = WpfPageUrl.ToGlobal("~/B3Butchery/Dialogs/GoodsBatchEdit.aspx?IsNewDialog=1"); e.Control.OnClientSelected = script; e.Control.Width = Unit.Pixel(160); }; detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec")); var cargoSpaceColumn = detailGrid.Columns.EAdd(new DFEditGridColumn <DFChoiceBox>("CargoSpace_ID")); cargoSpaceColumn.InitEditControl += (sender, e) => { e.Control.EnableTopItem = true; e.Control.OnBeforeDrop = "this.codeArgument = __DFContainer.getValue('Store_ID');"; e.Control.DataKind = B3FrameworksConsts.DataSources.货位; e.Control.DFDisplayField = "CargoSpace_Name"; e.Control.Width = Unit.Pixel(160); }; detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("Number")).SumMode = SumMode.Sum; detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit")); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit")); detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("SecondNumber")).SumMode = SumMode.Sum; if (CheckDefaultRole("隐藏单价")) { detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Price")); } AddColumn(detailGrid); if (CheckDefaultRole("隐藏单价")) { detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("Money")).SumMode = SumMode.Sum; } detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark")); detailGrid.ValueColumns.Add("Goods_ID"); detailGrid.ValueColumns.Add("Goods_UnitConvertDirection"); detailGrid.ValueColumns.Add("Goods_MainUnitRatio"); detailGrid.ValueColumns.Add("Goods_SecondUnitRatio"); new MainToSecondConvertRowManger(detailGrid); var section = mPageLayoutManager.AddSection("DetailColumns", "明细列"); section.ApplyLayout(detailGrid, mPageLayoutManager, DFInfo.Get(typeof(ProductInStore_Detail))); titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name); }