Example #1
0
        /// <summary>
        /// 流程类型选择
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlProcessTemplate_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.ddlProcessTemplate.SelectedIndex == 0)
            {
                //流程类型选中空行,设置流程步骤不可编辑
                this.ddlStepName.Enabled = false;

                this.ddlStepName.Items.Clear();
            }
            else
            {
                //选中一个流程类型,设置流程步骤为可编辑
                this.ddlStepName.Enabled = true;
                //得到流程类型对应的流程步骤
                TAdmin = new TemplateAdmin();
                String    strTemplateID = this.ddlProcessTemplate.SelectedValue;
                DataTable dtStep        = TAdmin.Templates.GetTemplate(strTemplateID).GetVersion(1).GetViewList();

                //加入空选择行
                DataRow l_dtrDataRow = dtStep.NewRow();
                l_dtrDataRow[0] = DBNull.Value;
                l_dtrDataRow[1] = "";
                l_dtrDataRow[2] = DBNull.Value;

                dtStep.Rows.InsertAt(l_dtrDataRow, 0);

                //绑定数据
                this.ddlStepName.DataSource = dtStep;
                this.ddlStepName.DataBind();
            }
            LoadTaskList();
        }
Example #2
0
        /// <summary>
        /// Returns the full template dataset. Results are cached when not in design mode and not cached when in design mode.
        /// Use this method for all runtime calls.
        /// </summary>
        /// <returns></returns>
        public static TemplateDto GetTemplateDto()
        {
            bool useCache = !CMSContext.Current.IsDesignMode; // do not use template caching in design mode

            string cacheKey = CmsCache.CreateCacheKey("templates");

            // check cache first
            object cachedObject = null;

            if (useCache)
            {
                cachedObject = CmsCache.Get(cacheKey);
            }

            if (cachedObject != null)
            {
                return((TemplateDto)cachedObject);
            }

            // TODO: add caching
            TemplateAdmin admin = new TemplateAdmin();

            admin.Load();

            // Insert to the cache collection
            if (useCache)
            {
                CmsCache.Insert(cacheKey, admin.CurrentDto, CmsConfiguration.Instance.Cache.TemplateTimeout);
            }

            return(admin.CurrentDto);
        }
Example #3
0
    /// <summary>
    /// Bind Style Sheet Content
    /// </summary>
    private void BindData()
    {
        //Instance for ContentPageAdmin
        TemplateAdmin TemplateAdmin = new TemplateAdmin();

        //Get Values
        StyleSheetContent.Text = TemplateAdmin.GetTemplateStyle();
    }
Example #4
0
        /// <summary>
        /// Gets the template dto.
        /// </summary>
        /// <param name="templateId">The template id.</param>
        /// <returns></returns>
        public static TemplateDto GetTemplateDto(int templateId)
        {
            // TODO: add caching
            TemplateAdmin admin = new TemplateAdmin();

            admin.Load(templateId);
            return(admin.CurrentDto);
        }
Example #5
0
        private void LoadProcessSteps()
        {
            if (this.ddlProcessTemplate.SelectedIndex == 0)
            {
                ////流程类型选中空行,设置流程步骤不可编辑
                //this.ddlStepName.Enabled = false;
                //this.ddlStepName.Items.Clear();

                VisibleTR();
            }
            else
            {
                VisibleTR();
                switch (ddlProcessTemplate.SelectedValue)
                {
                case ProcessConstString.TemplateName.DJGT_Send:
                case ProcessConstString.TemplateName.COMPANY_SEND: trGF.Visible = true; break;

                case ProcessConstString.TemplateName.MERGED_RECEIVE:
                case ProcessConstString.TemplateName.COMPANY_RECEIVE:
                    //trGS.Visible = true;
                    break;

                case ProcessConstString.TemplateName.LETTER_RECEIVE: trHS.Visible = true; break;

                case ProcessConstString.TemplateName.LETTER_SEND: trHF.Visible = true; break;

                case ProcessConstString.TemplateName.PROGRAM_FILE: trPF.Visible = true; break;

                case ProcessConstString.TemplateName.AFFILIATION: trWR.Visible = true; break;

                case ProcessConstString.TemplateName.INSTUCTION_REPORT: trRR.Visible = true; break;

                default: break;
                }
                //选中一个流程类型,设置流程步骤为可编辑
                //this.ddlStepName.Enabled = true;
                //得到流程类型对应的流程步骤
                TemplateAdmin TAdmin        = new TemplateAdmin();
                String        strTemplateID = this.ddlProcessTemplate.SelectedValue;
                DataTable     dtStep        = TAdmin.Templates.GetTemplate(strTemplateID).GetVersion(1).GetViewList();

                //加入空选择行
                DataRow drStep = dtStep.NewRow();
                drStep[0] = DBNull.Value;
                drStep[1] = "";
                drStep[2] = DBNull.Value;

                dtStep.Rows.InsertAt(drStep, 0);

                ////绑定数据
                //this.ddlStepName.DataSource = dtStep;
                //this.ddlStepName.DataBind();
            }
        }
