コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
                }
            }
        }
コード例 #4
0
        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);
        }