using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using QMAPP.Common.Web.Controllers; using QMFrameWork.WebUI.Attribute; using QMAPP.FJC.Web.Models.Basic; using QMFrameWork.Data; using QMAPP.FJC.Entity.Basic; using QMAPP.ServicesAgent; using QMAPP.KB.Entity; using QMFrameWork.WebUI.DataSource; using QMFrameWork.Common.Serialization; namespace QMAPP.FJC.Web.Controllers { public class CorpController : QController { #region 获取信息 /// <summary> /// 加载列表 /// </summary> /// <returns>结果</returns> [HandleException] public ActionResult List(bool? callback) { CorpModel seachModel = new CorpModel(); if (callback == true) TryGetSelectBuffer<CorpModel>(out seachModel); seachModel.rownumbers = false; seachModel.url = "/Corp/GetList"; return View("CorpList", seachModel); } #endregion #region 获取列表 /// <summary> /// 获取列表 /// </summary> /// <param name="callBack">是否回调</param> /// <returns>列表</returns> [HandleException] public ActionResult GetList(bool? callBack) { CorpModel seachModel = null; DataPage page = null; ServiceAgent wcfAgent = this.GetServiceAgent(); Corp condition = null; DataResult<DataPage> pageResult = new DataResult<DataPage>(); try { //获取查询对象 seachModel = GetModel<CorpModel>(); #region 获取缓存值 if (callBack != null) { TryGetSelectBuffer<CorpModel>(out seachModel); } else { //保存搜索条件 SetSelectBuffer<CorpModel>(seachModel); } #endregion //获取前台分页设置信息 page = this.GetDataPage(seachModel); condition = CopyToModel<Corp, CorpModel>(seachModel); #region wcf服务统一接口 //page = wcfAgent.InvokeServiceFunction<DataPage>("ProductBLL_GetMaterialDetail", condition, page); pageResult = wcfAgent.InvokeServiceFunction<DataResult<DataPage>>("CorpBLL_GetList", condition, page); if (pageResult.IsSuccess == false) { SetMessage(pageResult.Msg); return List(true); } DateGridResult<Corp> result = new DateGridResult<Corp>(); result.Total = pageResult.Result.RecordCount; result.Rows = JsonConvertHelper.GetDeserialize<List<Corp>>(pageResult.Result.Result.ToString()); #endregion return Content(result.GetJsonSource()); } catch (Exception ex) { throw ex; } } #endregion #region 编辑 /// <summary> /// 编辑载入 /// </summary> /// <returns>处理结果</returns> [HandleException] public ActionResult Edit() { CorpModel model = new CorpModel(); string ID = Request.Params["PID"]; Corp Entity = new Corp(); ServiceAgent wcfAgent = this.GetServiceAgent(); DataResult<Corp> result = new DataResult<Corp>(); try { if (string.IsNullOrEmpty(ID) == false) { //修改获取原数据 Entity.PID = ID; result = wcfAgent.InvokeServiceFunction<DataResult<Corp>>("CorpBLL_Get", Entity); if (result.IsSuccess == false) { SetMessage(result.Msg); return View("CorpEdit", model); } model = CopyToModel<CorpModel, Corp>(result.Result); } return View("CorpEdit", model); } catch (Exception ex) { throw ex; } } /// <summary> /// 保存 /// </summary> /// <param name="model"></param> /// <returns>处理结果</returns> [HttpPost] [HandleException] [ValidateInput(false)] public ActionResult Save(CorpModel saveModel) { Corp Entity = null; ServiceAgent wcfAgent = this.GetServiceAgent(); DataResult<int> result = new DataResult<int>(); try { Entity = CopyToModel<Corp, CorpModel>(saveModel); if (string.IsNullOrEmpty(Entity.PID) == true) { //新增 result = wcfAgent.InvokeServiceFunction<DataResult<int>>("CorpBLL_Insert", Entity); if (result.IsSuccess == false) { SetMessage("公司编码已存在!"); return View("CorpEdit", saveModel); } } else { //修改 result = wcfAgent.InvokeServiceFunction<DataResult<int>>("CorpBLL_Update", Entity); if (result.IsSuccess == false) { SetMessage("公司编码已存在!"); return View("CorpEdit", saveModel); } } return this.GetJsViewResult(string.Format("parent.List(1);parent.showTitle('{0}');parent.closeAppWindow1();", AppResource.SaveMessge)); } catch (Exception ex) { throw ex; } } #endregion #region 删除 /// <summary> /// 删除 /// </summary> /// <returns>结果</returns> [HttpPost] [HandleException] public ActionResult Delete(Corp model) { string selectKey = Request.Form["selectKey"]; ServiceAgent wcfAgent = this.GetServiceAgent(); DataResult<int> result = new DataResult<int>(); try { result = wcfAgent.InvokeServiceFunction<DataResult<int>>("CorpBLL_Delete", selectKey); if (result.IsSuccess == false) { SetMessage("信息有关联,删除失败!"); return List(true); } SetMessage(AppResource.DeleteMessage); return List(true); } catch (Exception ex) { throw ex; } } #endregion } }