Ejemplo n.º 1
0
 public void ActionApply(SysMenuModel model)
 {
     if (ValidSave(model))
     {
         ApplyRedirect(model.RecordID, item.ID);
     }
 }
Ejemplo n.º 2
0
 public void ActionSaveNew(SysMenuModel model)
 {
     if (ValidSave(model))
     {
         SaveNewRedirect(model.RecordID, item.ID);
     }
 }
Ejemplo n.º 3
0
 public void ActionSave(SysMenuModel model)
 {
     if (ValidSave(model))
     {
         SaveRedirect();
     }
 }
Ejemplo n.º 4
0
        public void ActionAdd(SysMenuModel model)
        {
            if (model.RecordID > 0)
            {
                item = WebMenuService.Instance.GetByID(model.RecordID);

                // khoi tao gia tri mac dinh khi update
            }
            else
            {
                item = new WebMenuEntity();

                // khoi tao gia tri mac dinh khi insert
                item.ParentID = model.ParentID;
                item.Activity = true;
                item.LangID   = model.LangID;
                item.Order    = GetMaxOrder(model);

                if (model.ParentID > 0)
                {
                    item.Type = WebMenuService.Instance.GetByID(model.ParentID).Type;
                }
                else
                {
                    item.Type = "News";
                }
            }

            model.ParentID_Save = item.ParentID;

            ViewBag.Data  = item;
            ViewBag.Model = model;
        }
Ejemplo n.º 5
0
 private int GetMaxOrder(SysMenuModel model)
 {
     return(WebMenuService.Instance.CreateQuery()
            .Where(o => o.LangID == model.LangID && o.ParentID == model.ParentID)
            .Max(o => o.Order)
            .ToValue().ToInt(0) + 1);
 }
Ejemplo n.º 6
0
        public void ActionIndex(SysMenuModel model)
        {
            // sap xep tu dong
            string orderBy = AutoSort(model.Sort, "[Order]");

            // tao danh sach
            var dbQuery = WebMenuService.Instance.CreateQuery()
                          .Where(o => o.ParentID == model.ParentID && o.LangID == model.LangID)
                          .Take(model.PageSize)
                          .OrderBy(orderBy)
                          .Skip(model.PageIndex * model.PageSize);

            ViewBag.Data      = dbQuery.ToList();
            model.TotalRecord = dbQuery.TotalRecord;
            ViewBag.Model     = model;
        }
Ejemplo n.º 7
0
        private bool ValidSave(SysMenuModel model)
        {
            TryUpdateModel(item);

            ViewBag.Data  = item;
            ViewBag.Model = model;
            WebMenuEntity objWebMenuEntity_Parent = null;

            CPViewPage.Message.MessageType = Message.MessageTypeEnum.Error;

            //kiem tra ten
            if (item.Name.Trim() == string.Empty)
            {
                CPViewPage.Message.ListMessage.Add("Nhập tên chuyên mục.");
            }

            if (CPViewPage.Message.ListMessage.Count == 0)
            {
                // neu code khong duoc nhap -> tu dong tao ra khi them moi
                if (item.Code == string.Empty)
                {
                    item.Code = Data.GetCode(item.Name);
                }

                if (model.ModProductAreaId <= 0)
                {
                    item.ProductAreaId = null;
                }
                else
                {
                    item.ProductAreaId = model.ModProductAreaId;
                }

                try
                {
                    //neu di chuyen thi cap nhat lai Type va Order
                    if (model.RecordID > 0 && item.ParentID != model.ParentID_Save) // !=model.ParentID
                    {
                        // cap nhat Type
                        if (item.ParentID != 0)
                        {
                            objWebMenuEntity_Parent = WebMenuService.Instance.GetByID(item.ParentID);

                            // Nếu thay đổi Cha ==> Cập nhật lại mã phân cấp
                            if (item.ParentCode != objWebMenuEntity_Parent.CurrentCode)
                            {
                                string sMaPhanCapCu  = item.CurrentCode;
                                string sMaPhanCapMoi = LayMaPhanCap(objWebMenuEntity_Parent.CurrentCode);

                                // Lấy cha mới
                                item.ParentCode = objWebMenuEntity_Parent.CurrentCode;

                                // Lấy mã phân cấp mới
                                item.CurrentCode = sMaPhanCapMoi;

                                // Cập nhật các mã phân cấp con (Nếu có)
                                CapNhatMaPhanCap(sMaPhanCapCu, sMaPhanCapMoi);
                            }

                            item.Type = objWebMenuEntity_Parent.Type;
                        }

                        // Bắt buộc cha !=0 nên sẽ ko có else

                        //cap nhat Order
                        item.Order = GetMaxOrder(model);
                    }
                    else
                    // Tạo mới
                    if (model.RecordID <= 0)
                    {
                        // Nếu Thêm mới ==> Sinh mã phân cấp
                        if (item.ParentID <= 0)
                        {
                            item.CurrentCode = LayMaPhanCap("0");
                            item.ParentCode  = "0";
                        }
                        else
                        {
                            objWebMenuEntity_Parent = WebMenuService.Instance.GetByID(item.ParentID);
                            item.CurrentCode        = LayMaPhanCap(objWebMenuEntity_Parent.CurrentCode);
                            item.ParentCode         = objWebMenuEntity_Parent.CurrentCode;
                        }
                    }

                    //save
                    WebMenuService.Instance.Save(item);


                    //neu di chuyen thi cap nhat lai Type cua chuyen muc con
                    // Comment by CanTV
                    //if (model.RecordID > 0 && item.ParentID != model.ParentID && item.ParentID != 0)
                    if (model.RecordID > 0 && item.ParentID != model.ParentID_Save && model.ParentID_Save != 0)
                    {
                        // lay danh sach chuyen muc con
                        List <int> list = new List <int>();
                        GetMenuIDChild(ref list, model.RecordID);

                        //cap nhat Type cho danh sach chuyen muc con
                        if (list.Count > 1)
                        {
                            WebMenuService.Instance.Update("[ID] IN (" + VSW.Core.Global.Array.ToString(list.ToArray()) + ")",
                                                           "@Type", WebMenuService.Instance.GetByID(item.ParentID).Type);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Global.Error.Write(ex);
                    CPViewPage.Message.ListMessage.Add(ex.Message);
                    return(false);
                }

                return(true);
            }

            return(false);
        }