Ejemplo n.º 1
0
        /// <summary>
        ///     Формирование разметки контрола подписей
        /// </summary>
        /// <param name="w">Поток вывода</param>
        public void RenderControlDocSings(TextWriter w)
        {
            if (_docPage.IsInDocView)
            {
                w.Write("");
                return;
            }

            if (!_docPage.V4IsPostBack)
            {
                RenderControlBeginContainer(w, ContainerSignFormId, false, "style=\"display:none;\"");

                RenderControlBeginContainer(w, ContainerSignFormWarning, "v4DivTable");
                RenderControlBeginContainer(w, $"{ContainerSignFormWarning}_0", "v4DivTableRow");

                RenderControlBeginContainer(w, $"{ContainerSignFormWarning}_0_0", "v4DivTableCell");
                RenderControlEndContainer(w);

                RenderControlBeginContainer(w, $"{ContainerSignFormWarning}_0_1", "v4DivTableCell",
                                            "style=\"text-align:left\"");
                RenderControlEndContainer(w);

                RenderControlEndContainer(w);
                RenderControlEndContainer(w);


                RenderControlBeginContainer(w, ContainerSignFormButtons, true);
                RenderControlBeginContainer(w, ContainerSignFormMsg, true);


                RenderControlEndContainer(w);


                RenderControlBeginContainer(w, ContainerHtmlId, "v4pageDocHeader");
            }

            RenderControlBeginContainer(w, $"{ContainerHtmlId}_Signs", "v4DivTable",
                                        "style=\"float:right; margin-right: 5px\"");

            _docPage.Doc.GetSignsFromDb();
            var signs = _docPage.Doc.DocSigns;

            signs?.ForEach(delegate(DocSign sign)
            {
                var signId = sign.Id.Replace('-', '_');
                RenderControlBeginContainer(w, $"{ContainerHtmlId}_{signId}", "v4DivTableRow");

                RenderControlBeginContainer(w, $"{ContainerHtmlId}_{signId}_0", "v4DivTableCell",
                                            "style=\"text-align:left\"");
                w.Write(sign.SignText);
                RenderControlEndContainer(w);

                RenderControlBeginContainer(w, $"{ContainerHtmlId}_{signId}_1", "v4DivTableCell v4NoWrap",
                                            "style=\"padding-left:5px;text-align:left;\"");
                _docPage.RenderLinkEmployee(w, $"{ContainerHtmlId}_{signId}_{sign.EmployeeInsteadOfId}_1",
                                            sign.EmployeeInsteadOfId.ToString(), sign.EmployeeInsteadOfFio, NtfStatus.Empty, false);
                if (sign.EmployeeId != sign.EmployeeInsteadOfId)
                {
                    w.Write(" / ");
                    _docPage.RenderLinkEmployee(w, $"{ContainerHtmlId}_{signId}_{sign.EmployeeId}_1_2",
                                                sign.EmployeeId.ToString(), sign.EmployeeFio, NtfStatus.Empty, false);
                }

                RenderControlEndContainer(w);


                RenderControlBeginContainer(w, $"{ContainerHtmlId}_{signId}_2", "v4DivTableCell v4NoWrap localDT",
                                            "style=\"padding-left:5px\"", _docPage.V4IsPostBack ? "localTime=false" : "");
                if (!_docPage.V4IsPostBack)
                {
                    w.Write("<script>document.write(v4_toLocalTime(\"{0:yyyy-MM-dd HH:mm:ss}\",\"{1}\"));</script>",
                            sign.Date, "dd.mm.yyyy hh:mi:ss");
                }
                else
                {
                    w.Write(sign.Date.ToString("yyyy-MM-dd HH:mm:ss"));
                }

                RenderControlEndContainer(w);

                if (!_docPage.IsPrintVersion && sign.CanDelete == 1)
                {
                    RenderControlBeginContainer(w, $"{ContainerHtmlId}_{signId}_3", "v4DivTableCell",
                                                "style=\"padding-left:5px\"");
                    w.Write(
                        $"<img src=\"/STYLES/Delete.gif\" border=\"0\" alt=\"{_docPage.Resx.GetString("lCancelSign")}\" style=\"cursor: pointer\"");
                    w.Write("onclick =\"");
                    RenderDeleteSignEventOnClick(w, sign);
                    w.Write("\">");
                    RenderControlEndContainer(w);
                }

                RenderControlEndContainer(w);
            });

            RenderControlEndContainer(w);

            if (!_docPage.IsPrintVersion && !_docPage.Doc.Finished)
            {
                RenderControlBeginContainer(w, $"{ContainerHtmlId}_Link", "v4DivTable",
                                            "style=\"clear:right; float:right; margin-top: 4px; margin-bottom: 4px; margin-right: 5px\"");

                RenderControlBeginContainer(w, $"{ContainerHtmlId}_Link_0", "v4DivTableRow");


                RenderControlBeginContainer(w, $"{ContainerHtmlId}_link_0_1", "v4DivTableCell v4NoWrap",
                                            "style=\"padding-left:5px;\"");
                w.Write(
                    "<a id=\"sign-final\" style=\"color: #6495ED\" onclick=\"v4_prepareSignDocument({0}, 1, {1}, '{2}','{3}','{4}','{5}','{6}','{7}');\">{8}</a>",
                    _docPage.CurrentUser.EmployeeId,
                    DocViewParams.SignMessageWorkDone ? 1 : 0,
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("msgFinishSign")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("msgSendFinishMsg")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("DOCUMENT_Sign_Title")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("msgSign")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("msgSignInsteadOf")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("cmdCancel")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("cmdSignFinal"))
                    );


                RenderControlEndContainer(w);
                RenderControlBeginContainer(w, $"{ContainerHtmlId}_link_0_0", "v4DivTableCell v4NoWrap",
                                            "style=\"padding-left:15px;\"");
                w.Write(
                    "<a id=\"sign-common\" style=\"color: blue\" onclick=\"v4_prepareSignDocument({0}, 0, 1,'','{1}','{2}','{3}','{4}','{5}');\">{6}</a>",
                    _docPage.CurrentUser.EmployeeId,
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("msgSendMsg")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("DOCUMENT_Sign_Title")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("msgSign")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("msgSignInsteadOf")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("cmdCancel")),
                    HttpUtility.JavaScriptStringEncode(_docPage.Resx.GetString("cmdSign")));

                RenderControlEndContainer(w);

                RenderControlEndContainer(w);

                RenderControlEndContainer(w);
            }

            RenderControlBeginContainer(w, "", false, "style=\"clear: both; line-height: 0; height: 0;\"");
            w.Write("&nbsp;");
            RenderControlEndContainer(w);

            if (!_docPage.V4IsPostBack)
            {
                RenderControlEndContainer(w);
            }
        }