public HttpResponseMessage ExportPaperExcel([FromBody] ExportPaper m) { var eInfo = MongoDbHelper.FindOne <E_Info>(m.ExamID, DbName.E_Info); if (eInfo == null) { return(ResultHelper.Failed("未查到当前考试")); } var filter = new BsonDocument(); filter.Add("eid", eInfo._id); if (!string.IsNullOrEmpty(m.School)) { int id = -1; if (int.TryParse(m.School, out id)) { filter.Add("sid", m.School); } else { filter.Add("snm", m.School); } } var sts = MongoDbHelper.GetPagedList1 <Pp_Nm, string>(DbName.Pp_Nm, 0, 0, filter, w => w.sid); List <string> data = ExcelBLL.GetPaperColumn(eInfo); DataTable dt = new DataTable(); for (int j = 0; j < data.Count; j++) { dt.Columns.Add(data[j]); } for (int i = 0; i < sts.Count; i++) { DataRow dr = dt.NewRow(); var count = 0; dr[0] = sts[i].sid; dr[1] = sts[i].snm; for (int j = 0; j < eInfo.sbs.Count; j++) { var pp = sts[i].sbnms.Where(w => w.sbnm == eInfo.sbs[j].sbnm).FirstOrDefault(); if (pp != null) { dr[3 + j] = pp.sct; count += pp.sct; } else { dr[3 + j] = 0; } } dr[2] = count; dt.Rows.Add(dr); } string file = ExcelBLL.BuildExcel1(data.ToArray(), dt); string url = RequestContext.Url.Request.RequestUri.Authority + "\\" + file; return(ResultHelper.OK(url)); }
public bool AddExportPaper(ExportPaper exportPaper) { var exportPaperRepo = RepositoryHelper.GetRepository <IExportPaperRepository>(UnitOfWork); var exportPaperDetailRepo = RepositoryHelper.GetRepository <IExportPaperDetailRepository>(UnitOfWork); var supplyRepo = RepositoryHelper.GetRepository <ISupplyRepository>(UnitOfWork); var allSupply = supplyRepo.GetAll(); using (var transaction = UnitOfWork.BeginTransaction()) { try { var exportPerDto = new ExportPaper(); exportPerDto.CreateDate = DateTime.Now; exportPerDto.ExportPaperCode = exportPaper.ExportPaperCode; exportPerDto.Note = exportPaper.Note; exportPerDto.IsDeleted = false; exportPerDto.Status = exportPaper.Status; exportPaperRepo.Create(exportPerDto); var dbValresults = UnitOfWork.SaveChanges(); if (dbValresults.Any()) { transaction.Rollback(); return(false); } foreach (var item in exportPaper.ExportPaperDetails) { var currentSupply = allSupply.SingleOrDefault(x => x.SuppliesId == item.SuppliesId); currentSupply.Quantity -= item.Quantity; var exportPaperDetail = new ExportPaperDetail() { ExportPaperId = exportPerDto.ExportPaperId, Quantity = item.Quantity, Unit = item.Unit, Note = item.Note, SuppliesId = item.SuppliesId }; exportPaperDetailRepo.Create(exportPaperDetail); } dbValresults = UnitOfWork.SaveChanges(); if (dbValresults.Any()) { transaction.Rollback(); return(false); } transaction.Commit(); return(true); } catch (Exception ex) { transaction.Rollback(); return(true); } } }
public JsonResult AddExportPaper(ExportPaper exportPaper) { var result = _exportPaperService.AddExportPaper(exportPaper); return(Json(new { success = true, data = result, })); }