<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Config.aspx.cs" Inherits="WebKart.Config" ValidateRequest="false" %>

<%@ Import Namespace="Eos.WebKart.Domain" %>

<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>.:سیستم کنترل کارکرد تحت وب - شرکت کامپیوتری علم صنعت:. </title>
    <script src="Scripts/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="Scripts/Security/sjcl.js" type="text/javascript"></script>
    <script src="Scripts/Security/windows-1256.js" type="text/javascript"></script>
    <script src="Scripts/Security/SecurityManager1.js" type="text/javascript"></script>
</head>
<body>
    <form id="form1" runat="server" autocomplete="off">
        <%--<input id="systemSecurityUrl" name="encryptedOldPass" type="hidden" value="<%= HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority)+ResolveUrl("~/")%>" />--%>
        <input id="encryptedPass" name="encryptedPass" type="hidden" />
        <input id="saveConfig" name="saveConfig" type="hidden" value="false" />

        <div style="width: 900px; margin: 0 auto; direction: rtl;">
            <telerik:RadFormDecorator ID="radDecorator" runat="server" DecoratedControls="All" />
            <telerik:RadScriptManager ID="radScriptManager" runat="server">
            </telerik:RadScriptManager>
            <telerik:RadToolTip ID="tipPrompt" runat="server">
            </telerik:RadToolTip>
            <telerik:RadTabStrip ID="radTabs" runat="server" AutoPostBack="True" OnTabClick="radTabs_TabClick">
                <Tabs>
                    <telerik:RadTab Text="تنظیمات اصلی سامانه" Value="Config" SkinID="w">
                        <Tabs>
                            <telerik:RadTab Text="تنظیمات پایگاه داده" Value="DBConfig" PageViewID="pvDBConfig"
                                SkinID="Child">
                            </telerik:RadTab>
                            <telerik:RadTab Text="قفل و مجوزها" Value="LockConfig" PageViewID="pvLockConfig"
                                SkinID="Child">
                            </telerik:RadTab>
                        </Tabs>
                    </telerik:RadTab>
                    <telerik:RadTab Text="بروز رسانی" Value="Update" SkinID="w">
                        <Tabs>
                            <telerik:RadTab Text="بروز رسانی پایگاه داده" Value="DBUpdate" PageViewID="pvDBUpdate"
                                SkinID="Child">
                            </telerik:RadTab>
                            <telerik:RadTab Text="فعال سازی قفل" Value="LockActivation" PageViewID="pvActive"
                                SkinID="Child">
                            </telerik:RadTab>
                            <telerik:RadTab Text="غیر فعال سازی قفل" Value="LockDeactivation" PageViewID="pvDeactive"
                                SkinID="Child">
                            </telerik:RadTab>
                        </Tabs>
                    </telerik:RadTab>
                    <telerik:RadTab Text="بروز رسانی دسترسی ها" Value="PageAccess" Visible="false" PageViewID="pvPageAccess">
                    </telerik:RadTab>
                </Tabs>
            </telerik:RadTabStrip>
            <telerik:RadMultiPage ID="radMultiPage" runat="server">
                <telerik:RadPageView ID="pvDBConfig" runat="server">
                    <asp:Panel ID="pnlDBConfig" runat="server" DefaultButton="btnConfigDB">
                        <table>
                            <tr>
                                <td class="dateEntryHeader" colspan="3">پایگاه داده کنترل کارکرد
                                </td>
                            </tr>
                            <tr>
                                <td>آدرس سرور:
                                </td>
                                <td>
                                    <asp:TextBox ID="txtServerName" runat="server" CssClass="dateEntry" ValidationGroup="DBConfig"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:RequiredFieldValidator ID="rfvServerName" runat="server" ControlToValidate="txtServerName"
                                        ValidationGroup="DBConfig" SetFocusOnError="True" ClientIDMode="Static"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>نام پایگاه داده :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtDBName" runat="server" TextMode="SingleLine" CssClass="dateEntry"
                                        ValidationGroup="DBConfig" ClientIDMode="Static"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:RequiredFieldValidator ID="rfvDBName" runat="server" ControlToValidate="txtDBName"
                                        ValidationGroup="DBConfig" SetFocusOnError="True"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>نام کاربری پایگاه داده :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtDBUserName" runat="server" TextMode="SingleLine" CssClass="dateEntry"
                                        ValidationGroup="DBConfig" ClientIDMode="Static"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:RequiredFieldValidator ID="rfvDBUserName" runat="server" ControlToValidate="txtDBUserName"
                                        ValidationGroup="DBConfig" SetFocusOnError="True"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>رمز ورود پایگاه داده :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtDBPassWord" runat="server" TextMode="Password" CssClass="dateEntry"
                                        ValidationGroup="DBConfig" ClientIDMode="Static"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:RequiredFieldValidator ID="rfvDBPassWord" runat="server" ControlToValidate="txtDBPassWord"
                                        ValidationGroup="DBConfig" SetFocusOnError="True"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td class="dateEntryHeader" colspan="3">پایگاه داده تصاویر
                                </td>
                            </tr>
                            <tr>
                                <td>نام پایگاه داده :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtWinPrsDBName" runat="server" CssClass="dateEntry" TextMode="SingleLine"
                                        ValidationGroup="DBConfig"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:CustomValidator ID="cvWinPrsDBName" runat="server" ControlToValidate="txtWinPrsDBName"
                                        ValidationGroup="DBConfig"></asp:CustomValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>نام کاربری پایگاه داده :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtWinPrsUserName" runat="server" TextMode="SingleLine" CssClass="dateEntry"
                                        ValidationGroup="DBConfig"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:CustomValidator ID="cvWinPrsUserName" runat="server" ControlToValidate="txtWinPrsUserName"
                                        ValidationGroup="DBConfig"></asp:CustomValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>رمز ورود پایگاه داده :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtWinPrsPassword" runat="server" TextMode="Password" CssClass="dateEntry"
                                        ValidationGroup="DBConfig"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:CustomValidator ID="cvWinPrsPassword" runat="server" ControlToValidate="txtWinPrsPassword"
                                        ValidationGroup="DBConfig"></asp:CustomValidator>
                                </td>
                            </tr>
                            <tr>
                                <td class="dateEntryHeader" colspan="3">برای ذخیره تغییرات رمز عبور را وارد نمایید.
                                </td>
                            </tr>
                            <tr>
                                <td>رمز ورود مدیر:
                                </td>
                                <td>
                                    <%--                                    <asp:TextBox ID="txtAdminPasswordDB" runat="server" TextMode="Password" CssClass="dateEntry"
                                        ValidationGroup="DBConfig"></asp:TextBox>--%>
                                    <input type="password" id="txtAdminPasswordDB" class="dateEntry" />
                                </td>
                                <td>
                                    <%--                                    <asp:RequiredFieldValidator ID="rfvAdminPasswordDB" runat="server" ControlToValidate="txtAdminPasswordDB"
                                        ValidationGroup="DBConfig" SetFocusOnError="True"></asp:RequiredFieldValidator>--%>
                                </td>
                            </tr>
                            <tr>
                                <td>&nbsp;
                                </td>
                                <td>
                                    <asp:Button ID="btnConfigDB" runat="server"
                                        ClientIDMode="Static"
                                        OnClientClick="btnConfigDB_click(); return false;"
                                        Text="بروز رسانی اطلاعات پایگاه داده"
                                        ValidationGroup="DBConfig" />
                                </td>
                                <td>&nbsp;
                                </td>
                            </tr>
                        </table>
                    </asp:Panel>
                </telerik:RadPageView>
                <telerik:RadPageView ID="pvLockConfig" runat="server">
                    <asp:Panel ID="pnlLockConfig" runat="server" DefaultButton="btnConfigLock">
                        <table>
                            <tr>
                                <td class="dateEntryHeader" colspan="3">تنظیمات قفل
                                </td>
                            </tr>
                            <tr>
                                <td>آی پی سرور :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtLockServer" runat="server" CssClass="dateEntry" TextMode="SingleLine"
                                        ValidationGroup="LockConfig"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:RequiredFieldValidator ID="rfvLockServer" runat="server" ControlToValidate="txtLockServer"
                                        ValidationGroup="LockConfig" SetFocusOnError="True"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>پورت سرور :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtLockPort" runat="server" TextMode="SingleLine" CssClass="dateEntry"
                                        ValidationGroup="LockConfig"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:RequiredFieldValidator ID="rfvLockPort" runat="server" ControlToValidate="txtLockPort"
                                        ValidationGroup="LockConfig" SetFocusOnError="True"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td class="dateEntryHeader" colspan="3">برای ذخیره تغییرات رمز عبور را وارد نمایید.
                                </td>
                            </tr>
                            <tr>
                                <td>رمز ورود پایگاه داده :
                                </td>
                                <td>
                                    <asp:TextBox ID="txtDBPassWordLock" runat="server" TextMode="Password" CssClass="dateEntry"
                                        ValidationGroup="LockConfig"></asp:TextBox>
                                </td>
                                <td>
                                    <asp:RequiredFieldValidator ID="rfvDBPassWordLock" runat="server" ControlToValidate="txtDBPassWordLock"
                                        ValidationGroup="LockConfig" SetFocusOnError="True"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>رمز ورود مدیر:
                                </td>
                                <td>
                                    <%--                                    <asp:TextBox ID="txtAdminPasswordLock" runat="server" TextMode="Password" CssClass="dateEntry"
                                        ValidationGroup="LockConfig"></asp:TextBox>--%>
                                    <input type="password" id="txtAdminPasswordLock" class="dateEntry" />
                                </td>
                                <td>
                                    <%--                                    <asp:RequiredFieldValidator ID="rfvAdminPasswordLock" runat="server" ControlToValidate="txtAdminPasswordLock"
                                        ValidationGroup="LockConfig" SetFocusOnError="True"></asp:RequiredFieldValidator>--%>
                                </td>
                            </tr>
                            <tr>
                                <td>&nbsp;
                                </td>
                                <td>
                                    <asp:Button ID="btnConfigLock" runat="server"
                                        ClientIDMode="Static"
                                        OnClientClick="btnConfigLock_click(); return  false;"
                                        Text="بروز رسانی مشخصات قفل"
                                        ValidationGroup="LockConfig" />
                                </td>
                                <td>&nbsp;
                                </td>
                            </tr>
                        </table>
                    </asp:Panel>
                </telerik:RadPageView>
                <telerik:RadPageView ID="pvDBUpdate" runat="server">
                    <p>
                        <em>برای اعمال تغییرات به صورت خودکار و برای کلیه سالهای موجود از گزینه زیر استفاده
                        نمایید.</em>
                    </p>
                    <asp:Button runat="server" ID="btnAutoUpdate" Text="بروز رسانی خودکار پایگاه های داده"
                        OnClick="btnAutoUpdate_Click" />
                    <p>
                        <em>برای اعمال تغییرات به صورت دستی از گزینه های زیر استفاده نمایید.</em>
                    </p>
                    <table>
                        <tr>
                            <td>
                                <asp:Button ID="btnChangeDB" runat="server" OnClick="btnChangeDB_Click" Text="اعمال تغییرات پایگاه داده" />
                            </td>
                            <td>&nbsp;
                            </td>
                            <td>&nbsp;
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Button ID="btnChangeYearDB" runat="server" OnClick="btnChangeYearDB_Click" Text="اعمال تغییرات پایگاه داده سالیانه" />
                            </td>
                            <td>انتخاب سال:
                            </td>
                            <td>
                                <telerik:RadComboBox ID="cmbYears" runat="server">
                                </telerik:RadComboBox>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:Button ID="btnChangeTable" runat="server" Text="به روز رسانی اطلاعات" OnClick="btnChangeTable_Click" />
                            </td>
                            <td>&nbsp;
                            </td>
                            <td>&nbsp;
                            </td>
                        </tr>
                    </table>
                </telerik:RadPageView>
                <telerik:RadPageView ID="pvActive" runat="server">
                    <p>
                        &nbsp;
                    </p>
                    <asp:Panel runat="server" ID="FromPanel">
                        <table>
                            <tr>
                                <td class="LeftTD">نوع سیستم:
                                </td>
                                <td class="RightTD">
                                    <asp:Label ID="lblSystemNameActive" runat="server" Text=""></asp:Label>
                                </td>
                            </tr>
                            <tr>
                                <td class="LeftTD">شناسه سیستم:
                                </td>
                                <td class="RightTDltr">
                                    <asp:Label ID="lblComputerIdActive" runat="server" Text="" Font-Size="15pt"></asp:Label>
                                </td>
                            </tr>
                            <tr>
                                <td class="LeftTD">نوع فعال سازی:
                                </td>
                                <td class="RightTD">
                                    <asp:RadioButtonList ID="rblActivationMode" runat="server" RepeatDirection="Horizontal"
                                        AutoPostBack="True" OnSelectedIndexChanged="rblActivationMode_SelectedIndexChanged">
                                        <asp:ListItem Value="1">اینترنتی</asp:ListItem>
                                        <asp:ListItem Value="2">فایل</asp:ListItem>
                                    </asp:RadioButtonList>
                                </td>
                            </tr>
                        </table>
                        <asp:Panel runat="server" ID="pnlFile" Visible="false">
                            <table>
                                <tr>
                                    <td class="LeftTD">انتخاب فایل:
                                    </td>
                                    <td class="RightTD">
                                        <asp:FileUpload ID="FileUpload" runat="server" Width="300px" />
                                    </td>
                                </tr>
                            </table>
                        </asp:Panel>
                        <asp:Panel runat="server" ID="pnlInternet" Visible="false">
                            <table>
                                <tr>
                                    <td class="LeftTD">شناسه محصول:
                                    </td>
                                    <td class="RightTDltr">
                                        <asp:TextBox ID="txtProductCodeActive" runat="server"></asp:TextBox>
                                    </td>
                                </tr>
                            </table>
                        </asp:Panel>
                        <asp:Button ID="btnActive" runat="server" Text="فعال سازی" OnClick="btnActive_Click"
                            Visible="false" />
                    </asp:Panel>
                </telerik:RadPageView>
                <telerik:RadPageView ID="pvDeactive" runat="server">
                    <p>
                        &nbsp;
                    </p>
                    <asp:Panel runat="server" ID="pnlAlarm" Visible="false">
                        توجه: در صورت ادامه عملیات قفل شما غیر فعال خواهد شد و سیستم وب کارت دسترسی لازم
                    برای ورود را به هیچ کس نخواهد داد
                    <br />
                        تنها در صورت اطمینان از عملیاتی که می خواهید انجام دهید بر روی دکمه ادامه عملیات
                    کلیک کنید.
                    <br />
                        <br />
                        <span class="LeftTD">
                            <asp:Button ID="btnContinue" runat="server" Text="ادامه عملیات" OnClick="btnContinue_Click" />
                        </span>
                    </asp:Panel>
                    <asp:Panel runat="server" ID="pnlDeactivation" Visible="false">
                        <table>
                            <tr>
                                <td class="LeftTD">نوع سیستم:
                                </td>
                                <td class="RightTD">
                                    <asp:Label ID="lblSystemNameDeactive" runat="server" Text=""></asp:Label>
                                </td>
                            </tr>
                            <tr>
                                <td class="LeftTD">شناسه سیستم:
                                </td>
                                <td class="RightTD">
                                    <asp:Label ID="lblComputerIdDeactive" runat="server" Text=""></asp:Label>
                                </td>
                            </tr>
                            <tr>
                                <td class="LeftTD">شناسه محصول:
                                </td>
                                <td class="RightTD">
                                    <asp:TextBox ID="txtProductCodeDeactive" runat="server"></asp:TextBox>
                                </td>
                            </tr>
                            <tr>
                                <td class="LeftTD">کد غیر فعال سازی:
                                </td>
                                <td class="RightTD">
                                    <asp:TextBox ID="txtDeActiveCode" runat="server"></asp:TextBox>
                                </td>
                            </tr>
                            <tr>
                                <td></td>
                                <td class="RightTD">
                                    <asp:Button ID="btnSendEos" runat="server" OnClick="btnSendEos_Click" Text="ارسال اینترنتی به علم و صنعت" />
                                </td>
                            </tr>
                        </table>
                    </asp:Panel>
                </telerik:RadPageView>
                <telerik:RadPageView ID="pvPageAccess" runat="server">
                    <p>
                        <asp:Button ID="btnRefreshPage" runat="server" Text="بروز رسانی فهرست صفحات" OnClick="btnRefreshPage_Click" />
                    </p>
                    <telerik:RadGrid ID="grdPages" runat="server" OnNeedDataSource="grdPages_NeedDataSource"
                        Visible="false" OnEditCommand="grdPages_EditCommand">
                        <MasterTableView DataKeyNames="pageAccessId">
                            <Columns>
                                <telerik:GridBoundColumn DataField="Url" HeaderText="مسیر فایل" ReadOnly="true">
                                    <ItemStyle CssClass="ltr" />
                                </telerik:GridBoundColumn>
                                <telerik:GridBoundColumn DataField="Title" HeaderText="عنوان صفحه" />
                                <telerik:GridBoundColumn DataField="AdminAllowAccessText" HeaderText="مدیر وب کارت" />
                                <telerik:GridBoundColumn DataField="ManagerAllowAccessText" HeaderText="کاربران قسمتها" />
                                <telerik:GridBoundColumn DataField="EmployeeAllowAccessText" HeaderText="کارمندان" />
                                <telerik:GridButtonColumn CommandName="Edit" ButtonType="LinkButton" Text="ویرایش">
                                    <ItemStyle HorizontalAlign="Center" Width="40px" />
                                </telerik:GridButtonColumn>
                            </Columns>
                        </MasterTableView>
                    </telerik:RadGrid>
                    <asp:Panel ID="pnlEditPage" runat="server" DefaultButton="btnUpdate" Visible="false">
                        شما در حال ویرایش صفحه زیر می باشید:
                    <p>
                        <asp:Literal ID="ltrUrl" runat="server"></asp:Literal>
                    </p>
                        <table>
                            <tr>
                                <td>عنوان صفحه:
                                </td>
                                <td>
                                    <telerik:RadTextBox ID="txtTitle" runat="server" EmptyMessage="عنوان صفحه را وارد نمایید."
                                        MaxLength="30" ValidationGroup="editPage" Columns="50" Width="250px" Wrap="False"
                                        Text='<%#Eval("Title")%>'>
                                    </telerik:RadTextBox>
                                </td>
                                <td>
                                    <asp:RequiredFieldValidator ID="rfvTitle" runat="server" SetFocusOnError="true" ValidationGroup="editPage"
                                        ControlToValidate="txtTitle"></asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td>دسترسی ها
                                </td>
                                <td>
                                    <asp:CheckBox ID="chkAdminAllowAccess" runat="server" Text="مدیر وب کارت" Checked='<%#Eval("AdminAllowAccess")%>'
                                        Width="150px" />
                                    <asp:CheckBox ID="chkManagerAllowAccess" runat="server" Text="کاربران قسمتها" Checked='<%#Eval("ManagerAllowAccess")%>'
                                        Width="150px" />
                                    <asp:CheckBox ID="chkEmployeeAllowAccess" runat="server" Text="کارمندان" Checked='<%#Eval("EmployeeAllowAccess")%>'
                                        Width="150px" />
                                </td>
                                <td>
                                    <asp:CustomValidator ID="cvAccess" runat="server" ValidationGroup="editPage">حداقل یک گروه کاربری باید دسترسی داشته باشد.</asp:CustomValidator>
                                </td>
                            </tr>
                        </table>
                        <asp:Button ID="btnUpdate" Text="ثبت تغییرات" runat="server" CommandName="Update"
                            ValidationGroup="editPage" OnClick="btnUpdate_Click"></asp:Button>
                        &nbsp;
                    <asp:Button ID="btnCancel" Text="لغو تغییرات" runat="server" CausesValidation="False"
                        CommandName="Cancel" OnClick="btnCancel_Click"></asp:Button>
                    </asp:Panel>
                </telerik:RadPageView>
            </telerik:RadMultiPage>
            <div style="margin-top: 50px;">
                <asp:Button ID="btnExit" runat="server" Text="خروج" OnClick="btnExit_Click" Style="width: 100px;" />
            </div>
        </div>
    </form>
