コード例 #1
0
        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));
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
        public JsonResult AddExportPaper(ExportPaper exportPaper)
        {
            var result = _exportPaperService.AddExportPaper(exportPaper);

            return(Json(new
            {
                success = true,
                data = result,
            }));
        }