Пример #1
0
        /// <summary>
        /// 修改申请书提交日期参数
        /// </summary>
        /// <returns></returns>
        public SysSettingHistory UpdateApplicationSetting(GetApplicationSettingDTO appSetting)
        {
            //验证提交日期合法
            if ((appSetting.ApplicationSubmitBeginTime < appSetting.ApplicationSubmitDeadline) &&
                (appSetting.ApplicationSubmitDeadline <= appSetting.ApplicationVerifyDeadline) &&
                (appSetting.ApplicationVerifyDeadline < appSetting.ApplicationExpertDeadline) &&
                (DateTime.Now.Year <= appSetting.ApplicationStartYear && appSetting.ApplicationStartYear <= DateTime.Now.AddYears(3).Year)
                )
            {
                Configuration      config     = WebConfigurationManager.OpenWebConfiguration("~/");
                AppSettingsSection appSection = (AppSettingsSection)config.GetSection("appSettings");

                appSetting.ApplicationSubmitBeginTime =
                    Convert.ToDateTime(appSetting.ApplicationSubmitBeginTime.ToString("yyyy-MM-dd") + " 00:00:00");
                appSection.Settings["ApplicationSubmitBeginTime"].Value = appSetting.ApplicationSubmitBeginTime.ToString("yyyy-MM-dd HH:mm:ss");

                appSetting.ApplicationSubmitDeadline =
                    Convert.ToDateTime(appSetting.ApplicationSubmitDeadline.ToString("yyyy-MM-dd") + " 23:59:59");
                appSection.Settings["ApplicationSubmitDeadline"].Value = appSetting.ApplicationSubmitDeadline.ToString("yyyy-MM-dd HH:mm:ss");

                appSetting.ApplicationVerifyDeadline =
                    Convert.ToDateTime(appSetting.ApplicationVerifyDeadline.ToString("yyyy-MM-dd") + " 23:59:59");
                appSection.Settings["ApplicationVerifyDeadline"].Value = appSetting.ApplicationVerifyDeadline.ToString("yyyy-MM-dd HH:mm:ss");

                appSetting.ApplicationExpertDeadline =
                    Convert.ToDateTime(appSetting.ApplicationExpertDeadline.ToString("yyyy-MM-dd") + " 23:59:59");
                appSection.Settings["ApplicationExpertDeadline"].Value = appSetting.ApplicationExpertDeadline.ToString("yyyy-MM-dd HH:mm:ss");

                appSection.Settings["ApplicationStartYear"].Value = appSetting.ApplicationStartYear.ToString();

                config.Save();

                using (var db = new AspodesDB())
                {
                    SysSettingHistory setings = new SysSettingHistory();
                    setings.ApplicationSubmitBeginTime = SystemConfig.ApplicationSubmitBeginTime;
                    setings.ApplicationSubmitDeadline  = SystemConfig.ApplicationSubmitDeadline;
                    setings.ApplicationVerifyDeadline  = SystemConfig.ApplicationVerifyDeadline;
                    setings.ApplicationExpertDeadline  = SystemConfig.ApplicationExpertDeadline;
                    setings.ApplicationStartYear       = SystemConfig.ApplicationStartYear;

                    setings.UpdateTime = DateTime.Now;
                    setings.UpdateId   = HttpContext.Current.User.Identity.Name;
                    setings.UpdateIp   = HttpContext.Current.Request.UserHostAddress;

                    var aa = db.SysSettingHistorys.Add(setings);

                    db.SaveChanges();
                    return(aa);
                }
            }
            else
            {
                throw new ModelValidException("日期参数不符合规定");
            }
        }
Пример #2
0
        /// <summary>
        /// 开启第year年度的申请
        /// </summary>
        /// <param name="year">申请年度</param>
        public void StartApplication(int year)
        {
            if (year <= 0 || SystemConfig.ApplicationStartYear >= year)
            {
                throw new OtherException("请年度不合法或者已经使用");
            }

            using (var db = new AspodesDB())
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        //添加修改记录
                        SysSettingHistory setings = new SysSettingHistory();
                        setings.ApplicationStartYear = SystemConfig.ApplicationStartYear;
                        setings.UpdateTime           = DateTime.Now;
                        setings.UpdateId             = HttpContext.Current.User.Identity.Name;
                        setings.UpdateIp             = HttpContext.Current.Request.UserHostAddress;
                        db.SysSettingHistorys.Add(setings);

                        //重置一些字段
                        string resetProjectTypeLimit     = "update ProjectTypes set Limit=0;";
                        string resetExpertReviewAmount   = "update [User] set ReviewAmount=0;";
                        string setRevewAssignmentOverdue = "update ReviewAssignment set Overdue=1 where Overdue = 0;";

                        db.Database.ExecuteSqlCommand(resetProjectTypeLimit);
                        db.Database.ExecuteSqlCommand(resetExpertReviewAmount);
                        db.Database.ExecuteSqlCommand(setRevewAssignmentOverdue);

                        //修改配置文件
                        Configuration      config     = WebConfigurationManager.OpenWebConfiguration("~/");
                        AppSettingsSection appSection = (AppSettingsSection)config.GetSection("appSettings");
                        appSection.Settings["ApplicationStartYear"].Value = year.ToString();
                        config.Save();

                        //删除临时文件
                        //删除压缩的临时文件
                        DirectoryInfo subdir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SystemConfig.DeleteZipFileAddress));
                        if (subdir.Exists)
                        {
                            subdir.Delete(true);
                            subdir.Create();
                        }
                        subdir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SystemConfig.ExportExcel));
                        if (subdir.Exists)
                        {
                            subdir.Delete(true);
                            subdir.Create();
                        }

                        transaction.Commit();
                    }
                    catch (Exception e)
                    {
                        transaction.Rollback();
                        throw e;
                    }
                }
            }
        }