Example #6
0
    /// <summary>
    /// Submit Button Click Event
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        TemplateAdmin TemplatePageAdmin = new TemplateAdmin();
        bool Status = TemplatePageAdmin.UpdateTemplateStyleFile(StyleSheetContent.Text.Trim());

        if (Status)
        {
            //redirect to next page
            Response.Redirect(HomeLink);
        }
        else
        {
            //display error message
            lblMsg.Text = "An error occurred while updating. Please try again.";
            return;
        }
    }
        /// <summary>
        /// 获取templateID对应templateVersion版本对应视图的的相对路径
        /// </summary>
        /// <param name="templateID"></param>
        /// <param name="templateVersion"></param>
        /// <param name="viewID"></param>
        /// <returns></returns>
        private String GetUiPath(String p_strTemplateName, int p_intVersion, String p_strStepName)
        {
            TemplateAdmin TAdmin         = TemplateAdmin.CreateTemplateAdmin(Page);
            String        l_strTargetUrl = String.Empty;
            Template      template;

            template = TAdmin.Templates.GetTemplate(p_strTemplateName);

            if (p_intVersion == -1)
            {
                l_strTargetUrl = template.GetVersion(template.MaxVersion).GetView(p_strStepName).Path;
            }
            else
            {
                l_strTargetUrl = template.GetVersion(p_intVersion).GetView(p_strStepName).Path;
            }
            if (String.IsNullOrEmpty(l_strTargetUrl))
            {
                throw new Exception("表单模板路径获取失败!");
            }
            return(l_strTargetUrl);
        }
Example #8
0
        private void SaveTemplate_Click(object sender, EventArgs e)
        {
            TemplateAdmin ta = new TemplateAdmin();

            string[] s = new string[1];
            s[0] = FreeText.Text;
            string body = ta.GetXMLBody(s);

            string sqlString;

            sqlString = "SELECT ID FROM TEMPLATES WHERE TEMPLATENAME = 'ESTIMATE'";
            using (DigiDapter dg = new DigiDapter(sqlString))
            {
                if (dg.HasRows)
                {
                    dg.Add("TEMPLATENAME", "ESTIMATE", 'I');
                    dg.Add("LANG", UC.CultureSpecific, 'I');
                }
                if (NomeFile.Value.Length > 0)
                {
                    string PathTemplate;
                    PathTemplate = Path.Combine(Request.PhysicalApplicationPath, "Logos");
                    if (File.Exists(Path.Combine(PathTemplate, Path.GetFileName(NomeFile.Value))))
                    {
                        File.Delete(Path.Combine(PathTemplate, Path.GetFileName(NomeFile.Value)));
                    }

                    NomeFile.PostedFile.SaveAs(Path.Combine(PathTemplate, Path.GetFileName(NomeFile.Value)));
                    dg.Add("LOGO", Path.GetFileName(NomeFile.Value));
                }

                dg.Add("BODY", body);

                dg.Execute("TEMPLATES", "ID=" + dg.ExternalReaderRowId);
            }
            Response.Redirect("/estimates/estimatehome.aspx");
        }
