コード例 #1
0
        public string Create(ProjPlan projPlan)
        {
            // 判断是否有重复的项目名称,如有重复不允许新增
            ProjPlan plan = dbContext.ProjPlans.ToList().Find(a => a.ProjID == projPlan.ProjID);
            if (plan != null)
            {
                return "<p class='alert alert-danger'>出错了: " + projPlan.ProjName + "的项目计划表已存在,不允许重复添加!" + "</p>";
            }

            try
            {
                dbContext.ProjPlans.Add(projPlan);
                dbContext.SaveChanges();

                return Constants.AJAX_CREATE_SUCCESS_RETURN;
            }
            catch (Exception e1)
            {
                return "<p class='alert alert-danger'>出错了: " + e1.Message + "</p>";
            }
        }
コード例 #2
0
        public ActionResult Import(HttpPostedFileBase file, int ProjID)
        {
            if (file == null)
            {
                ViewBag.Msg = "<p class='alert alert-danger'>未获取到文件</p>";
            }
            else
            {
                // 判断文件夹是否存在,不存在则创建文件夹
                var dir = HttpContext.Server.MapPath("~/Upload/temp");
                if (Directory.Exists(dir) == false)//如果不存在就创建file文件夹
                {
                    Directory.CreateDirectory(dir);
                }
                string filePath = Path.Combine(dir, Path.GetFileName(file.FileName));
                try
                {
                    file.SaveAs(filePath);
                    // 读取Excel文件
                    FileInfo excelFile = new FileInfo(filePath);

                    using (ExcelPackage ep = new ExcelPackage(excelFile))
                    {
                        ExcelWorksheet worksheet = ep.Workbook.Worksheets[1];

                        int rowStart = worksheet.Dimension.Start.Row;       //工作区开始行号
                        int rowEnd = worksheet.Dimension.End.Row;       //工作区结束行号
                        var ls = dbContext.ProjPlans.ToList();

                        var tmpLs = new List<ProjPlan>(ls.ToArray());

                        for (int row = rowStart + 1; row <= rowEnd; row++)
                        {
                            // 第一列为空则结束
                            if (worksheet.Cells[row, 1] == null) break;

                            // ProjID重复的不导入
                            if (tmpLs.Find(a => a.ProjID == ProjID) != null)
                            {
                                continue;
                            }

                            ProjPlan p = new ProjPlan();
                            // 按列赋值
                            p.ProjID = ProjID;
                            string FoundGroupDate = worksheet.Cells[row, 1].GetValue<string>();
                            string OutlineStartDate = worksheet.Cells[row, 2].GetValue<string>();
                            string OutlineFinishDate = worksheet.Cells[row, 3].GetValue<string>();
                            string ReqStartDate = worksheet.Cells[row, 4].GetValue<string>();
                            string ReqFinishDate = worksheet.Cells[row, 5].GetValue<string>();
                            string ReviewStartDate = worksheet.Cells[row, 6].GetValue<string>();
                            string ReviewFinishDate = worksheet.Cells[row, 7].GetValue<string>();
                            string BusiFeasiStartDate = worksheet.Cells[row, 8].GetValue<string>();
                            string BusiFeasiFinishDate = worksheet.Cells[row, 9].GetValue<string>();
                            string TechFeasiStartDate = worksheet.Cells[row, 10].GetValue<string>();
                            string TechFeasiFinishDate = worksheet.Cells[row, 11].GetValue<string>();
                            string TechFeasiReviewStartDate = worksheet.Cells[row, 12].GetValue<string>();
                            string TechFeasiReviewFinishDate = worksheet.Cells[row, 13].GetValue<string>();
                            string SoftBudgetStartDate = worksheet.Cells[row, 14].GetValue<string>();
                            string SoftBudgetFinishDate = worksheet.Cells[row, 15].GetValue<string>();
                            string ImplementPlansStartDate = worksheet.Cells[row, 16].GetValue<string>();
                            string ImplementPlansFinishDate = worksheet.Cells[row, 17].GetValue<string>();

                            if (!string.IsNullOrEmpty(FoundGroupDate)) p.FoundGroupDate = DateTime.Parse(worksheet.Cells[row, 1].GetValue<string>());
                            if (!string.IsNullOrEmpty(OutlineStartDate)) p.OutlineStartDate = DateTime.Parse(worksheet.Cells[row, 2].GetValue<string>());
                            if (!string.IsNullOrEmpty(OutlineFinishDate)) p.OutlineFinishDate = DateTime.Parse(worksheet.Cells[row, 3].GetValue<string>());
                            if (!string.IsNullOrEmpty(ReqStartDate)) p.ReqStartDate = DateTime.Parse(worksheet.Cells[row, 4].GetValue<string>());
                            if (!string.IsNullOrEmpty(ReqFinishDate)) p.ReqFinishDate = DateTime.Parse(worksheet.Cells[row, 5].GetValue<string>());
                            if (!string.IsNullOrEmpty(ReviewStartDate)) p.ReviewStartDate = DateTime.Parse(worksheet.Cells[row, 6].GetValue<string>());
                            if (!string.IsNullOrEmpty(ReviewFinishDate)) p.ReviewFinishDate = DateTime.Parse(worksheet.Cells[row, 7].GetValue<string>());
                            if (!string.IsNullOrEmpty(BusiFeasiStartDate)) p.BusiFeasiStartDate = DateTime.Parse(worksheet.Cells[row, 8].GetValue<string>());
                            if (!string.IsNullOrEmpty(BusiFeasiFinishDate)) p.BusiFeasiFinishDate = DateTime.Parse(worksheet.Cells[row, 9].GetValue<string>());
                            if (!string.IsNullOrEmpty(TechFeasiStartDate)) p.TechFeasiStartDate = DateTime.Parse(worksheet.Cells[row, 10].GetValue<string>());
                            if (!string.IsNullOrEmpty(TechFeasiFinishDate)) p.TechFeasiFinishDate = DateTime.Parse(worksheet.Cells[row, 11].GetValue<string>());
                            if (!string.IsNullOrEmpty(TechFeasiReviewStartDate)) p.TechFeasiReviewStartDate = DateTime.Parse(worksheet.Cells[row, 12].GetValue<string>());
                            if (!string.IsNullOrEmpty(TechFeasiReviewFinishDate)) p.TechFeasiReviewFinishDate = DateTime.Parse(worksheet.Cells[row, 13].GetValue<string>());
                            if (!string.IsNullOrEmpty(SoftBudgetStartDate)) p.SoftBudgetStartDate = DateTime.Parse(worksheet.Cells[row, 14].GetValue<string>());
                            if (!string.IsNullOrEmpty(SoftBudgetFinishDate)) p.SoftBudgetFinishDate = DateTime.Parse(worksheet.Cells[row, 15].GetValue<string>());
                            if (!string.IsNullOrEmpty(ImplementPlansStartDate)) p.ImplementPlansStartDate = DateTime.Parse(worksheet.Cells[row, 16].GetValue<string>());
                            if (!string.IsNullOrEmpty(ImplementPlansFinishDate)) p.ImplementPlansFinishDate = DateTime.Parse(worksheet.Cells[row, 17].GetValue<string>());

                            dbContext.ProjPlans.Add(p);
                            tmpLs.Add(p);
                        }
                        // 保存
                        int realNum = dbContext.SaveChanges();

                        string s = string.Format("<p class='alert alert-success'>《{0}》处理成功!共{1}条数据,实际导入{2}条数据</p>", file.FileName, rowEnd - rowStart, realNum);

                        ViewBag.Msg = s;
                    }
                }
                catch (Exception e1)
                {
                    ViewBag.Msg = "<p class='alert alert-danger'>出错了: " + e1.Message + "</p>";
                }
                finally
                {
                    // 完成后删除文件
                    if (System.IO.File.Exists(filePath))
                    {
                        System.IO.File.Delete(filePath);
                    }
                }
            }

            // 项目列表
            var r = dbContext.Projs.ToList();
            ViewBag.ProjList = new SelectList(r, "ProjID", "ProjName", ProjID);
            return View();
        }
コード例 #3
0
        public string Edit(ProjPlan projPlan)
        {
            if (projPlan.ProjID != projPlan.OldProjID)
            {
                // 若项目名称改变,则判断新改的系统名称是否有重复,如有重复不允许新增
                ProjPlan plan = dbContext.ProjPlans.ToList().Find(a => a.ProjName == projPlan.ProjName);
                if (plan != null)
                {
                    return "<p class='alert alert-danger'>出错了: " + projPlan.ProjName + "的项目计划表已存在,不允许更新!" + "</p>";
                }
            }

            try
            {
                dbContext.Entry(projPlan).State = System.Data.Entity.EntityState.Modified;
                dbContext.SaveChanges();

                return Constants.AJAX_EDIT_SUCCESS_RETURN;
            }
            catch (Exception e1)
            {
                return "<p class='alert alert-danger'>出错了: " + e1.Message + "</p>";
            }
        }