Пример #1
0
        public async void Save()
        {
            if (!CanSave)
            {
                Helper.Notify("模块信息验证失败", NotificationType.Warning);
                return;
            }

            for (int i = 0; i < Modules.Count; i++)
            {
                Modules[i].Order = i + 1;
            }

            CodeModuleInputDto[] dtos   = Modules.Select(m => m.MapTo <CodeModuleInputDto>()).ToArray();
            OperationResult      result = null;
            await _provider.ExecuteScopedWorkAsync(async provider =>
            {
                IDataContract contract = provider.GetRequiredService <IDataContract>();
                result = await contract.UpdateCodeModules(dtos);
            });

            Helper.Notify(result);
            if (!result.Succeeded)
            {
                return;
            }
            Init();
        }
Пример #2
0
        private static async Task <CodeModule> GetOrAddModule(IDataContract contract, Guid projectId, CodeModule mod)
        {
            CodeModule module = contract.CodeModules.FirstOrDefault(m => m.ProjectId == projectId && m.Name == mod.Name && m.Display == mod.Display);

            if (module != null)
            {
                return(module);
            }

            CodeModuleInputDto dto = new CodeModuleInputDto()
            {
                Name      = mod.Name,
                Display   = mod.Display ?? mod.Name,
                Icon      = mod.Icon,
                ProjectId = projectId
            };
            await contract.UpdateCodeModules(dto);

            module = contract.CodeModules.First(m => m.ProjectId == projectId && m.Name == mod.Name && m.Display == mod.Display);

            return(module);
        }