Example #9
0
        /// <summary>
        /// 流程类型选择事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ddlProcessTemplate_SelectedIndexChanged(object sender, EventArgs e)
        {
            LoadProcessSteps();

            if (this.ddlProcessTemplate.SelectedIndex == 0)
            {
                this.ddlStepName.Enabled = false;
                this.ddlStepName.Items.Clear();
            }
            else
            {
                this.ddlStepName.Enabled = true;

                //得到流程类型对应的流程步骤
                TemplateAdmin TAdmin            = new TemplateAdmin();
                String        l_strTemplateName = this.ddlProcessTemplate.SelectedValue;
                DataTable     l_dtbDataTable    = TAdmin.Templates.GetTemplate(l_strTemplateName).GetVersion(1).GetViewList();

                //加入空选择行
                DataRow l_dtrDataRow = l_dtbDataTable.NewRow();
                l_dtrDataRow[0] = DBNull.Value;
                l_dtrDataRow[1] = "";
                l_dtrDataRow[2] = DBNull.Value;

                l_dtbDataTable.Rows.InsertAt(l_dtrDataRow, 0);

                //绑定数据
                this.ddlStepName.DataSource = l_dtbDataTable;
                this.ddlStepName.DataBind();
            }

            #region 根据流程类型绑定特有字段
            switch (this.ddlProcessTemplate.SelectedValue)
            {
            //公司发文
            case ProcessConstString.TemplateName.COMPANY_SEND:
            case ProcessConstString.TemplateName.DJGT_Send:    //renjinquan+
                OADept.GetDeptByIfloor(drpGFDept, 1);
                break;

            //公司收文
            case ProcessConstString.TemplateName.COMPANY_RECEIVE:
            case ProcessConstString.TemplateName.MERGED_RECEIVE:    //renjinquan+
                break;

            //函件收文
            case ProcessConstString.TemplateName.LETTER_RECEIVE:
                OAList.BindHJLX2(ddlHSLetterType, true);
                break;

            //函件发文
            case ProcessConstString.TemplateName.LETTER_SEND:
                OAList.BindHJLX(ddlHFLetterType, true);
                OADept.GetDeptByIfloor(this.ddlHFDept, 1);
                break;

            //程序文件
            case ProcessConstString.TemplateName.PROGRAM_FILE:
                OADept.GetDeptByIfloor(this.ddlPFDept, 1);
                break;

            //工作联系单
            case ProcessConstString.TemplateName.AFFILIATION:
                OADept.GetDeptByIfloor(this.ddlWRHostDept, 1);
                OADept.GetDeptByIfloor(this.ddlWRMainSendDept, 1);
                break;

            //请示报告
            case ProcessConstString.TemplateName.INSTUCTION_REPORT:
                OAUser.GetUserByRole(this.ddlMainSendleader, OUConstString.RoleName.COMPANY_LEADER);
                OADept.GetDeptByIfloor(this.ddlUnderTakeDept, 1);
                OADept.GetDeptByIfloor(this.ddlHostDept, 1);
                break;
            }
            #endregion
            //chenye
            //LoadProcessList();
        }
Example #10
0
        /// <summary>
        /// Saves the template dto.
        /// </summary>
        /// <param name="dto">The dto.</param>
        public static void SaveTemplateDto(TemplateDto dto)
        {
            TemplateAdmin admin = new TemplateAdmin(dto);

            admin.Save();
        }
