using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using Weee.Models; using Weee.Models.Paramemter; using Weee.Service; using PagedList; using Weee.Filter; using System.Web; using System.IO; using Qcarbon.ViewModels.DTO; using Microsoft.AspNet.Identity; namespace Weee.Controllers { public class EmployeeCommutingController : ApiControllerBase { private readonly string userNm; private readonly WeeeEmployeeCommutingService empCommutService; private readonly WeeeSheetDataService service; public EmployeeCommutingController(WeeeSheetDataService d, WeeeEmployeeCommutingService employeeCommutingService) : base(d) { userNm = User.Identity.GetUserName(); service = d; empCommutService = employeeCommutingService; } [Route("api/EmployeeCommuting/GetByLcaId/{LCAID}")] public object GetByLcaId(int LCAID, int page = 1, string search = "", int pagesize = 15) { var its = empCommutService.GetByLCAID(LCAID); var _exlNms = empCommutService.GetExcelColumnsNms(); var _commOptions = empCommutService.GetCommutingKeyValue(); object ret = new { tblist = its, exlNms = _exlNms, commOptions = _commOptions }; return ret; } [Route("api/EmployeeCommuting/Save/{LCAID}/{Id}")] [HttpPost] public object Save(int LCAID, int Id, EmployeeCommutingViewModel toBeSave) { int dbId = 0; if (!ModelState.IsValid) return BadRequest(); if (Id != toBeSave.Id || LCAID != toBeSave.LCAID) return BadRequest(); try { toBeSave.LCAID = LCAID; toBeSave.ModifiedBy = userNm; dbId = empCommutService.SaveEmployeeCommuting(toBeSave); } catch (Exception ex) { return Json(new { Success = false, Msg = ex.Message.ToString() }); } if (dbId == 0) throw new Exception("儲存失敗"); else { var query = empCommutService.GetByLCAID(LCAID).Where(x => x.Id == dbId); return query.ToList().First(); } } [Route("api/EmployeeCommuting/SaveAll/{LCAID}")] [HttpPost] public object SaveAll(int LCAID, List toBeSave) { string errMsg = ""; try { if (!ModelState.IsValid) throw new Exception("Model Invalid"); string exlErr = empCommutService.ExlDataCk(toBeSave); if (!string.IsNullOrWhiteSpace(exlErr)) throw new Exception(exlErr); var exlDatas = empCommutService.GetExlData(toBeSave, LCAID, userNm); if (exlDatas != null && exlDatas.Count() > 0) empCommutService.SaveToDb(exlDatas); } catch (Exception ex) { errMsg = ex.Message; } return new { ErrMsg = errMsg }; } [Route("api/EmployeeCommuting/QuoteSaveAll/{LCAID}")] [HttpPost] public object QuoteSaveAll(int LCAID, List toBeSave) { string errMsg = ""; try { if (!ModelState.IsValid) throw new Exception("Model Invalid"); if (toBeSave != null && toBeSave.Count() > 0) empCommutService.SaveToDb(toBeSave); } catch (Exception ex) { errMsg = ex.Message; } return new { ErrMsg = errMsg }; } [Route("api/EmployeeCommuting/Delete/{ID}")] [HttpDelete] public IHttpActionResult Delete(int ID) { try { empCommutService.DelEmployeeCommuting(ID); return Ok(); } catch (Exception ex) { return BadRequest(); } } } }