public async Task <IActionResult> Post(List <IFormFile> files) { long size = files.Sum(f => f.Length); // full path to file in temp location var filePath = Path.GetTempFileName(); var activies = _activityService.GetFullList(x => x.IsPublish, x => x.IsPublish, OrderingType.Descending).ToList(); if (activies.Count < 1) { base.SetMessager(MessageType.danger, "请先完善活动主题"); return(RedirectToAction("Index", "Activity")); } List <Schedule> list = new List <Schedule>(); try { foreach (var formFile in files) { if (formFile.Length > 0) { using (var stream = formFile.OpenReadStream()) { ExcelHelper excelHelper = new ExcelHelper(); string fileExtension = Path.GetExtension(formFile.FileName); DataTable table = excelHelper.ExcelImport(stream, fileExtension, 0); if (table != null) { foreach (DataRow row in table.Rows) { try { //if (row.ItemArray.Length != 6) //{ // continue; //} var rownum = row.ItemArray[0].ToString(); // 行号 var num = row["序号"].ToString(); // 序号 var accountnum = string.Empty; if (row["公司ID"] == null) { continue; } accountnum = row["公司ID"].ToString(); var controlId = string.Format("admin_{0}", accountnum.Trim());// 关联帐号 if (row["曲目"] == null) { continue; } var name = row["曲目"].ToString(); var comname = string.Empty; if (row["公司名称"] != null) { comname = row["公司名称"].ToString(); } if (row["组别"] == null) { continue; } var scheduleName = row["组别"].ToString(); if (string.IsNullOrEmpty(scheduleName)) { continue; } CompetitionProgram_EditVD cev = new CompetitionProgram_EditVD(); ///获取节目类别 var cate = cev.CateList.FirstOrDefault(x => x.Name.Equals(scheduleName)); if (cate == null) { continue; } var cateId = cate.Id; //获取指定节目 var result = _competitionProgramService.GetObject(x => name.Equals(x.Name)); var schedule = _scheduleService.GetObject(x => scheduleName.Equals(x.Name)); if (schedule == null) { continue; } CompetitionProgram competitionProgram = null; if (result == null) { competitionProgram = new CompetitionProgram() { Id = Guid.NewGuid().ToString("N"), Name = name, Company = comname, Desc = string.Empty, Flag = false, ControlId = controlId, ScheduleId = schedule.Id, BdImgUrl = string.Empty, BdImgUrlPwd = string.Empty, ImgUrl = string.Empty, Cate = cateId, UpdateTime = DateTime.Now, UpdatorId = UserName, UpdatorName = AdminUser == null ? "" : AdminUser.RealName, CreatorName = AdminUser == null ? "" : AdminUser.RealName, SignNum = string.Empty, Status = 0, Remark = string.Empty, CreateTime = DateTime.Now, CreatorId = UserName, }; } else { competitionProgram = result; competitionProgram.Name = name; competitionProgram.Desc = string.Empty; competitionProgram.ImgUrl = string.Empty; competitionProgram.Cate = cateId; competitionProgram.Remark = string.Empty; competitionProgram.ScheduleId = schedule.Id; competitionProgram.BdImgUrl = string.Empty; competitionProgram.BdImgUrlPwd = string.Empty; competitionProgram.Company = comname; competitionProgram.ControlId = controlId; competitionProgram.UpdatorId = UserName; competitionProgram.UpdatorName = AdminUser == null ? "" : AdminUser.RealName; competitionProgram.UpdateTime = DateTime.Now; competitionProgram.SignNum = string.Empty; competitionProgram.Status = 0; competitionProgram.UpdateTime = DateTime.Now; competitionProgram.UpdatorId = UserName; competitionProgram.UpdatorName = AdminUser == null ? "" : AdminUser.RealName; } await TryUpdateModelAsync(competitionProgram, "", v => v.Name , v => v.Desc , v => v.ImgUrl , v => v.Cate , v => v.Remark , v => v.Desc , v => v.BdImgUrl , v => v.BdImgUrlPwd , v => v.Company , v => v.ControlId , v => v.UpdatorId , v => v.UpdatorName , v => v.UpdateTime , v => v.SignNum , v => v.Status , v => v.UpdateTime , v => v.UpdatorId , v => v.UpdatorName); _competitionProgramService.SaveObject(competitionProgram); } catch (Exception ex) { continue; } } } await Task.Delay(10); // await formFile.CopyToAsync(stream); } } } } catch (Exception ex) { var error = ex.Message; } // process uploaded files // Don't rely on or trust the FileName property without validation. return(Ok(new { count = files.Count, size, filePath })); }
private async Task <ProjectMember> SaveObj(CompetitionProgram_EditVD model, CompetitionProgram competitionProgram, ProjectMember pm) { try { await TryUpdateModelAsync(competitionProgram, "", v => v.Name , v => v.Desc , v => v.ImgUrl , v => v.Cate , v => v.Remark , v => v.Desc , v => v.BdImgUrl , v => v.BdImgUrlPwd , v => v.Company , v => v.ControlId , v => v.UpdatorId , v => v.UpdatorName , v => v.UpdateTime , v => v.SignNum , v => v.Status , v => v.UpdateTime , v => v.UpdatorId , v => v.UpdatorName); _competitionProgramService.SaveObject(competitionProgram); if (pm != null) { _projectMemberService.SaveObject(pm); } else { if (!string.IsNullOrEmpty(model.LeaderName)) { pm = new ProjectMember { Id = Guid.NewGuid().ToString("N"), Company = model.LeaderCom, Duty = model.LeaderDuty, Email = string.Empty, CreateTime = DateTime.Now, Flag = false, Gender = 0, Name = model.LeaderName, Nation = model.LeaderNation, ProjectId = competitionProgram.Id, Phone = model.LeaderPhone, UpdateTime = DateTime.Now, IsLeader = true, IdCard = model.LeaderCard, Sort = 1, }; _projectMemberService.SaveObject(pm); } } //base.SetMessager(MessageType.success, $"{(isEdit ? "修改" : "新增")}成功!"); //return RedirectToAction("Index"); } catch (Exception ex) { //base.SetMessager(MessageType.danger, $"{(isEdit ? "修改" : "新增")}失败!" + ex.Message); //return RedirectToAction("Index"); } return(pm); }
public ActionResult Index(string kw = null, string ProjectId = "", int pageIndex = 1) { var activies = _activityService.GetFullList(x => x.IsPublish, x => x.IsPublish, OrderingType.Descending).ToList(); if (activies.Count < 1) { base.SetMessager(MessageType.danger, "请先完善活动主题"); return(RedirectToAction("Index")); } var curactivity = activies.Select(x => x.Id).ToList(); // List<Schedule> list = new List<Schedule>(); var clist = _scheduleService.GetFullList(x => curactivity.Contains(x.ActivityId), x => x.Sort, OrderingType.Ascending).ToList().Select(x => x.Id).ToList(); var modellist = _competitionProgramService.GetFullList(x => clist.Contains(x.ScheduleId), x => x.CreateTime, OrderingType.Descending).Select(x => x).ToList(); var seh = new SenparcExpressionHelper <ProjectMember>(); seh.ValueCompare.AndAlso(true, z => !z.Flag) .AndAlso(!kw.IsNullOrEmpty(), z => z.Name.Contains(kw) || z.Company.Contains(kw) || z.Duty.Contains(kw) || z.Phone.Contains(kw) || z.Nation.Contains(kw)); if (!string.IsNullOrEmpty(ProjectId)) { seh.ValueCompare.AndAlso(true, z => z.ProjectId == ProjectId); } var where = seh.BuildWhereExpression(); //var seh = new SenparcExpressionHelper<ProjectMember>(); //seh.ValueCompare.AndAlso(true, z => !z.Flag) // .AndAlso(!kw.IsNullOrEmpty(), z => z.Name.Contains(kw) || z.Company.Contains(kw) || z.Duty.Contains(kw) || z.Phone.Contains(kw) || z.Nation.Contains(kw)); //var where = seh.BuildWhereExpression(); var modelList = _projectMemberService.GetObjectList(pageIndex, 10000, where, z => z.Id, OrderingType.Descending); List <ProjectMember_EditVD> list = new List <ProjectMember_EditVD>(); modelList.ForEach(x => { var leader = new CompetitionProgram(); if (!string.IsNullOrEmpty(x.ProjectId)) { var cleader = _competitionProgramService.GetObject(xp => xp.Id == x.ProjectId); if (cleader != null) { leader = cleader; } } var strcateName = string.Empty; if (leader.Schedule == null) { leader.Schedule = _scheduleService.GetObject(s => s.Id == leader.ScheduleId); } list.Add(new ProjectMember_EditVD { ProjectId = x.ProjectId, Name = x.Name, Nation = x.Nation, IdCard = x.IdCard, Company = x.Company, Duty = x.Duty, Gender = x.Gender, Id = x.Id, Phone = x.Phone, CreateTime = x.CreateTime, CompetitionProgram = leader, Email = x.Email, IsLeader = x.IsLeader, HeadImgUrl = x.HeadImgUrl, IdCardImgUrl = x.IdCardImgUrl, UserName = x.Phone }); }); var vd = new ProjectIndex_EditVD() { CompetitionProgramList = new PagedList <ProjectMember_EditVD>(list, pageIndex, modelList.PageCount, modelList.TotalCount, modelList.SkipCount), kw = kw, ProjectId = ProjectId, CpList = modellist }; return(View(vd)); }
public async Task <IActionResult> Edit(CompetitionProgram_EditVD model) { bool isEdit = !string.IsNullOrEmpty(model.Id); bool iseditManger = false; if (!ModelState.IsValid) { return(View(model)); } CompetitionProgram competitionProgram = null; // CompetitionProgram ProjectMember pm = null; if (isEdit) { competitionProgram = _competitionProgramService.GetObject(z => z.Id == model.Id); if (competitionProgram == null) { base.SetMessager(MessageType.danger, "信息不存在!"); return(RedirectToAction("Index")); } pm = _projectMemberService.GetObject(x => x.ProjectId == competitionProgram.Id); if (pm != null) { // pm.Id = Guid.NewGuid().ToString("N"); pm.Company = model.LeaderCom; pm.Duty = model.LeaderDuty; pm.Email = model.LeaderEmail; //pm.CreateTime = DateTime.Now; pm.Flag = false; pm.Gender = 0; pm.Name = model.LeaderName; pm.Nation = model.LeaderNation; pm.ProjectId = competitionProgram.Id; pm.Phone = model.LeaderPhone; pm.UpdateTime = DateTime.Now; pm.IsLeader = true; pm.IdCard = model.LeaderCard; pm.Sort = 1; } competitionProgram.Name = model.Name; competitionProgram.Desc = model.Desc; competitionProgram.ImgUrl = model.ImgUrl; competitionProgram.Cate = model.Cate; competitionProgram.Remark = model.Remark; competitionProgram.ScheduleId = model.ProjectId; competitionProgram.Desc = model.Desc; competitionProgram.BdImgUrl = model.BdImgUrl; competitionProgram.BdImgUrlPwd = model.BdImgUrlPwd; competitionProgram.Company = model.Company; competitionProgram.ControlId = model.ControlId; competitionProgram.UpdatorId = UserName; competitionProgram.UpdatorName = AdminUser == null ? "" : AdminUser.RealName; competitionProgram.UpdateTime = DateTime.Now; competitionProgram.SignNum = model.SignNum; competitionProgram.Status = model.Status; competitionProgram.UpdateTime = DateTime.Now; competitionProgram.UpdatorId = UserName; competitionProgram.UpdatorName = AdminUser == null ? "" : AdminUser.RealName; } else { competitionProgram = new CompetitionProgram() { Id = Guid.NewGuid().ToString("N"), Name = model.Name, Company = model.Company, Desc = model.Desc, Flag = false, ControlId = model.ControlId, ScheduleId = model.ProjectId, BdImgUrl = model.BdImgUrl, BdImgUrlPwd = model.BdImgUrlPwd, ImgUrl = model.ImgUrl, Cate = model.Cate, UpdateTime = DateTime.Now, UpdatorId = UserName, UpdatorName = AdminUser == null ? "" : AdminUser.RealName, CreatorName = AdminUser == null ? "" : AdminUser.RealName, SignNum = model.SignNum, Status = model.Status, Remark = model.Remark, CreateTime = DateTime.Now, CreatorId = UserName, }; } try { await TryUpdateModelAsync(competitionProgram, "", v => v.Name , v => v.Desc , v => v.ImgUrl , v => v.Cate , v => v.Remark , v => v.Desc , v => v.BdImgUrl , v => v.BdImgUrlPwd , v => v.Company , v => v.ControlId , v => v.UpdatorId , v => v.UpdatorName , v => v.UpdateTime , v => v.SignNum , v => v.Status , v => v.UpdateTime , v => v.UpdatorId , v => v.UpdatorName); _competitionProgramService.SaveObject(competitionProgram); if (pm != null) { _projectMemberService.SaveObject(pm); } else { if (!string.IsNullOrEmpty(model.LeaderName)) { pm = new ProjectMember { Id = Guid.NewGuid().ToString("N"), Company = model.LeaderCom, Duty = model.LeaderDuty, Email = string.Empty, CreateTime = DateTime.Now, Flag = false, Gender = 0, Name = model.LeaderName, Nation = model.LeaderNation, ProjectId = competitionProgram.Id, Phone = model.LeaderPhone, UpdateTime = DateTime.Now, IsLeader = true, IdCard = model.LeaderCard, Sort = 1, }; _projectMemberService.SaveObject(pm); } } base.SetMessager(MessageType.success, $"{(isEdit ? "修改" : "新增")}成功!"); return(RedirectToAction("Index")); } catch (Exception ex) { base.SetMessager(MessageType.danger, $"{(isEdit ? "修改" : "新增")}失败!" + ex.Message); return(RedirectToAction("Index")); } }
/// <summary> /// /// </summary> /// <returns></returns> public ActionResult ExportMember() { var activies = _activityService.GetFullList(x => x.IsPublish, x => x.IsPublish, OrderingType.Descending).ToList(); if (activies.Count < 1) { base.SetMessager(MessageType.danger, "请先完善活动主题"); return(RedirectToAction("Index")); } var curactivity = activies.Select(x => x.Id).ToList(); // List<Schedule> list = new List<Schedule>(); var clist = _scheduleService.GetFullList(x => curactivity.Contains(x.ActivityId), x => x.Sort, OrderingType.Ascending).ToList().Select(x => x.Id).ToList(); var modellist = _competitionProgramService.GetFullList(x => clist.Contains(x.ScheduleId), x => x.CreateTime, OrderingType.Descending).Select(x => x).ToList(); var seh = new SenparcExpressionHelper <ProjectMember>(); //seh.ValueCompare.AndAlso(true, z => !z.Flag) // .AndAlso(!kw.IsNullOrEmpty(), z => z.Name.Contains(kw) || z.Company.Contains(kw) || z.Duty.Contains(kw) || z.Phone.Contains(kw) || z.Nation.Contains(kw)); //if (!string.IsNullOrEmpty(ProjectId)) //{ // seh.ValueCompare.AndAlso(true, z => z.ProjectId == ProjectId); //} var where = seh.BuildWhereExpression(); //var seh = new SenparcExpressionHelper<ProjectMember>(); //seh.ValueCompare.AndAlso(true, z => !z.Flag) // .AndAlso(!kw.IsNullOrEmpty(), z => z.Name.Contains(kw) || z.Company.Contains(kw) || z.Duty.Contains(kw) || z.Phone.Contains(kw) || z.Nation.Contains(kw)); //var where = seh.BuildWhereExpression(); var modelList = _projectMemberService.GetObjectList(1, 20000, where, z => z.Id, OrderingType.Descending); List <ProjectMember_EditVD> list = new List <ProjectMember_EditVD>(); modelList.ForEach(x => { var leader = new CompetitionProgram(); if (!string.IsNullOrEmpty(x.ProjectId)) { var cleader = _competitionProgramService.GetObject(xp => xp.Id == x.ProjectId); if (cleader != null) { leader = cleader; } } var strcateName = string.Empty; if (leader.Schedule == null) { leader.Schedule = _scheduleService.GetObject(s => s.Id == leader.ScheduleId); } list.Add(new ProjectMember_EditVD { ProjectId = x.ProjectId, Name = x.Name, Nation = x.Nation, IdCard = x.IdCard, Company = x.Company, Duty = x.Duty, Gender = x.Gender, Id = x.Id, Phone = x.Phone, CreateTime = x.CreateTime, CompetitionProgram = leader, Email = x.Email, IsLeader = x.IsLeader, HeadImgUrl = x.HeadImgUrl, IdCardImgUrl = x.IdCardImgUrl, UserName = x.Phone }); }); List <ExportProMemberTable> exportProMemberTables = new List <ExportProMemberTable>(); var i = 1; list.OrderBy(x => x.ProjectId).ToList().ForEach(x => { ExportProMemberTable rowItem = new ExportProMemberTable { Sort = i.ToString(), CompanyId = x.CompetitionProgram.ControlId, Company = x.CompetitionProgram.Company, ContactTel = x.Phone, IdCard = x.IdCard, Name = x.Name, Nation = x.Nation, ProjectName = x.CompetitionProgram.Name, ProjectType = CateManager.GetCateName(x.CompetitionProgram.Cate), WorkCom = x.Company }; exportProMemberTables.Add(rowItem); i++; }); var datatable = DataTableListUtil.ListToDt <ExportProMemberTable>(exportProMemberTables); ExcelHelper excelHelper = new ExcelHelper(); ExcelConfig excelConfig = new ExcelConfig() { Title = "参赛者列表", ColumnEntity = new List <ColumnModel>(), IsAllSizeColumn = true, }; var props = typeof(ExportProMemberTable).GetProperties(); // var dt = new DataTable(); string proName = ""; excelConfig.ColumnEntity.AddRange(props.Select(p => { switch (p.Name) { case "Sort": proName = "序号"; break; case "CompanyId": proName = "公司ID"; break; case "Company": proName = "公司"; break; case "ProjectName": proName = "参演项目"; break; case "ProjectType": proName = "参演项目类型"; break; case "Name": proName = "姓名"; break; case "WorkCom": proName = "工作单位"; break; case "ContactTel": proName = "联系电话"; break; case "Nation": proName = "民族"; break; case "IdCard": proName = "身份证号"; break; default: proName = p.Name; break; } return(new ColumnModel() { Column = p.Name, ExcelColumn = proName, }); }).ToArray()); return(excelHelper.ExcelDownload(datatable, excelConfig, string.Format("{0}_参赛者表", DateTime.Now.ToString("yyyyMMddHHmm")))); //var vd = new ProjectIndex_EditVD() //{ // CompetitionProgramList = new PagedList<ProjectMember_EditVD>(list, pageIndex, modelList.PageCount, modelList.TotalCount, modelList.SkipCount), // kw = kw, // ProjectId = ProjectId, // CpList = modellist //}; // return View(null); }