Exemplo n.º 1
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            string strFullName = string.Empty;            //, strUrl, strContentType, strSize

            CoursewareBLL coursewareBLL = new CoursewareBLL();


            if (ViewState["AddFlag"].ToString() == "1")      //新增
            {
                strFullName = File1.FileName;                //直接取得文件名



                if (!string.IsNullOrEmpty(strFullName))
                {
                    FileInfo fi = new FileInfo(File1.FileName);

                    //判断只能上传.flv与.swf格式

                    //if (fi.Extension.ToLower() != ".flv" && fi.Extension.ToLower() != ".swf")
                    //{
                    //    SessionSet.PageMessage = "文件格式应为FLV或SWF视频! 现在格式为:" + fi.Extension.ToLower();
                    //    return;
                    //}

                    if (fi.Name.Replace(fi.Extension, "") != txtCoursewareName.Text)
                    {
                        SessionSet.PageMessage = "上传文件名与课件名不一致,请确认上传文件名!";
                        return;
                    }
                }
                RailExam.Model.Courseware courseware = new RailExam.Model.Courseware();

                courseware.CoursewareName   = txtCoursewareName.Text;
                courseware.CoursewareTypeID = int.Parse(hfCoursewareTypeID.Value);
                courseware.ProvideOrg       = SessionSet.OrganizationID;
                courseware.PublishDate      = DateTime.Parse(datePublishDate.DateValue.ToString());
                courseware.Authors          = txtAuthors.Text;
                courseware.Revisers         = txtRevisers.Text;
                courseware.KeyWord          = txtKeyWord.Text;
                courseware.Description      = txtDescription.Text;
                courseware.Memo             = txtMemo.Text;
                courseware.IsGroupLearder   = Convert.ToInt32(ddlIsGroup.SelectedValue);
                courseware.TechnicianTypeID = Convert.ToInt32(ddlTech.SelectedValue);

                ArrayList al = new ArrayList();
                courseware.OrgIDAL = GetOrg(tvOrg.Nodes, al);

                ArrayList al1 = new ArrayList();

                foreach (TreeViewNode tn in tvPost.Nodes)
                {
                    if (tn.Checked)
                    {
                        al1.Add(tn.ID);
                    }

                    if (tn.Nodes.Count > 0)
                    {
                        foreach (TreeViewNode tns in tn.Nodes)
                        {
                            if (tns.Checked)
                            {
                                al1.Add(tns.ID);
                            }

                            if (tns.Nodes.Count > 0)
                            {
                                foreach (TreeViewNode tnss in tns.Nodes)
                                {
                                    if (tnss.Checked)
                                    {
                                        al1.Add(tnss.ID);
                                    }
                                }
                            }
                        }
                    }
                }
                courseware.PostIDAL = al1;

                ArrayList trainTypeIDList = new ArrayList();
                string[]  strType         = hfTrainTypeID.Value.Split(',');
                for (int i = 0; i < strType.Length; i++)
                {
                    if (!string.IsNullOrEmpty(strType[i]))
                    {
                        trainTypeIDList.Add(strType[i]);
                    }
                }
                courseware.TrainTypeIDAL = trainTypeIDList;

                int nCoursewareID = coursewareBLL.AddCourseware(courseware);

                if (!string.IsNullOrEmpty(strFullName))
                {
                    //strUrl = File1.PostedFile.FileName;//先取得全部的上传文件路径个名字,然后再利用SubString方法来得到用户名,现在看来是没有必要了


                    //strContentType = File1.PostedFile.ContentType;//获取文件MIME内容类型
                    //strFileType = strFullName.Substring(strFullName.LastIndexOf(".") + 1);//获取文件名字 . 后面的字符作为文件类型


                    //strSize = File1.PostedFile.ContentLength.ToString();


                    Directory.CreateDirectory(Server.MapPath("../Online/Courseware/" + nCoursewareID));
                    File1.SaveAs(Server.MapPath("../Online/Courseware/" + nCoursewareID + "/") + strFullName);                    //将文件保存在跟目录的UP文件夹下

                    courseware.CoursewareID = nCoursewareID;
                    courseware.Url          = "/RailExamBao/Online/Courseware/" + nCoursewareID + "/" + strFullName;

                    coursewareBLL.UpdateCourseware(courseware);
                }
                Response.Write("<script>window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>");
            }
            else                //修改
            {
                string strCoursewareID = Request.QueryString.Get("id");

                RailExam.Model.Courseware courseware = coursewareBLL.GetCourseware(Convert.ToInt32(strCoursewareID));
                courseware.CoursewareID     = int.Parse(strCoursewareID);
                courseware.CoursewareName   = txtCoursewareName.Text;
                courseware.CoursewareTypeID = int.Parse(hfCoursewareTypeID.Value);
                courseware.ProvideOrg       = int.Parse(hfProvideOrgID.Value);
                courseware.PublishDate      = DateTime.Parse(datePublishDate.DateValue.ToString());
                courseware.Authors          = txtAuthors.Text;
                courseware.Revisers         = txtRevisers.Text;
                courseware.KeyWord          = txtKeyWord.Text;
                courseware.Description      = txtDescription.Text;
                courseware.IsGroupLearder   = Convert.ToInt32(ddlIsGroup.SelectedValue);
                courseware.TechnicianTypeID = Convert.ToInt32(ddlTech.SelectedValue);
                courseware.OrderIndex       = Convert.ToInt32(hfOrderIndex.Value);

                strFullName = File1.FileName;                //直接取得文件名



                //strUrl = File1.PostedFile.FileName;//先取得全部的上传文件路径个名字,然后再利用SubString方法来得到用户名,现在看来是没有必要了


                //strContentType = File1.PostedFile.ContentType;//获取文件MIME内容类型
                //strFileType = strFullName.Substring(strFullName.LastIndexOf(".") + 1);//获取文件名字 . 后面的字符作为文件类型


                //strSize = File1.PostedFile.ContentLength.ToString();

                if (!string.IsNullOrEmpty(strFullName))
                {
                    FileInfo fi = new FileInfo(File1.FileName);

                    //如果是武汉,就判断只能上传.flv与.swf格式

                    //if (fi.Extension.ToLower() != ".flv" && fi.Extension.ToLower() != ".swf")
                    //{
                    //    SessionSet.PageMessage = "文件格式应为FLV或SWF视频! 现在格式为:" + fi.Extension.ToLower();
                    //    return;
                    //}

                    if (fi.Name.Replace(fi.Extension, "") != txtCoursewareName.Text)
                    {
                        SessionSet.PageMessage = "上传文件名与课件名不一致,请确认上传文件名!";
                        return;
                    }

                    if (File.Exists(Server.MapPath(courseware.Url)))
                    {
                        //string[] filelist = Directory.GetFileSystemEntries(Server.MapPath("../Online/Courseware/" + courseware.CoursewareID + "/"));
                        //foreach (string file in filelist)
                        //{
                        //    if(!Directory.Exists(file))
                        //    {
                        //        File.Delete(file);
                        //    }
                        //}
                        File.Delete(Server.MapPath(courseware.Url));
                    }

                    if (!Directory.Exists(Server.MapPath("../Online/Courseware/" + strCoursewareID)))
                    {
                        Directory.CreateDirectory(Server.MapPath("../Online/Courseware/" + strCoursewareID));
                    }

                    File1.SaveAs(Server.MapPath("../Online/Courseware/" + strCoursewareID + "/") + strFullName);                    //将文件保存在跟目录的UP文件夹下

                    courseware.Url = "/RailExamBao/Online/Courseware/" + strCoursewareID + "/" + strFullName;
                }
                courseware.Memo = txtMemo.Text;

                ArrayList al = new ArrayList();
                courseware.OrgIDAL = GetOrg(tvOrg.Nodes, al);

                ArrayList al1 = new ArrayList();

                foreach (TreeViewNode tn in tvPost.Nodes)
                {
                    if (tn.Checked)
                    {
                        al1.Add(tn.ID);
                    }

                    if (tn.Nodes.Count > 0)
                    {
                        foreach (TreeViewNode tns in tn.Nodes)
                        {
                            if (tns.Checked)
                            {
                                al1.Add(tns.ID);
                            }

                            if (tns.Nodes.Count > 0)
                            {
                                foreach (TreeViewNode tnss in tns.Nodes)
                                {
                                    if (tnss.Checked)
                                    {
                                        al1.Add(tnss.ID);
                                    }
                                }
                            }
                        }
                    }
                }
                courseware.PostIDAL = al1;

                ArrayList trainTypeIDList = new ArrayList();
                string[]  strType         = hfTrainTypeID.Value.Split(',');
                for (int i = 0; i < strType.Length; i++)
                {
                    if (!string.IsNullOrEmpty(strType[i]))
                    {
                        trainTypeIDList.Add(strType[i]);
                    }
                }
                courseware.TrainTypeIDAL = trainTypeIDList;

                coursewareBLL.UpdateCourseware(courseware);

                Response.Write("<script>window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>");
            }
        }