Example #11
0
        private void FillTemplate(int id)
        {
            DataRow       drE       = DatabaseConnection.CreateDataset("SELECT * FROM ESTIMATES WHERE ID=" + id).Tables[0].Rows[0];
            DataRow       drC       = DatabaseConnection.CreateDataset("SELECT * FROM BASE_COMPANIES WHERE ID=" + drE["ClientID"].ToString()).Tables[0].Rows[0];
            string        curSymbol = DatabaseConnection.SqlScalar("SELECT CURRENCYSYMBOL FROM CURRENCYTABLE WHERE ID=" + drE["currency"].ToString());
            decimal       chTo      = Convert.ToDecimal(drE["change"]);
            TemplateAdmin ta        = new TemplateAdmin();

            ta.TemplateName    = "Estimate";
            ta.Language        = UC.CultureSpecific;
            ta.ApplicationPath = Request.PhysicalApplicationPath;
            ta.Global          = false;
            string template = ta.GetTemplate();

            template = template.Replace("Tustena.Logo", ta.GetLogo());

            template = template.Replace("Tustena.CompanyName", drC["CompanyName"].ToString());
            template = template.Replace("Tustena.Address", drC["InvoicingAddress"].ToString());
            template = template.Replace("Tustena.ZipCode", drC["InvoicingZipCode"].ToString());
            template = template.Replace("Tustena.City", drC["InvoicingCity"].ToString());
            template = template.Replace("Tustena.Province", drC["InvoicingStateProvince"].ToString());
            template = template.Replace("Tustena.Nation", drC["InvoicingState"].ToString());

            template = template.Replace("Tustena.Contact", DatabaseConnection.SqlScalar("SELECT ISNULL(SURNAME,'')+' '+ISNULL(NAME,'') FROM BASE_CONTACTS WHERE ID=" + drE["Referrerid"].ToString()));

            DataTable     dte  = DatabaseConnection.CreateDataset("SELECT * FROM ESTIMATEDROWS WHERE ESTIMATEID=" + id).Tables[0];
            StringBuilder rows = new StringBuilder();

            rows.Append("<table border=0 cellpadding=0 cellspacing=0 width=\"100%\" class=normal align=\"center\">");
            rows.Append("<tr>");
            rows.AppendFormat("<td width=\"30%\"><b>{0}</b></td>", Root.rm.GetString("CRMcontxt65"));
            rows.AppendFormat("<td width=\"10%\"><b>{0}</b></td>", Root.rm.GetString("CRMcontxt66"));
            rows.AppendFormat("<td width=\"10%\" align=right><b>{0}</b></td>", Root.rm.GetString("CRMcontxt67"));
            rows.AppendFormat("<td width=\"20%\" align=right><b>{0}</b></td>", Root.rm.GetString("CRMcontxt68"));
            rows.AppendFormat("<td width=\"10%\" align=right><b>{0}</b></td>", Root.rm.GetString("CRMcontxt69"));
            rows.AppendFormat("<td width=\"20%\" align=right><b>{0}</b></td>", Root.rm.GetString("CRMcontxt71"));
            rows.Append("</tr>");
            decimal subTotal = 0;

            foreach (DataRow r in dte.Rows)
            {
                if (r["CatalogID"].ToString() != "0")
                {
                    DataRow drp = DatabaseConnection.CreateDataset("SELECT * FROM CATALOGPRODUCTS WHERE ID=" + r["CatalogID"].ToString()).Tables[0].Rows[0];
                    rows.Append("<tr>");
                    rows.AppendFormat("<td width=\"30%\">{0}<br>{1}</td>", drp["ShortDescription"].ToString(), r["Description"].ToString());
                    rows.AppendFormat("<td width=\"10%\">{0}</td>", drp["Unit"].ToString());
                    rows.AppendFormat("<td width=\"10%\" align=right>{0}</td>", r["Qta"].ToString());
                    rows.AppendFormat("<td width=\"20%\" align=right>{1}&nbsp;{0}</td>", Math.Round(Convert.ToDecimal(r["Uprice"]) * chTo, 2).ToString(), curSymbol);
                    rows.AppendFormat("<td width=\"10%\" align=right>{0}</td>", drp["Vat"].ToString());
                    rows.AppendFormat("<td width=\"20%\" align=right>{1}&nbsp;{0}</td>", Math.Round(Convert.ToDecimal(r["NewUprice"]) * chTo, 2).ToString(), curSymbol);
                    rows.Append("</tr>");
                }
                else
                {
                    rows.Append("<tr>");
                    rows.AppendFormat("<td width=\"30%\">{0}</td>", r["Description"].ToString());
                    rows.AppendFormat("<td width=\"10%\">&nbsp;</td>");
                    rows.AppendFormat("<td width=\"10%\" align=right>{0}</td>", r["Qta"].ToString());
                    rows.AppendFormat("<td width=\"20%\" align=right>{1}&nbsp;{0}</td>", Math.Round(Convert.ToDecimal(r["Uprice"]) * chTo, 2).ToString(), curSymbol);
                    rows.AppendFormat("<td width=\"10%\" align=right>&nbsp;</td>");
                    rows.AppendFormat("<td width=\"20%\" align=right>{1}&nbsp;{0}</td>", Math.Round(Convert.ToDecimal(r["NewUprice"]) * chTo, 2).ToString(), curSymbol);
                    rows.Append("</tr>");
                }
                subTotal += Convert.ToDecimal(r["NewUprice"]);
            }
            rows.AppendFormat("<tr><td colspan=6 align=right style=\"BORDER-TOP:black 1px solid;padding-top:5px;\"><b>{1}&nbsp;{0}</b></td></tr>", Math.Round(subTotal * chTo, 2).ToString(), curSymbol);
            rows.Append("</table>");
            template = template.Replace("Tustena.EstimateRows", rows.ToString());
            template = template.Replace("Tustena.EstimateNotes", drE["Description"].ToString());

            Result.Text = template;
        }