</body>
</html>
<script type="text/javascript">
<%--    $(document).ready(function () {
        var isOnLocal = '<%= ConfigurationManager.AppSettings["IsOnLocal"] %>';
         if (isOnLocal.toLowerCase() == "true") {
             $("#systemSecurityUrl").val("<%= HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority)+ResolveUrl("~/")%>");
            }
            else if (isOnLocal.toLowerCase() == "false") {
                $("#systemSecurityUrl").val(window.location.origin + "/");
            }
     });--%>
        function btnConfigDB_click() {
            var plainPass = $("#txtAdminPasswordDB").val();

            var serverName = $("#txtServerName").val().trim();
            var dbName = $("#txtDBName").val().trim();
            var dbUserName = $("#txtDBUserName").val().trim();
            var dbPassword = $("#txtDBPassWord").val().trim();

            var loginresult = SecurityManager.EncryptLoginPass("000", plainPass, true, serverName, dbName, dbUserName, dbPassword);
            if (loginresult.success) {
                $("#encryptedPass").val(loginresult.result);
                $("#saveConfig").val(true);
                $("#form1").submit();
            } else {
                alert(loginresult.message);
            }
        }
    
        function btnConfigLock_click() {
            var plainPass = $("#txtAdminPasswordLock").val();
            var loginresult = SecurityManager.EncryptLoginPass("000", plainPass);
            if (loginresult.success) {

                $("#encryptedPass").val(loginresult.result);
                $("#saveConfig").val(true);
                $("#form1").submit();
            } else {
                alert(loginresult.message);
            }
        }
</script>
