/// <summary> /// Отправка клиенту скрипта с изменениями контрола /// </summary> public virtual void Flush() { if (PropertyChanged.Contains("Visible")) { JS.Write("if(gi('{0}')) gi('{0}').style.display='{1}';", HtmlID, Visible ? DisplayStyle : "none"); JS.Write("if (gi('{0}_cptn')) gi('{0}_cptn').style.display='{1}';", HtmlID, Visible ? DisplayCaptionStyle : "none"); } if (RefreshRequired) { V4Page.RefreshHtmlBlock(HtmlID, RenderControl); V4Page.RefreshHtmlBlock(HtmlID + "_ntf", RenderNtf); return; } if (PropertyChanged.Contains("IsReadOnly") || PropertyChanged.Contains("IsDisabled")) { V4Page.RefreshHtmlBlock(HtmlID, RenderControl); return; } if (OnRenderNtf != null && PropertyChanged.Contains("Ntf")) { V4Page.RefreshHtmlBlock(HtmlID + "_ntf", RenderNtf); } if (PropertyChanged.Contains("Caption")) { JS.Write("if(gi('{0}_cptn')) gi('{0}_cptn').innerHTML='{1}';", HtmlID, Caption); } }
public override void ProcessCommand(NameValueCollection collection) { if (collection["v"] != null) { Like = Convert.ToInt32(collection["v"]); var sqlParams = new Dictionary <string, object> { { "@КодИдентификатораОценки", LikeId }, { "@Оценка", Like } }; try { DBManager.ExecuteNonQuery(SQLQueries.INSERT_ОценкиИнтерфейса, CommandType.Text, Config.DS_errors, sqlParams); } catch (Exception e) { V4Page.ShowMessage(e.Message, Resx.GetString("errDoisserWarrning"), MessageStatus.Error); Logger.WriteEx(new DetailedException("Ошибка при установке оценки!", e)); } GetStatus(); JS.Write("$('#{0}').attr('src','/Styles/{1}.png');", HtmlID + "_L", Like > 0 ? "like" : "like_off"); JS.Write("gi('{0}').innerHTML = '{1}';", "spL_" + HtmlID, Like > 0 ? Like.ToString() : ""); JS.Write("$('#{0}').attr('src','/Styles/{1}.png');", HtmlID + "_D", Like < 0 ? "dislike" : "dislike_off"); JS.Write("gi('{0}').innerHTML = '{1}';", "spR_" + HtmlID, Like < 0 ? (-Like).ToString() : ""); } else { base.ProcessCommand(collection); } }
/// <summary> /// Обработка клиентских команд /// </summary> /// <param name="param"></param> public void ProcessClientCommand(NameValueCollection param) { switch (param["cmdName"]) { case "RefreshGridData": RefreshData(); break; case "OpenLinkedDoc": _currentRadioCtrl.Value = "0"; _currentRadioCtrl.Flush(); _currentDbSelectCtrl.Value = null; _currentDbSelectCtrl.IsDisabled = true; JS.Write("dialogShow('{0}', '{1}');", Resx.GetString("title"), LinkedDocCmdListnerIndex); break; case "OK": if (_type == "") { V4Page.ShowMessage($"{V4Page.Resx.GetString("LinkedDocs_lbl_УкажитеТип")}", _currentTypeSelectCtrl, V4Page.Resx.GetString("CONFIRM_StdTitle")); return; } var url = ""; var bAdd = _currentRadioCtrl.Value == "0"; var dtp = new DocType(_type); if (bAdd) { // создаем новый документ url = dtp.URL + (dtp.URL.IndexOf("?", StringComparison.Ordinal) > 0 ? "&" : "?") + "DocId=" + V4Page.Doc.Id + "&fieldId=" + _field; } else { // связываем существующий документ url = dtp.URL + (dtp.URL.IndexOf("?", StringComparison.Ordinal) > 0 ? "&" : "?") + "DocId=" + V4Page.Doc.Id + "&Id=" + _currentDbSelectCtrl.Value + "&fieldId=" + _field; } if (url != "") { JS.Write("dialogShow.form.dialog('close');"); JS.Write($"win=Kesco.windowOpen('{HttpUtility.JavaScriptStringEncode(url)}', null, null, 'docId' );"); } _currentTypeSelectCtrl.Value = ""; SetDefaultLinkedDocType(); break; } }
/// <summary> /// Валидация значения контрола /// </summary> /// <returns>Результат валидации</returns> public override bool Validation() { if (!base.Validation()) { return(false); } if (!string.IsNullOrEmpty(RegEx) && !string.IsNullOrEmpty(Value) && !Regex.IsMatch(Value, RegEx)) { V4Page.ShowMessage(ValidationMessage); Focus(); return(false); } return(true); }
/// <summary> /// Получение по ID /// </summary> /// <param name="id">ID</param> /// <param name="name">Наименование сущности</param> /// <returns>сущность</returns> public override object GetObjectById(string id, string name = "") { if (!string.IsNullOrEmpty(name)) { return new CashFlowType { Id = id, Name = name } } ; var obj = V4Page.GetObjectById(typeof(CashFlowType), id) as CashFlowType; return(obj); } }
/// <summary> /// Получение Единица измерения по ID /// </summary> /// <param name="id">ID</param> /// <param name="name">Наименование сущности</param> /// <returns>Единица измерения</returns> public override object GetObjectById(string id, string name = "") { if (!string.IsNullOrEmpty(name)) { return new Unit { Id = id, Name = name } } ; var obj = V4Page.GetObjectById(typeof(Unit), id) as Unit; return(obj); } }
/// <summary> /// Обновление списка документов /// </summary> public void RefreshData() { var w = new StringWriter(); RenderLinkedDocsInfo(w); V4Page.JS.Write("$('#{0}').html('{1}');v4_setSizeFormContainer();", ID, HttpUtility.JavaScriptStringEncode(w.ToString())); V4Page.JS.Write(@"lb_clientLocalization = {{ ok_button:""{0}"", cancel_button:""{1}"" }};", Resx.GetString("cmdApply"), Resx.GetString("cmdCancel") ); V4Page.RestoreCursor(); }
/// <summary> /// Обновление контрола /// </summary> public void Refresh() { V4Page.RefreshHtmlBlock(ID, RenderControlBody); }
/// <summary> /// Отрисовка нотификации контрола /// </summary> /// <param name="w">Поток</param> public virtual void RenderNtf(TextWriter w) { V4Page?.RenderNtf(w, _ntf.List); }
/// <summary> /// Отрисовка списка документов /// </summary> /// <param name="w"></param> /// <param name="dt"></param> /// <param name="_title"></param> /// <param name="_oneTitle"></param> /// <param name="_type"></param> /// <param name="_linkType"></param> /// <param name="fieldId"></param> /// <param name="field"></param> /// <param name="fieldEn"></param> private void RenderLinkedDocsInfoDetails(TextWriter w, DataTable dt, string _title, string _oneTitle, string _type, string _linkType, string fieldId, string field, string fieldEn) { var dvSys = new DataView(); dvSys.Table = dt; var dv = new DataView(); dv.Table = dt; dv.Sort = "КодРесурса1, ДатаДокумента"; if (dv.Count == 0) { return; } Document d = null; //Currency cur = null; var curSml = " "; var curScale = 2; decimal sum = 0; var dtp = V4Page.GetObjectById(typeof(DocType), _type) as DocType; if (!dtp.Unavailable) { w.Write("<table border=0 style='BORDER-COLLAPSE:collapse;'>"); w.Write("<tr>"); w.Write("<td {0}>", dv.Count == 0 ? "style=\"padding-bottom:15px;\"" : ""); w.Write(" \"" + (V4Page.IsRusLocal ? dtp.Name : dtp.TypeDocEn) + "\""); w.Write(" (" + Resx.GetString("LBL_ПоПолю") + " \"" + (V4Page.IsRusLocal ? field : fieldEn) + "\")"); w.Write(":</td>"); w.Write("</tr>"); w.Write("</table>"); } w.Write("<table border=0 style='BORDER-COLLAPSE:collapse;padding-bottom:15px;'>"); for (var i = 0; i < dv.Count; i++) { d = V4Page.GetObjectById(typeof(Document), dv[i]["КодДокумента"].ToString()) as Document; if (d.Unavailable) { continue; } var res = d.DocumentData.ResourceId1; if (res.HasValue && res > 0) { //todo //cur = Currency.GetCurrency(res.Value); //cur._PersonID = doc._Person1; //if (cur.Unavailable || cur.ParentOf(V2.Resources.Resource._Money)) curSml = " "; //else //{ // curSml = cur.CurrencySymbol; // curScale = int.Parse(cur._UnitScale); //} } else { curSml = " "; } w.Write("<tr>"); w.Write("<td style='PADDING-LEFT:10px;' valign='top'>"); V4Page.RenderLinkDoc(w, d.Id); w.Write("<img src='/styles/DocMain.gif' border=0>"); V4Page.RenderLinkEnd(w); w.Write("</td>"); w.Write("<td noWrap valign='top'>"); V4Page.RenderLinkDoc(w, d.Id); w.Write(d.Number.Length > 0 ? Resx.GetString("lN") + " " + d.Number + " " : ""); if (d.Date != DateTime.MinValue) { w.Write(Resx.GetString("lD") + " " + d.Date.ToString("dd.MM.yyyy")); } V4Page.RenderLinkEnd(w); w.Write("</td>"); w.Write("<td noWrap valign='top'style='PADDING-LEFT:5px;'>"); if (d.Finished) { w.Write(Resx.GetString("listComplete")); } else if (d.Signed) { w.Write(Resx.GetString("listSigned")); } else { w.Write(Resx.GetString("listNotSigned")); } w.Write("</td>"); w.Write("<td align='right' noWrap valign='top' style='PADDING-LEFT:5px;'>"); if (d.DocumentData.Money1.HasValue && d.DocumentData.Money1 > 0) { V4Page.RenderNumber(w, d.DocumentData.Money1.Value.ToString(), curScale); } else { w.Write(" "); } w.Write("</td>"); w.Write("<td valign='top'>"); w.Write(curSml); w.Write("</td>"); w.Write("<td valign='top' style='PADDING-LEFT:5px;'>"); w.Write(d.Description.Length == 0 ? " " : d.Description); w.Write("</td>"); w.Write("</tr>"); if (!dv[i]["КодРесурса1"].Equals(DBNull.Value) && (i < dv.Count - 1 && !dv[i + 1]["КодРесурса1"].Equals(dv[i]["КодРесурса1"]) || i == dv.Count - 1)) { dvSys.RowFilter = "КодРесурса1=" + dv[i]["КодРесурса1"]; if (dvSys.Count > 1) { sum = System.Convert.ToDecimal(dt.Compute("SUM(Money1)", "КодРесурса1=" + dv[i]["КодРесурса1"])); w.Write("<tr>"); w.Write("<td colspan=3 align='right'>"); w.Write(Resx.GetString("listTotal") + ":"); w.Write("</td>"); w.Write("<td align='right' noWrap style='PADDING-LEFT:5px;'>"); V4Page.RenderNumber(w, Convert.Decimal2Str(sum, curScale), curScale); w.Write("</td>"); w.Write("<td>"); w.Write(curSml); w.Write("</td>"); w.Write("<td>"); w.Write(" "); w.Write("</td>"); w.Write("</tr>"); } } curScale = 2; curSml = " "; } w.Write("</table>"); }
internal void TypeChanged(object sender, ProperyChangedEventArgs e) { if (!string.IsNullOrEmpty(e.NewValue)) { var _documType = _documTypeList.Find(l => l.Type == e.NewValue); _type = _documType.Type; _field = _documType.FieldId; _linkType = _documType.LinkType; if (_dtSequelTypes.Rows.Count == 0) { return; } var dv = new DataView { Table = _dtSequelTypes, Sort = "ПорядокВыводаВОсновании", RowFilter = "КодТипаДокументаОснования=" + CurrentDocType }; var dtSd = Document.LoadSequelDocs(V4Page.Doc.Id); for (var i = 0; i < dv.Count; i++) { var dtable = dtSd.Clone(); var query = dtSd.AsEnumerable().Where(dr => dr.Field <int>("КодТипаДокумента").Equals(dv[i]["КодТипаДокументаВытекающего"])); query.CopyToDataTable(dtable, LoadOption.OverwriteChanges); if (dtable.Rows.Count == 0) { continue; } var dtp = V4Page.GetObjectById(typeof(DocType), _type) as DocType; _linkedDocs = ""; if (!dtp.Unavailable) { _currentRadioCtrl.IsDisabled = _linkType != "12" && _linkType != "22"; if (_linkType == "12" || _linkType == "22") { var col = new StringCollection(); foreach (DataRow dr in dtable.Rows) { col.Add(dr["КодДокумента"].ToString()); } _linkedDocs = Collection2Str(col); } } } _currentRadioCtrl.Value = "0"; _currentRadioCtrl.Flush(); _currentDbSelectCtrl.Value = null; _currentDbSelectCtrl.IsDisabled = true; _docValue = null; _currentDbSelectCtrl.RenderNtf(); } }