コード例 #1
0
        public async Task <IActionResult> Create(MenuEditViewModel model)
        {
            var request = new UpdateMenuRequest
            {
                DisplayOrder   = model.DisplayOrder.GetValueOrDefault(),
                Icon           = model.Icon,
                Title          = model.Title,
                Url            = model.Url,
                IsOpenInNewTab = model.IsOpenInNewTab
            };

            if (null != model.SubMenus)
            {
                var subMenuRequests = model.SubMenus
                                      .Select(p => new UpdateSubMenuRequest
                {
                    Title          = p.Title,
                    Url            = p.Url,
                    IsOpenInNewTab = p.IsOpenInNewTab
                }).ToArray();

                request.SubMenus = subMenuRequests;
            }

            var response = await _menuService.CreateAsync(request);

            return(Ok(response));
        }
コード例 #2
0
        public IActionResult Update(long brandId, long menuId, UpdateMenuRequest request)
        {
            try
            {
                //var foundBrand = _serviceUow.BrandService.GetBrandById(brandId);
                var isBrandExist = _serviceUow.BrandService.Exists(brandId);
                if (!isBrandExist)
                {
                    return(NotFound("Brand could not be found."));
                }

                //var foundMenu = _serviceUow.MenuService.GetMenuById(menuId);
                var isMenuExist = _serviceUow.MenuService.Exists(menuId);
                if (!isMenuExist)
                {
                    return(NotFound("Menu could not be found."));
                }
                var updated = _serviceUow.MenuService.UpdateMenuByBrand(brandId, menuId, request);
                var result  = Mapper.Map <MenuDTO>(updated);
                result.Photo = updated.Photo?.Split(";");

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #3
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ApiResult <string> > UpdateAsync(UpdateMenuRequest request)
        {
            return(await ExecuteResultAsync(async query =>
            {
                var rsp = new ApiResult <string>();
                var entity = await query.FirstOrDefaultAsync(p => p.Id == request.Id);
                if (entity == null)
                {
                    rsp.Message = "找不到要修改的信息.";
                    return rsp;
                }

                entity.ParentId = request.ParentId;
                entity.Name = request.Name;
                entity.Path = request.Path;
                entity.Sort = request.Sort;
                entity.Status = request.Status;
                entity.IsInside = request.IsInside;
                // 修改
                RegisterDirty(entity);
                // 提交
                var flag = await CommitAsync();

                rsp.Message = flag ? "更新成功" : "更新失败";
                rsp.Success = flag;
                rsp.Data = entity.Id;
                return rsp;
            }));
        }
コード例 #4
0
        public async Task <IActionResult> Update([FromRoute] string MealId, [FromBody] UpdateMenuRequest request)
        {
            var menu = await _menuService.GetMenuByIdAsync(MealId);

            menu.id = request.id;


            /*  menu.MealId = request.MealId;
             * menu.Name = request.Name;
             * menu.MaterialGroup = request.MaterialGroup;
             * menu.CreationDate = request.CreationDate;
             * menu.Discounted = request.Discounted;
             * menu.Price = request.Price;
             * menu.Description = request.Description;
             * menu.changeable = request.changeable; */

            var updated = await _menuService.UpdateMenuAsync(menu);

            if (updated)
            {
                return(Ok(new Response <MenuResponse>(_mapper.Map <MenuResponse>(menu))));
            }

            return(NotFound());
        }
コード例 #5
0
ファイル: MenuController.cs プロジェクト: hueifeng/Moonglade
        public async Task <IActionResult> Create(MenuEditViewModel model)
        {
            var request = new UpdateMenuRequest
            {
                DisplayOrder   = model.DisplayOrder,
                Icon           = model.Icon,
                Title          = model.Title,
                Url            = model.Url,
                IsOpenInNewTab = model.IsOpenInNewTab
            };

            var response = await _menuService.CreateAsync(request);

            return(Ok(response));
        }
コード例 #6
0
        public async Task <IActionResult> UpdateMenu([FromRoute][Required] Guid id, [FromBody] UpdateMenuRequest body)
        {
            // NOTE: Please ensure the API returns the response codes annotated above

            await commandHandler.HandleAsync(
                new UpdateMenu()
            {
                MenuId      = id,
                Name        = body.Name,
                Description = body.Description,
                Enabled     = body.Enabled
            });

            return(StatusCode(204));
        }
コード例 #7
0
ファイル: MenuController.cs プロジェクト: hueifeng/Moonglade
        public async Task <IActionResult> Edit(MenuEditViewModel model)
        {
            var request = new UpdateMenuRequest
            {
                Title          = model.Title,
                DisplayOrder   = model.DisplayOrder,
                Icon           = model.Icon,
                Url            = model.Url,
                IsOpenInNewTab = model.IsOpenInNewTab
            };

            await _menuService.UpdateAsync(model.Id, request);

            return(Ok());
        }
コード例 #8
0
ファイル: MenuService.cs プロジェクト: yhsantosa/Pear
        public UpdateMenuResponse Update(UpdateMenuRequest request)
        {
            var response = new UpdateMenuResponse();

            try
            {
                var menu = request.MapTo <Data.Entities.Menu>();
                var item = DataContext.Entry(menu);

                item.State = EntityState.Modified;
                //Load RoleGroups Collection
                item.Collection("RoleGroups").Load();

                //set IsRoot if no menu as parent
                menu.IsRoot   = request.ParentId <= 0;
                menu.ParentId = menu.IsRoot ? null : menu.ParentId;
                //clear RoleGroups collection first
                menu.RoleGroups.Clear();

                if (request.RoleGroupIds.Count > 0)
                {
                    //menu.RoleGroups = new HashSet<Data.Entities.RoleGroup>();

                    foreach (int roleGroupId in request.RoleGroupIds)
                    {
                        var roleGroup = DataContext.RoleGroups.Find(roleGroupId);

                        //add selected role group to menu
                        menu.RoleGroups.Add(roleGroup);
                    }
                }

                //ensure url end with slash
                menu.Url = menu.Url != null && menu.Url.Length > 0 ? _CleanUpMenuUrl(menu.Url) : menu.Url;

                //DataContext.Menus.Attach(menu);
                //DataContext.Entry(menu).State = EntityState.Modified;
                DataContext.SaveChanges();
                response.IsSuccess = true;
                response.Message   = "Menu item has been updated successfully";
            }
            catch (DbUpdateException dbUpdateException)
            {
                response.Message = dbUpdateException.Message;
            }

            return(response);
        }
コード例 #9
0
        public IActionResult Update(long id, UpdateMenuRequest request)
        {
            try
            {
                var found = _serviceUow.MenuService.GetMenuById(id);
                if (found == null)
                {
                    return(NotFound("Menu could not be found."));
                }

                var updated = _serviceUow.MenuService.UpdateMenu(Mapper.Map <Menu>(request));
                var result  = Mapper.Map <MenuDTO>(updated);
                result.Photo = updated.Photo?.Split(";").ToArray();

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
コード例 #10
0
        public Response <Menu> UpdateMenu(UpdateMenuRequest request)
        {
            var menuQuery = _context.Menu.Where(w => w.Id == request.Id);

            if (menuQuery.FirstOrDefault() == null)
            {
                return(new Response <Menu>()
                {
                    Status = System.Net.HttpStatusCode.NoContent,
                    Message = "Id Not found"
                });
            }
            ;

            var menu = menuQuery.FirstOrDefault();

            menu.MenuName   = request.MenuName;
            menu.Price      = request.Price;
            menu.CategoryId = request.CategoryId;

            _context.Entry(menu).State = EntityState.Modified;
            _context.SaveChanges();
            return(new Response <Menu>());
        }
コード例 #11
0
 private void btnSubmit_Click(object sender, System.EventArgs e)
 {
     if (string.IsNullOrEmpty(SettingsManager.GetMasterSettings(false).AliOHAppId))
     {
         base.Response.Write("<script>alert('您的服务号配置存在问题,请您先检查配置!');location.href='AliOHServerConfig.aspx'</script>");
     }
     else
     {
         IList <MenuInfo> initMenus = VShopHelper.GetInitMenus(ClientType.AliOH);
         List <Hishop.Alipay.OpenHome.Model.Button> list2 = new List <Hishop.Alipay.OpenHome.Model.Button>();
         foreach (MenuInfo info in initMenus)
         {
             if ((info.Chilren == null) || (info.Chilren.Count == 0))
             {
                 Hishop.Alipay.OpenHome.Model.Button item = new Hishop.Alipay.OpenHome.Model.Button
                 {
                     name        = info.Name,
                     actionParam = string.IsNullOrEmpty(info.Url) ? "http://javasript:;" : info.Url,
                     actionType  = info.Type
                 };
                 list2.Add(item);
             }
             else
             {
                 Hishop.Alipay.OpenHome.Model.Button button2 = new Hishop.Alipay.OpenHome.Model.Button
                 {
                     name = info.Name
                 };
                 List <Hishop.Alipay.OpenHome.Model.Button> list3 = new List <Hishop.Alipay.OpenHome.Model.Button>();
                 foreach (MenuInfo info2 in info.Chilren)
                 {
                     Hishop.Alipay.OpenHome.Model.Button button3 = new Hishop.Alipay.OpenHome.Model.Button
                     {
                         name        = info2.Name,
                         actionParam = string.IsNullOrEmpty(info2.Url) ? "http://javasript:;" : info2.Url,
                         actionType  = info2.Type
                     };
                     list3.Add(button3);
                 }
                 button2.subButton = list3;
                 list2.Add(button2);
             }
         }
         Hishop.Alipay.OpenHome.Model.Menu menu = new Hishop.Alipay.OpenHome.Model.Menu
         {
             button = list2
         };
         AlipayOHClient client = AliOHClientHelper.Instance(base.Server.MapPath("~/"));
         bool           flag   = false;
         try
         {
             AddMenuRequest request = new AddMenuRequest(menu);
             client.Execute <MenuAddResponse>(request);
             this.ShowMsg("保存到服务窗成功!", true);
             flag = true;
         }
         catch (AliResponseException)
         {
         }
         catch (Exception exception)
         {
             this.ShowMsg("保存到服务窗失败,失败原因:" + exception.Message, false);
             flag = true;
         }
         if (!flag)
         {
             try
             {
                 UpdateMenuRequest request2 = new UpdateMenuRequest(menu);
                 client.Execute <MenuUpdateResponse>(request2);
                 this.ShowMsg("保存到服务窗成功!", true);
             }
             catch (Exception exception2)
             {
                 this.ShowMsg("保存到服务窗失败,失败原因:" + exception2.Message, false);
             }
         }
     }
 }
コード例 #12
0
ファイル: ManageMenu.cs プロジェクト: spiltservice/cloudshop
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            SiteSettings masterSettings = SettingsManager.GetMasterSettings();

            if (string.IsNullOrEmpty(masterSettings.AliOHAppId))
            {
                base.Response.Write("<script>alert('您的服务号配置存在问题,请您先检查配置!');location.href='AliOHServerConfig.aspx'</script>");
            }
            else
            {
                IList <MenuInfo> initMenus = VShopHelper.GetInitMenus(ClientType.AliOH);
                List <Hishop.Alipay.OpenHome.Model.Button> list = new List <Hishop.Alipay.OpenHome.Model.Button>();
                foreach (MenuInfo item in initMenus)
                {
                    if (item.Chilren == null || item.Chilren.Count == 0)
                    {
                        list.Add(new Hishop.Alipay.OpenHome.Model.Button
                        {
                            name        = item.Name,
                            actionParam = (string.IsNullOrEmpty(item.Url) ? "http://javasript:;" : item.Url),
                            actionType  = item.Type
                        });
                    }
                    else
                    {
                        Hishop.Alipay.OpenHome.Model.Button button = new Hishop.Alipay.OpenHome.Model.Button
                        {
                            name = item.Name
                        };
                        List <Hishop.Alipay.OpenHome.Model.Button> list2 = new List <Hishop.Alipay.OpenHome.Model.Button>();
                        foreach (MenuInfo item2 in item.Chilren)
                        {
                            list2.Add(new Hishop.Alipay.OpenHome.Model.Button
                            {
                                name        = item2.Name,
                                actionParam = (string.IsNullOrEmpty(item2.Url) ? "http://javasript:;" : item2.Url),
                                actionType  = item2.Type
                            });
                        }
                        button.subButton = list2;
                        list.Add(button);
                    }
                }
                Hishop.Alipay.OpenHome.Model.Menu menu = new Hishop.Alipay.OpenHome.Model.Menu
                {
                    button = list
                };
                AlipayOHClient alipayOHClient = AliOHClientHelper.Instance(base.Server.MapPath("~/"));
                bool           flag           = false;
                try
                {
                    AddMenuRequest  request         = new AddMenuRequest(menu);
                    MenuAddResponse menuAddResponse = alipayOHClient.Execute <MenuAddResponse>(request);
                    this.ShowMsg("保存到生活号(原支付宝服务窗)成功!", true);
                    flag = true;
                }
                catch (AliResponseException ex)
                {
                    Globals.WriteExceptionLog_Page(ex, this.pageparam, "AliohMenuSave");
                }
                catch (Exception ex2)
                {
                    this.ShowMsg("保存到生活号失败,失败原因:" + ex2.Message, false);
                    flag = true;
                    Globals.WriteExceptionLog_Page(ex2, this.pageparam, "AliohMenuSave");
                }
                if (!flag)
                {
                    try
                    {
                        UpdateMenuRequest  request2           = new UpdateMenuRequest(menu);
                        MenuUpdateResponse menuUpdateResponse = alipayOHClient.Execute <MenuUpdateResponse>(request2);
                        this.ShowMsg("保存到生活号成功!", true);
                    }
                    catch (Exception ex3)
                    {
                        this.ShowMsg("保存到生活号失败,失败原因:" + ex3.Message, false);
                        Globals.WriteExceptionLog_Page(ex3, this.pageparam, "AliohMenuSave");
                    }
                }
            }
        }
コード例 #13
0
        private void btnSubmit_Click(object sender, System.EventArgs e)
        {
            SiteSettings masterSettings = SettingsManager.GetMasterSettings(false);

            if (string.IsNullOrEmpty(masterSettings.AliOHAppId))
            {
                base.Response.Write("<script>alert('您的服务号配置存在问题,请您先检查配置!');location.href='AliOHServerConfig.aspx'</script>");
                return;
            }
            System.Collections.Generic.IList <MenuInfo> initMenus = VShopHelper.GetInitMenus(ClientType.AliOH);
            System.Collections.Generic.List <Ecdev.Alipay.OpenHome.Model.Button> list = new System.Collections.Generic.List <Ecdev.Alipay.OpenHome.Model.Button>();
            foreach (MenuInfo current in initMenus)
            {
                if (current.Chilren == null || current.Chilren.Count == 0)
                {
                    list.Add(new Ecdev.Alipay.OpenHome.Model.Button
                    {
                        name        = current.Name,
                        actionParam = string.IsNullOrEmpty(current.Url) ? "http://javasript:;" : current.Url,
                        actionType  = current.Type
                    });
                }
                else
                {
                    Ecdev.Alipay.OpenHome.Model.Button button = new Ecdev.Alipay.OpenHome.Model.Button
                    {
                        name = current.Name
                    };
                    System.Collections.Generic.List <Ecdev.Alipay.OpenHome.Model.Button> list2 = new System.Collections.Generic.List <Ecdev.Alipay.OpenHome.Model.Button>();
                    foreach (MenuInfo current2 in current.Chilren)
                    {
                        list2.Add(new Ecdev.Alipay.OpenHome.Model.Button
                        {
                            name        = current2.Name,
                            actionParam = string.IsNullOrEmpty(current2.Url) ? "http://javasript:;" : current2.Url,
                            actionType  = current2.Type
                        });
                    }
                    button.subButton = list2;
                    list.Add(button);
                }
            }
            Ecdev.Alipay.OpenHome.Model.Menu menu = new Ecdev.Alipay.OpenHome.Model.Menu
            {
                button = list
            };
            AlipayOHClient alipayOHClient = AliOHClientHelper.Instance(base.Server.MapPath("~/"));
            bool           flag           = false;

            try
            {
                AddMenuRequest request = new AddMenuRequest(menu);
                alipayOHClient.Execute <MenuAddResponse>(request);
                this.ShowMsg("保存到服务窗成功!", true);
                flag = true;
            }
            catch (AliResponseException)
            {
            }
            catch (System.Exception ex)
            {
                this.ShowMsg("保存到服务窗失败,失败原因:" + ex.Message, false);
                flag = true;
            }
            if (!flag)
            {
                try
                {
                    UpdateMenuRequest request2 = new UpdateMenuRequest(menu);
                    alipayOHClient.Execute <MenuUpdateResponse>(request2);
                    this.ShowMsg("保存到服务窗成功!", true);
                }
                catch (System.Exception ex2)
                {
                    this.ShowMsg("保存到服务窗失败,失败原因:" + ex2.Message, false);
                }
            }
        }
コード例 #14
0
 public Response <Menu> UpdateMenu([FromBody] UpdateMenuRequest request)
 {
     return(_menuApplicationService.UpdateMenu(request));
 }
コード例 #15
0
ファイル: MenuController.cs プロジェクト: keepteamv/yunzhi
 public async Task <ApiResult <string> > Update([FromBody] UpdateMenuRequest request)
 {
     return(await _menuService.UpdateAsync(request));
 }
コード例 #16
0
 public async Task <ActionResult> Update([FromBody] UpdateMenuRequest command)
 {
     return(await base.Command <UpdateMenuRequest, ICollection <MenuDto> >(command));
 }
コード例 #17
0
        public Menu UpdateMenuByBrand(long brandId, long menuId, UpdateMenuRequest request)
        {
            using (var scope = new TransactionScope())
            {
                var menuToUpdate = _opfcUow.MenuRepository.GetMenuById(menuId);
                menuToUpdate.MenuName      = request.MenuName;
                menuToUpdate.Description   = request.Description;
                menuToUpdate.Price         = request.Price;
                menuToUpdate.ServingNumber = request.ServingNumber;
                menuToUpdate.Photo         = (request.Photos != null && request.Photos.Count > 0) ? string.Join(";", request.Photos) : null;

                var updated = _opfcUow.MenuRepository.UpdateMenu(menuToUpdate);

                // MenuMeal
                var oldMenuMealList = _opfcUow.MenuMealRepository
                                      .GetAll()
                                      .Where(mm => mm.MenuId == updated.Id)
                                      .ToList();
                _opfcUow.MenuMealRepository.RemoveRange(oldMenuMealList);

                var mealIds         = request.MealIds.ToList();
                var newMenuMealList = mealIds?.Select(id => new MenuMeal {
                    MealId = id, MenuId = updated.Id
                }).ToList();

                if (newMenuMealList != null && (bool)newMenuMealList?.Any())
                {
                    _opfcUow.MenuMealRepository.CreateRange(newMenuMealList.ToList());
                }

                //MenuEventType
                var oldMenuEventTypeList = _opfcUow.MenuEventTypeRepository
                                           .GetAll()
                                           .Where(mm => mm.MenuId == updated.Id)
                                           .ToList();
                _opfcUow.MenuEventTypeRepository.RemoveRange(oldMenuEventTypeList);

                var eventTypeIds         = request.EventTypeIds;
                var newMenuEventTypeList = eventTypeIds?.Select(id => new MenuEventType {
                    EventTypeId = id, MenuId = updated.Id
                }).ToList();
                if (newMenuEventTypeList != null && (bool)newMenuEventTypeList?.Any())
                {
                    _opfcUow.MenuEventTypeRepository.CreateRange(newMenuEventTypeList);
                }
                //MenuCategory
                var oldMenuCategoryList = _opfcUow.MenuCategoryRepository
                                          .GetAll()
                                          .Where(mc => mc.MenuId == updated.Id)
                                          .ToList();
                _opfcUow.MenuCategoryRepository.RemoveRange(oldMenuCategoryList);

                var categoryIds = request.CategoryIds;
                if (categoryIds != null && categoryIds.Any())
                {
                    var newMenuCategoryList = categoryIds
                                              .Select(id => new MenuCategory {
                        MenuId = updated.Id, CategoryId = id
                    })
                                              .ToList();
                    _opfcUow.MenuCategoryRepository.CreateRange(newMenuCategoryList);
                }
                _opfcUow.Commit();

                scope.Complete();

                return(updated);
            }
        }