public JsonResult SavePositionTransfer(PositionTransferViewModel data) { ResponseData result = new Models.ResponseData(); if (data.MopID != 0) { result = new PositionTransferRepository().UpdateByEntity(data); } else { result = new PositionTransferRepository().AddByEntity(data); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public PositionTransferViewModel GetByID(int?id, int?type) { PositionTransferViewModel model = new PositionTransferViewModel(); try { using (SATEntities db = new SATEntities()) { if (id != null) { var data = db.tb_Move_Man_Power_Head.Where(x => x.MopID == id).FirstOrDefault(); PositionTransferViewModel head = new PositionTransferViewModel(); model.MopID = data.MopID; model.UserTID = data.UserTID; model.MtID = data.MtID; model.MopYear = data.MopYear; model.MopBookCmd = data.MopBookCmd; model.MopDateCmd = data.MopDateCmd; model.MopDateCmdText = data.MopDateCmd.HasValue ? data.MopDateCmd.Value.ToString("dd/MM/yyyy") : string.Empty; model.MopDateEffText = data.MopDateEff.HasValue ? data.MopDateEff.Value.ToString("dd/MM/yyyy") : string.Empty; model.MopSignatory = data.MopSignatory; model.MopPathFile = data.MopPathFile; model.MopStatus = data.MopStatus; var detail = GetDetail(model.MopID); model.ListDetail = detail; } else { model.MopYear = DateTime.Now.ToString("yyyy", new System.Globalization.CultureInfo("th-TH")).ToString(); } } } catch (Exception) { throw; } return(model); }
public ResponseData UpdateByEntity(PositionTransferViewModel newdata) { using (SATEntities db = new SATEntities()) { using (var transection = db.Database.BeginTransaction()) { ResponseData result = new Models.ResponseData(); try { if (newdata.fileUpload != null) { HttpPostedFileBase fileUpload = newdata.fileUpload; if (fileUpload != null && fileUpload.ContentLength > 0) { var fileName = Path.GetFileName(fileUpload.FileName); var fileExt = System.IO.Path.GetExtension(fileUpload.FileName).Substring(1); string directory = SysConfig.PathUploadPositionTransfer; bool isExists = System.IO.Directory.Exists(directory); if (!isExists) { System.IO.Directory.CreateDirectory(directory); } string newFileName = "คส.ที่ " + newdata.MopBookCmd + " เรื่องการโยกย้ายอัตรากำลังพล" + "." + fileExt; string fileLocation = Path.Combine(directory, newFileName); fileUpload.SaveAs(fileLocation); newdata.MopPathFile = newFileName; } } var head = db.tb_Move_Man_Power_Head.Single(x => x.MopID == newdata.MopID); head.UserTID = newdata.UserTID; head.MtID = newdata.MtID; head.MopYear = newdata.MopYear; head.MopBookCmd = newdata.MopBookCmd; if (!string.IsNullOrEmpty(newdata.MopDateCmdText)) { head.MopDateCmd = Convert.ToDateTime(newdata.MopDateCmdText); } if (!string.IsNullOrEmpty(newdata.MopDateEffText)) { head.MopDateEff = Convert.ToDateTime(newdata.MopDateEffText); } head.MopSignatory = newdata.MopSignatory; head.MopPathFile = newdata.MopPathFile; head.MopStatus = newdata.MopStatus; head.ModifyBy = UtilityService.User.UserID; head.ModifyDate = DateTime.Now; db.SaveChanges(); var listdelete = db.tb_Move_Man_Power_Detail.Where(x => x.MopID == newdata.MopID).ToList(); db.tb_Move_Man_Power_Detail.RemoveRange(listdelete); db.SaveChanges(); if (newdata.ListDetail != null) { foreach (var item in newdata.ListDetail) { tb_Move_Man_Power_Detail detail = new tb_Move_Man_Power_Detail(); detail.MopID = head.MopID; detail.UserID = item.UserID; detail.CurMpID = item.CurMpID; detail.MovMpID = item.MovMpID; detail.PoTID = item.AgentPoTID; detail.AgentMpID = item.AgentMpID; detail.MovRemark = item.MovRemark; detail.ModifyBy = UtilityService.User.UserID; detail.ModifyDate = DateTime.Now; db.tb_Move_Man_Power_Detail.Add(detail); db.SaveChanges(); } } transection.Commit(); } catch (Exception ex) { transection.Rollback(); result.MessageCode = ""; result.MessageText = ex.Message; } return(result); } } }
public PositionTransferResult GetPage(string filter, int?draw, int?initialPage, int?pageSize, string sortDir, string sortBy, int?userType) { PositionTransferResult result = new PositionTransferResult(); List <PositionTransferViewModel> list = new List <PositionTransferViewModel>(); try { using (SATEntities db = new SATEntities()) { var data = db.vw_Move_Man_Power_Head.ToList(); int recordsTotal = data.Count(); if (!string.IsNullOrEmpty(filter)) { data = data.Where(x => x.MopYear.Contains(filter) || x.EmpTName.Contains(filter) || x.MtName.Contains(filter) || x.MopBookCmd.Contains(filter)).ToList(); } int recordsFiltered = data.Count(); switch (sortBy) { case "MopYear": data = (sortDir == "asc") ? data.OrderBy(x => x.MopYear).ToList() : data.OrderByDescending(x => x.MopYear).ToList(); break; case "EmpTName": data = (sortDir == "asc") ? data.OrderBy(x => x.EmpTName).ToList() : data.OrderByDescending(x => x.EmpTName).ToList(); break; case "MtName": data = (sortDir == "asc") ? data.OrderBy(x => x.MtName).ToList() : data.OrderByDescending(x => x.MtName).ToList(); break; case "MopBookCmd": data = (sortDir == "asc") ? data.OrderBy(x => x.MopBookCmd).ToList() : data.OrderByDescending(x => x.MopBookCmd).ToList(); break; case "MopTotal": data = (sortDir == "asc") ? data.OrderBy(x => x.MopTotal).ToList() : data.OrderByDescending(x => x.MopTotal).ToList(); break; case "MopDateCmdText": data = (sortDir == "asc") ? data.OrderBy(x => x.MopDateCmd).ToList() : data.OrderByDescending(x => x.MopDateCmd).ToList(); break; case "MopStatusName": data = (sortDir == "asc") ? data.OrderBy(x => x.MopStatus).ToList() : data.OrderByDescending(x => x.MopStatus).ToList(); break; } int start = initialPage.HasValue ? (int)initialPage / (int)pageSize : 0; int length = pageSize ?? 10; int i = 1; foreach (var item in data) { PositionTransferViewModel model = new PositionTransferViewModel(); model.RowNumber = ++i; model.MopID = item.MopID; model.MopYear = item.MopYear; model.UserTName = item.EmpTName; model.MtName = item.MtName; model.MopBookCmd = item.MopBookCmd; model.MopTotal = item.MopTotal; model.MopDateCmdText = (item.MopDateCmd.HasValue) ? item.MopDateCmd.Value.ToString("dd/MM/yyy") : string.Empty; model.CreateDateText = item.CreateDate.Value.ToString("dd/MM/yyy"); model.MopStatusName = (item.MopStatus.HasValue) ? "ยืนยันแล้ว" : ""; model.recordsTotal = recordsTotal; model.recordsFiltered = recordsFiltered; list.Add(model); } } } catch (Exception) { throw; } result.draw = draw ?? 0; result.recordsTotal = list.Count() > 0 ? list[0].recordsTotal : 0; result.recordsFiltered = list.Count() > 0 ? list[0].recordsFiltered : 0; result.data = list; return(result); }