示例#1
0
        public ActionResult Edit(int?areaId)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Edit Area").Add("areaId", areaId).ToInputLogString());

            if (areaId.HasValue)
            {
                var areaVM = new AreaEditViewModel();
                _areaFacade = new AreaFacade();

                //get area section
                AreaItemEntity areaItemEntity = _areaFacade.GetArea(areaId.Value);
                areaVM.AreaId            = areaItemEntity.AreaId;
                areaVM.txtAreaName       = areaItemEntity.AreaName;
                areaVM.AreaCode          = areaItemEntity.AreaCode;
                areaVM.txtCreateUser     = areaItemEntity.CreateUser != null ? areaItemEntity.CreateUser.FullName : "";
                areaVM.txtUpdateUser     = areaItemEntity.UpdateUser != null ? areaItemEntity.UpdateUser.FullName : "";
                areaVM.txtCreateDateTime = DateUtil.ToStringAsDateTime(areaItemEntity.CreateDate);
                areaVM.txtUpdateDateTime = DateUtil.ToStringAsDateTime(areaItemEntity.UpdateDate);
                areaVM.txtUpdateUser     = areaItemEntity.UpdateDate.HasValue ? DateUtil.ToStringAsDateTime(areaItemEntity.UpdateDate) : "";

                areaVM.selectStatus = areaItemEntity.Status;
                areaVM.StatusList   = new List <SelectListItem>();

                areaVM.StatusList.Add(new SelectListItem()
                {
                    Text = "Active", Value = "true"
                });
                areaVM.StatusList.Add(new SelectListItem()
                {
                    Text = "Inactive", Value = "false"
                });

                areaVM.SubAreaSearchFilter = new SelectSubAreaSearchFilter
                {
                    SubAreaName   = string.Empty,
                    SubAreaIdList = string.Empty,
                    PageNo        = 1,
                    PageSize      = 15,
                    SortField     = "SubAreaName",
                    SortOrder     = "ASC"
                };

                areaVM.SelectSearchFilter = new SelectSubAreaSearchFilter
                {
                    PageNo    = 1,
                    PageSize  = 15,
                    SortField = "SubAreaName",
                    SortOrder = "ASC"
                };

                ViewBag.PageSize = areaVM.SubAreaSearchFilter.PageSize;
                ViewBag.Message  = string.Empty;
                return(View(areaVM));
            }

            return(View("Create"));
        }
示例#2
0
        public JsonResult SaveArea(AreaSaveViewModel model, string idSubAreas)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Save Area").Add("IdSubAreas", idSubAreas).Add("AreaName", model.AreaName).ToInputLogString());

            try
            {
                if (ModelState.IsValid)
                {
                    _areaFacade = new AreaFacade();

                    //validate area name
                    var isValidate = _areaFacade.ValidateAreaName(model.AreaId, model.AreaName);

                    if (!isValidate)
                    {
                        return(Json(new { is_success = false, message = Resource.Error_SaveFailedDuplicate }));
                    }

                    AreaItemEntity areaEntity = new AreaItemEntity
                    {
                        AreaId   = model.AreaId,
                        AreaName = model.AreaName,
                        AreaCode = model.AreaCode,
                        Status   = model.Status,
                        UserId   = UserInfo.UserId
                    };

                    var isSuccess = _areaFacade.SaveArea(areaEntity, idSubAreas);
                    return(isSuccess ? Json(new { is_success = true, message = "บันทึก Area สำเร็จ" }) : Json(new { is_success = false, message = "บันทึก Area ไม่สำเร็จ" }));
                }

                return(Json(new
                {
                    is_success = false,
                    message = string.Empty
                }));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Save Area").Add("Error Message", ex.Message).ToFailLogString());
                return(Json(new { is_success = false, message = string.Format(CultureInfo.InvariantCulture, "Error : {0}", ex.Message) }));
            }
        }
示例#3
0
        public bool SaveArea(AreaItemEntity areaItemEntity, string idSubAreas)
        {
            _context.Configuration.AutoDetectChangesEnabled = false;

            try
            {
                var       isEdit = areaItemEntity.AreaId.HasValue;
                TB_M_AREA area;

                if (!isEdit)
                {
                    //add
                    area           = new TB_M_AREA();
                    area.AREA_CODE = GetNextAreaCode();
                }
                else
                {
                    area = _context.TB_M_AREA.SingleOrDefault(a => a.AREA_ID == areaItemEntity.AreaId.Value);
                    if (area == null)
                    {
                        Logger.ErrorFormat("SUBAREA ID: {0} does not exist", areaItemEntity.AreaId);
                        return(false);
                    }
                }

                area.AREA_NAME = areaItemEntity.AreaName;
                //area.AREA_CODE = Convert.ToDecimal(areaItemEntity.AreaCode);
                area.AREA_IS_ACTIVE = areaItemEntity.Status;
                area.UPDATE_USER    = areaItemEntity.UserId;
                area.UPDATE_DATE    = DateTime.Now;

                if (!isEdit)
                {
                    area.CREATE_USER = areaItemEntity.UserId;
                    area.CREATE_DATE = DateTime.Now;
                    _context.TB_M_AREA.Add(area);
                    this.Save();

                    //save area_subarea
                    if (!string.IsNullOrEmpty(idSubAreas))
                    {
                        string[] idSubAreasArray = idSubAreas.Split(',');

                        foreach (var idSubArea in idSubAreasArray)
                        {
                            var areaSubArea = new TB_M_AREA_SUBAREA();
                            areaSubArea.AREA_ID     = area.AREA_ID;
                            areaSubArea.SUBAREA_ID  = Convert.ToInt32(idSubArea, CultureInfo.InvariantCulture);
                            areaSubArea.CREATE_USER = areaItemEntity.UserId;
                            areaSubArea.CREATE_DATE = DateTime.Now;
                            _context.TB_M_AREA_SUBAREA.Add(areaSubArea);
                            Save();
                        }
                    }
                }
                else
                {
                    SetEntryStateModified(area);

                    //delete area_subarea
                    var areaSubAreaList = _context.TB_M_AREA_SUBAREA.Where(a => a.AREA_ID == areaItemEntity.AreaId);
                    foreach (var areaSubAreaItem in areaSubAreaList)
                    {
                        _context.TB_M_AREA_SUBAREA.Remove(areaSubAreaItem);
                    }
                    this.Save();

                    //update area_subarea
                    if (!string.IsNullOrEmpty(idSubAreas))
                    {
                        string[] idSubAreasArray = idSubAreas.Split(',');

                        foreach (var idSubArea in idSubAreasArray)
                        {
                            var areaSubArea = new TB_M_AREA_SUBAREA();
                            areaSubArea.AREA_ID     = area.AREA_ID;
                            areaSubArea.SUBAREA_ID  = Convert.ToInt32(idSubArea, CultureInfo.InvariantCulture);
                            areaSubArea.CREATE_USER = areaItemEntity.UserId;
                            areaSubArea.CREATE_DATE = DateTime.Now;
                            _context.TB_M_AREA_SUBAREA.Add(areaSubArea);
                            this.Save();
                        }
                    }
                }

                this.Save();

                return(true);
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                return(false);
            }
            finally
            {
                _context.Configuration.AutoDetectChangesEnabled = true;
            }
        }
示例#4
0
 public bool SaveArea(AreaItemEntity areaItemEntity, string idSubAreas)
 {
     _areaDataAccess = new AreaDataAccess(_context);
     return(_areaDataAccess.SaveArea(areaItemEntity, idSubAreas));
 }