12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.EntityFrameworkCore;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using wispro.sp.entity;
- using wispro.sp.share;
- namespace wispro.sp.api.Controllers
- {
- [Route("api/[controller]/[action]")]
- [ApiController]
- public class AppealController : ControllerBase
- {
- spDbContext Context;
- public AppealController(spDbContext context)
- {
- Context = context;
- }
- public List<AppealType> GetAppealTypes()
- {
- return Context.AppealTypes.ToList();
- }
- public List<InputField> GetInputField(int appealTypeId, int state)
- {
- return Context.InputFields
- .Where<InputField>(ip => ip.AppealTypeId == appealTypeId && ip.AppealState == state)
- .Include(p => p.SelectValues)
- .ToList();
- }
- public IActionResult CreateAppeal(int ItemId, int typeid, int reviewerId, AppealObject appealObject)
- {
- AppealRecord appealRecord = new AppealRecord();
- appealRecord.ItemId = ItemId;
- appealRecord.TypeId = typeid;
- appealRecord.ReviewerId = reviewerId;
- appealRecord.CreaterId = 11;// Context.Staffs.Where<Staff>(s => s.Name == User.Identity.Name).FirstOrDefault().Id;
- appealRecord.CreateTime = DateTime.Now;
- var t = Context.Database.BeginTransaction();
- try
- {
- Context.AppealRecords.Add(appealRecord);
- Context.SaveChanges();
- foreach (var fieldValue in appealObject.inputFieldValues)
- {
- fieldValue.InputField = null;
- fieldValue.AppealRecordId = appealRecord.Id;
- }
- Context.InputFieldValues.AddRange(appealObject.inputFieldValues);
- foreach (var file in appealObject.attachFiles)
- {
- var temFile = Context.AttachFiles.Where<AttachFile>(f => f.Id == file.Id).FirstOrDefault();
- temFile.AppealRecordId = appealRecord.Id;
- }
- Context.SaveChanges();
- t.Commit();
- return Ok();
- }
- catch (Exception ex)
- {
- t.Rollback();
- return BadRequest(ex.Message);
- }
- }
- public List<AppealRecord> GetAppealRecords(int userId)
- {
- var data = Context.AppealRecords.Where<AppealRecord>(ar => ar.CreaterId == userId || ar.ReviewerId == userId);
- return data.Include(p => p.Reviewer)
- .Include(p => p.Creater)
- .Include(p => p.Item)
- .Include(p => p.Type).ToList();
-
- }
- }
- }
|