Example #12
0
        private void GetALLProcess()
        {
            string sInfo = "";

            if (ddlFlowType.SelectedValue == "")
            {
                string    sqlDEF = "SELECT DEF_Name FROM dbo.WF_PROC_DEFS WHERE STATUS='Released'";
                DataTable dtDEF  = SQLHelper.GetDataTable2(sqlDEF);

                foreach (DataRow dr in dtDEF.Rows)
                {
                    string def  = dr[0].ToString();
                    string sqlP = string.Format("SELECT Count(*) FROM WF_PROC_INSTS WHERE DEF_Name='{0}' ", def);
                    sqlP += GetWhere();
                    DataTable dtP = SQLHelper.GetDataTable2(sqlP);
                    if (dtP.Rows.Count > 0)
                    {
                        sInfo += def + " " + dtP.Rows[0][0].ToString() + "条。<br/>";
                    }
                }
            }
            else
            {
                #region 根据流程
                string def  = ddlFlowType.SelectedValue;
                string sqlP = string.Format("SELECT Count(*) FROM WF_PROC_INSTS WHERE DEF_Name='{0}' ", def);
                sqlP += GetWhere();
                DataTable dtP = SQLHelper.GetDataTable2(sqlP);
                if (dtP.Rows.Count > 0)
                {
                    sInfo += def + " " + dtP.Rows[0][0].ToString() + "条。<br/>";
                }
                string[] pStatus   = new string[] { "Running", "Completed", "Cancelled", "Suspended" };
                string[] pStatusCN = new string[] { "运行中", "已完成", "已取消", "已暂停" };
                for (int pp = 0; pp < pStatus.Length; pp++)
                {
                    string    sqlRunning = sqlP + string.Format(" AND STATUS='{0}'", pStatus[pp]);
                    DataTable dtRunning  = SQLHelper.GetDataTable2(sqlRunning);
                    if (dtRunning.Rows.Count > 0)
                    {
                        sInfo += pStatusCN[pp] + ":" + dtRunning.Rows[0][0].ToString() + "条 ";
                    }
                }
                #endregion


                sInfo += "<br/><br/>";
                //根据步骤
                TemplateAdmin TAdmin = new TemplateAdmin();
                DataTable     dtStep = TAdmin.Templates.GetTemplate(def).GetVersion(1).GetViewList();

                sInfo += "<Table border='1'>";

                foreach (DataRow dr in dtStep.Rows)
                {
                    ; //Removed Completed Assigned New
                    string[] stepStatus   = new string[] { "Completed", "Assigned", "New", "Removed", "Overdue", "Carbon", "Reassigned" };
                    string[] stepStatusCN = new string[] { "已完成", "待处理", "待获取", "已移除", "已过期", "已暂停", "重新指派" };
                    string   step         = dr["Name"].ToString();

                    sInfo += "<tr>";
                    sInfo += "<td>";
                    sInfo += styleRed1 + step + styleRed2 + " ";
                    sInfo += "</td>";
                    for (int kk = 0; kk < stepStatus.Length; kk++)
                    {
                        string    sql = string.Format(@"SELECT Count(*) FROM WF_MANUAL_WORKITEMS a INNER JOIN
WF_PROC_INSTS b ON a.PROC_INST_ID=b.PROC_INST_ID
WHERE a.NAME='{0}' AND a.Status='{1}' ", step, stepStatus[kk]);
                        DataTable dt  = SQLHelper.GetDataTable2(sql);
                        if (dt.Rows.Count > 0)
                        {
                            sInfo += "<td>";
                            if (stepStatusCN[kk] == "已完成")
                            {
                                sInfo += styleBlue1;
                            }
                            else if (stepStatusCN[kk] == "待处理" || stepStatusCN[kk] == "待获取")
                            {
                                sInfo += styleSilver1;
                            }
                            sInfo += stepStatusCN[kk] + " " + dt.Rows[0][0].ToString() + "条";
                            if (stepStatusCN[kk] == "已完成")
                            {
                                sInfo += styleBlue2;
                            }
                            else if (stepStatusCN[kk] == "待处理" || stepStatusCN[kk] == "待获取")
                            {
                                sInfo += styleSilver2;
                            }
                            sInfo += "</td>";
                        }
                    }
                    sInfo += "</tr>";
                }
                sInfo += "</Table>";
            }
            lblInfo.Text = sInfo;
        }